Some more code cleanup
src/mem/cache/base_cache.cc:
Add sanity checks
src/mem/cache/base_cache.hh:
Fix for retry mechanism
--HG--
extra : convert_revision : 9298e32e64194b1ef3fe51242595eaa56dcbbcfd
This commit is contained in:
2
src/mem/cache/base_cache.cc
vendored
2
src/mem/cache/base_cache.cc
vendored
@@ -221,6 +221,7 @@ BaseCache::CacheEvent::process()
|
||||
}
|
||||
else if (!cachePort->isCpuSide)
|
||||
{
|
||||
assert(cachePort->cache->doMasterRequest());
|
||||
//MSHR
|
||||
pkt = cachePort->cache->getPacket();
|
||||
MSHR* mshr = (MSHR*) pkt->senderState;
|
||||
@@ -238,6 +239,7 @@ BaseCache::CacheEvent::process()
|
||||
}
|
||||
else
|
||||
{
|
||||
assert(cachePort->cache->doSlaveRequest());
|
||||
//CSHR
|
||||
pkt = cachePort->cache->getCoherencePacket();
|
||||
bool success = cachePort->sendTiming(pkt);
|
||||
|
||||
2
src/mem/cache/base_cache.hh
vendored
2
src/mem/cache/base_cache.hh
vendored
@@ -467,7 +467,7 @@ class BaseCache : public MemObject
|
||||
*/
|
||||
void setMasterRequest(RequestCause cause, Tick time)
|
||||
{
|
||||
if (!doMasterRequest() && memSidePort->drainList.empty())
|
||||
if (!doMasterRequest() && !memSidePort->waitingOnRetry)
|
||||
{
|
||||
BaseCache::CacheEvent * reqCpu = new BaseCache::CacheEvent(memSidePort);
|
||||
reqCpu->schedule(time);
|
||||
|
||||
Reference in New Issue
Block a user