Devices: Allow a device to specify that a request is uncachable.

This commit is contained in:
Gene Wu 2010-08-23 11:18:41 -05:00
parent aa601750f8
commit 4b9de42439
2 changed files with 4 additions and 4 deletions

View file

@ -221,7 +221,7 @@ DmaPort::recvRetry()
void
DmaPort::dmaAction(Packet::Command cmd, Addr addr, int size, Event *event,
uint8_t *data, Tick delay)
uint8_t *data, Tick delay, Request::Flags flag)
{
assert(device->getState() == SimObject::Running);
@ -229,10 +229,10 @@ DmaPort::dmaAction(Packet::Command cmd, Addr addr, int size, Event *event,
DPRINTF(DMA, "Starting DMA for addr: %#x size: %d sched: %d\n", addr, size,
event->scheduled());
event ? event->scheduled() : -1 );
for (ChunkGenerator gen(addr, size, peerBlockSize());
!gen.done(); gen.next()) {
Request *req = new Request(gen.addr(), gen.size(), 0);
Request *req = new Request(gen.addr(), gen.size(), flag);
PacketPtr pkt = new Packet(req, cmd, Packet::Broadcast);
// Increment the data pointer on a write

View file

@ -155,7 +155,7 @@ class DmaPort : public Port
DmaPort(MemObject *dev, System *s, Tick min_backoff, Tick max_backoff);
void dmaAction(Packet::Command cmd, Addr addr, int size, Event *event,
uint8_t *data, Tick delay);
uint8_t *data, Tick delay, Request::Flags flag = 0);
bool dmaPending() { return pendingCount > 0; }