mem-cache: Move evictBlock(CacheBlk*, PacketList&) to base
Move evictBlock(CacheBlk*, PacketList&) to base cache, as it is both sub-classes implementations are equal. Change-Id: I80fbd16813bfcc4938fb01ed76abe29b3f8b3018 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/13656 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
committed by
Daniel Carvalho
parent
34efcae1b5
commit
0330c434e2
9
src/mem/cache/base.cc
vendored
9
src/mem/cache/base.cc
vendored
@@ -1310,6 +1310,15 @@ BaseCache::invalidateBlock(CacheBlk *blk)
|
||||
blk->invalidate();
|
||||
}
|
||||
|
||||
void
|
||||
BaseCache::evictBlock(CacheBlk *blk, PacketList &writebacks)
|
||||
{
|
||||
PacketPtr pkt = evictBlock(blk);
|
||||
if (pkt) {
|
||||
writebacks.push_back(pkt);
|
||||
}
|
||||
}
|
||||
|
||||
PacketPtr
|
||||
BaseCache::writebackBlk(CacheBlk *blk)
|
||||
{
|
||||
|
||||
2
src/mem/cache/base.hh
vendored
2
src/mem/cache/base.hh
vendored
@@ -705,7 +705,7 @@ class BaseCache : public MemObject
|
||||
* @param blk Block to invalidate
|
||||
* @param writebacks Return a list of packets with writebacks
|
||||
*/
|
||||
virtual void evictBlock(CacheBlk *blk, PacketList &writebacks) = 0;
|
||||
void evictBlock(CacheBlk *blk, PacketList &writebacks);
|
||||
|
||||
/**
|
||||
* Invalidate a cache block.
|
||||
|
||||
11
src/mem/cache/cache.cc
vendored
11
src/mem/cache/cache.cc
vendored
@@ -177,7 +177,7 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat,
|
||||
// flush and invalidate any existing block
|
||||
CacheBlk *old_blk(tags->findBlock(pkt->getAddr(), pkt->isSecure()));
|
||||
if (old_blk && old_blk->isValid()) {
|
||||
evictBlock(old_blk, writebacks);
|
||||
BaseCache::evictBlock(old_blk, writebacks);
|
||||
}
|
||||
|
||||
blk = nullptr;
|
||||
@@ -848,15 +848,6 @@ Cache::evictBlock(CacheBlk *blk)
|
||||
return pkt;
|
||||
}
|
||||
|
||||
void
|
||||
Cache::evictBlock(CacheBlk *blk, PacketList &writebacks)
|
||||
{
|
||||
PacketPtr pkt = evictBlock(blk);
|
||||
if (pkt) {
|
||||
writebacks.push_back(pkt);
|
||||
}
|
||||
}
|
||||
|
||||
PacketPtr
|
||||
Cache::cleanEvictBlk(CacheBlk *blk)
|
||||
{
|
||||
|
||||
2
src/mem/cache/cache.hh
vendored
2
src/mem/cache/cache.hh
vendored
@@ -141,8 +141,6 @@ class Cache : public BaseCache
|
||||
|
||||
M5_NODISCARD PacketPtr evictBlock(CacheBlk *blk) override;
|
||||
|
||||
void evictBlock(CacheBlk *blk, PacketList &writebacks) override;
|
||||
|
||||
/**
|
||||
* Create a CleanEvict request for the given block.
|
||||
*
|
||||
|
||||
9
src/mem/cache/noncoherent_cache.cc
vendored
9
src/mem/cache/noncoherent_cache.cc
vendored
@@ -357,15 +357,6 @@ NoncoherentCache::evictBlock(CacheBlk *blk)
|
||||
return pkt;
|
||||
}
|
||||
|
||||
void
|
||||
NoncoherentCache::evictBlock(CacheBlk *blk, PacketList &writebacks)
|
||||
{
|
||||
PacketPtr pkt = evictBlock(blk);
|
||||
if (pkt) {
|
||||
writebacks.push_back(pkt);
|
||||
}
|
||||
}
|
||||
|
||||
NoncoherentCache*
|
||||
NoncoherentCacheParams::create()
|
||||
{
|
||||
|
||||
2
src/mem/cache/noncoherent_cache.hh
vendored
2
src/mem/cache/noncoherent_cache.hh
vendored
@@ -125,8 +125,6 @@ class NoncoherentCache : public BaseCache
|
||||
|
||||
M5_NODISCARD PacketPtr evictBlock(CacheBlk *blk) override;
|
||||
|
||||
void evictBlock(CacheBlk *blk, PacketList &writebacks) override;
|
||||
|
||||
public:
|
||||
NoncoherentCache(const NoncoherentCacheParams *p);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user