summaryrefslogtreecommitdiff
path: root/src/mem/bus.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2007-07-15 20:11:06 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2007-07-15 20:11:06 -0700
commit884807a68ad7e4f390660b3becfe4ee094334e95 (patch)
tree4c7ceec3944234c8cd983c72308115df55450dc5 /src/mem/bus.cc
parentf790f34fe30aaca22b829104a8cf3f547624132a (diff)
downloadgem5-884807a68ad7e4f390660b3becfe4ee094334e95.tar.xz
Fix up a bunch of multilevel coherence issues.
Atomic mode seems to work. Timing is closer but not there yet. --HG-- extra : convert_revision : 0dea5c3d4b973d009e9d4a4c21b9cad15961d56f
Diffstat (limited to 'src/mem/bus.cc')
-rw-r--r--src/mem/bus.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
index 24a0c6f02..e70558bd6 100644
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -183,8 +183,9 @@ Bus::recvTiming(PacketPtr pkt)
// If the bus is busy, or other devices are in line ahead of the current
// one, put this device on the retry list.
- if (tickNextIdle > curTick ||
- (retryList.size() && (!inRetry || pktPort != retryList.front())))
+ if (!pkt->isExpressSnoop() &&
+ (tickNextIdle > curTick ||
+ (retryList.size() && (!inRetry || pktPort != retryList.front()))))
{
addToRetryList(pktPort);
DPRINTF(Bus, "recvTiming: Bus is busy, returning false\n");