diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-03-06 11:48:21 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-03-09 09:50:56 +0000 |
commit | ee16a95ec8a7f2d207320670a135065981033f61 (patch) | |
tree | 060c40d22e411bf198c279faadec2e1e895d9bfe /src/mem/cache/cache.cc | |
parent | a883aef55f2b9f33e60ce72a3e053e0c7af0f21e (diff) | |
download | gem5-ee16a95ec8a7f2d207320670a135065981033f61.tar.xz |
mem-cache: Use CacheBlk parameter on address regeneration
Skewed caches need to know the way to regenerate a block address.
Change-Id: I62c61ac9509eff2f37bad36862751956db7a6e40
Reviewed-on: https://gem5-review.googlesource.com/8782
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/cache.cc')
-rw-r--r-- | src/mem/cache/cache.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc index 7bf073419..85c96772c 100644 --- a/src/mem/cache/cache.cc +++ b/src/mem/cache/cache.cc @@ -1659,8 +1659,8 @@ Cache::writebackBlk(CacheBlk *blk) writebacks[Request::wbMasterId]++; - Request *req = new Request(tags->regenerateBlkAddr(blk->tag, blk->set), - blkSize, 0, Request::wbMasterId); + Request *req = new Request(tags->regenerateBlkAddr(blk), blkSize, 0, + Request::wbMasterId); if (blk->isSecure()) req->setFlags(Request::SECURE); @@ -1694,8 +1694,8 @@ Cache::writebackBlk(CacheBlk *blk) PacketPtr Cache::writecleanBlk(CacheBlk *blk, Request::Flags dest, PacketId id) { - Request *req = new Request(tags->regenerateBlkAddr(blk->tag, blk->set), - blkSize, 0, Request::wbMasterId); + Request *req = new Request(tags->regenerateBlkAddr(blk), blkSize, 0, + Request::wbMasterId); if (blk->isSecure()) { req->setFlags(Request::SECURE); } @@ -1737,7 +1737,7 @@ Cache::cleanEvictBlk(CacheBlk *blk) assert(blk && blk->isValid() && !blk->isDirty()); // Creating a zero sized write, a message to the snoop filter Request *req = - new Request(tags->regenerateBlkAddr(blk->tag, blk->set), blkSize, 0, + new Request(tags->regenerateBlkAddr(blk), blkSize, 0, Request::wbMasterId); if (blk->isSecure()) req->setFlags(Request::SECURE); @@ -1780,8 +1780,8 @@ Cache::writebackVisitor(CacheBlk &blk) if (blk.isDirty()) { assert(blk.isValid()); - Request request(tags->regenerateBlkAddr(blk.tag, blk.set), - blkSize, 0, Request::funcMasterId); + Request request(tags->regenerateBlkAddr(&blk), blkSize, 0, + Request::funcMasterId); request.taskId(blk.task_id); if (blk.isSecure()) { request.setFlags(Request::SECURE); @@ -1823,7 +1823,7 @@ Cache::allocateBlock(Addr addr, bool is_secure, PacketList &writebacks) return nullptr; if (blk->isValid()) { - Addr repl_addr = tags->regenerateBlkAddr(blk->tag, blk->set); + Addr repl_addr = tags->regenerateBlkAddr(blk); MSHR *repl_mshr = mshrQueue.findMatch(repl_addr, blk->isSecure()); if (repl_mshr) { // must be an outstanding upgrade request |