summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-11-09 11:33:44 -0500
committerKevin Lim <ktlim@umich.edu>2006-11-09 11:33:44 -0500
commit0b0d5a282a25a936d4aa92ec81ef2bd50141ce03 (patch)
tree1bf75a956efa4df7a0297dd91da3efe1f7bca4c0 /src/mem
parent344f72dd62f6cc9ab8c7ab5454a320b2e5674a37 (diff)
downloadgem5-0b0d5a282a25a936d4aa92ec81ef2bd50141ce03.tar.xz
Draining fixes.
src/cpu/o3/cpu.cc: Handle draining properly when CPU isn't actually being used. src/cpu/simple/atomic.cc: Be sure to set status properly when draining. src/mem/bus.cc: Fix for draining. --HG-- extra : convert_revision : d9796e6693e974f022159029fc9743c49a970c8f
Diffstat (limited to 'src/mem')
-rw-r--r--src/mem/bus.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
index 7b65d252b..ae87d8099 100644
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -242,8 +242,11 @@ Bus::recvRetry(int id)
}
}
//If we weren't able to drain before, we might be able to now.
- if (drainEvent && retryList.size() == 0 && curTick >= tickNextIdle)
+ if (drainEvent && retryList.size() == 0 && curTick >= tickNextIdle) {
drainEvent->process();
+ // Clear the drain event once we're done with it.
+ drainEvent = NULL;
+ }
}
Port *