}
}
-bool
+void
Cache::recvTimingReq(PacketPtr pkt)
{
DPRINTF(CacheTags, "%s tags:\n%s\n", __func__, tags->print());
// @todo This should really enqueue the packet rather
bool M5_VAR_USED success = memSidePort->sendTimingReq(pkt);
assert(success);
- return true;
+ return;
}
promoteWholeLineWrites(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
if (next_pf_time != MaxTick)
schedMemSideSendEvent(next_pf_time);
-
- return true;
}
PacketPtr
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
/**
* Performs the access specified by the request.
* @param pkt The request to perform.
- * @return The result of the access.
*/
- bool recvTimingReq(PacketPtr pkt);
+ void recvTimingReq(PacketPtr pkt);
/**
* Insert writebacks into the write buffer