summaryrefslogtreecommitdiff
path: root/src/mem/cache/cache.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/cache/cache.cc')
-rw-r--r--src/mem/cache/cache.cc16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc
index cbc0ed90a..c03b5b2a8 100644
--- a/src/mem/cache/cache.cc
+++ b/src/mem/cache/cache.cc
@@ -648,7 +648,7 @@ Cache::promoteWholeLineWrites(PacketPtr pkt)
}
}
-bool
+void
Cache::recvTimingReq(PacketPtr pkt)
{
DPRINTF(CacheTags, "%s tags:\n%s\n", __func__, tags->print());
@@ -660,7 +660,7 @@ Cache::recvTimingReq(PacketPtr pkt)
// @todo This should really enqueue the packet rather
bool M5_VAR_USED success = memSidePort->sendTimingReq(pkt);
assert(success);
- return true;
+ return;
}
promoteWholeLineWrites(pkt);
@@ -730,7 +730,7 @@ Cache::recvTimingReq(PacketPtr pkt)
// and we have already sent out any express snoops in the
// section above to ensure all other copies in the system are
// invalidated
- return true;
+ return;
}
// anything that is merely forwarded pays for the forward latency and
@@ -976,8 +976,6 @@ Cache::recvTimingReq(PacketPtr pkt)
if (next_pf_time != MaxTick)
schedMemSideSendEvent(next_pf_time);
-
- return true;
}
PacketPtr
@@ -2770,13 +2768,11 @@ Cache::CpuSidePort::recvTimingReq(PacketPtr pkt)
assert(!cache->system->bypassCaches());
// always let express snoop packets through if even if blocked
- if (pkt->isExpressSnoop()) {
- bool M5_VAR_USED bypass_success = cache->recvTimingReq(pkt);
- assert(bypass_success);
+ if (pkt->isExpressSnoop() || tryTiming(pkt)) {
+ cache->recvTimingReq(pkt);
return true;
}
-
- return tryTiming(pkt) && cache->recvTimingReq(pkt);
+ return false;
}
Tick