diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-07-13 15:50:09 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-07-13 15:50:09 -0400 |
commit | efc06d0545912f4589e86fe32deac98805786ee6 (patch) | |
tree | 7655d0f658e0582d9985551d193811d8525d1fbc /src/dev | |
parent | 1e4acb8e017ce81694c514af21ad817e9b1a078e (diff) | |
parent | e1b8e71500b7b66b115345eeaef7216617487456 (diff) | |
download | gem5-efc06d0545912f4589e86fe32deac98805786ee6.tar.xz |
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
src/python/m5/main.py:
merge two help fixes
--HG--
extra : convert_revision : b5c4a88bb84b726bebd3e357a4ef29acc0d95600
Diffstat (limited to 'src/dev')
-rw-r--r-- | src/dev/io_device.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dev/io_device.cc b/src/dev/io_device.cc index ed2862065..660efabfd 100644 --- a/src/dev/io_device.cc +++ b/src/dev/io_device.cc @@ -287,6 +287,7 @@ DmaPort::sendDma(Packet *pkt, bool front) // some kind of selction between access methods // more work is going to have to be done to make // switching actually work + System::MemoryMode state = sys->getMemoryMode(); if (state == System::Timing) { DPRINTF(DMA, "Attempting to send Packet %#x with addr: %#x\n", @@ -301,15 +302,15 @@ DmaPort::sendDma(Packet *pkt, bool front) DPRINTF(DMA, "-- Done\n"); } } else if (state == System::Atomic) { - sendAtomic(pkt); + Tick lat; + lat = sendAtomic(pkt); assert(pkt->senderState); DmaReqState *state = dynamic_cast<DmaReqState*>(pkt->senderState); assert(state); state->numBytes += pkt->req->getSize(); if (state->totBytes == state->numBytes) { - state->completionEvent->schedule(curTick + - (pkt->time - pkt->req->getTime()) +1); + state->completionEvent->schedule(curTick + lat); delete state; delete pkt->req; } |