diff options
Diffstat (limited to 'src/mem/cache/base.cc')
-rw-r--r-- | src/mem/cache/base.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc index dd1306270..2a285bf2f 100644 --- a/src/mem/cache/base.cc +++ b/src/mem/cache/base.cc @@ -106,13 +106,20 @@ BaseCache::CacheSlavePort::clearBlocked() DPRINTF(CachePort, "Cache port %s accepting new requests\n", name()); blocked = false; if (mustSendRetry) { - DPRINTF(CachePort, "Cache port %s sending retry\n", name()); - mustSendRetry = false; // @TODO: need to find a better time (next bus cycle?) owner.schedule(sendRetryEvent, curTick() + 1); } } +void +BaseCache::CacheSlavePort::processSendRetry() +{ + DPRINTF(CachePort, "Cache port %s sending retry\n", name()); + + // reset the flag and call retry + mustSendRetry = false; + sendRetry(); +} void BaseCache::init() |