Daniel Carvalho has uploaded this change for review. (
https://gem5-review.googlesource.com/8884
Change subject: mem-cache: Use replacement candidates to find block
......................................................................
mem-cache: Use replacement candidates to find block
Use replacement candidates to find block to make it placement policy
independent.
Change-Id: I4c9d9e1e1ff91ce12e85ca1970f927d8f4f5a93b
---
M src/mem/cache/tags/base_set_assoc.cc
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/mem/cache/tags/base_set_assoc.cc
b/src/mem/cache/tags/base_set_assoc.cc
index 0ab0bc6..bd39e1a 100644
--- a/src/mem/cache/tags/base_set_assoc.cc
+++ b/src/mem/cache/tags/base_set_assoc.cc
@@ -111,10 +111,21 @@
CacheBlk*
BaseSetAssoc::findBlock(Addr addr, bool is_secure) const
{
+ // Extract block tag
Addr tag = extractTag(addr);
- unsigned set = extractSet(addr);
- BlkType *blk = sets[set].findBlk(tag, is_secure);
- return blk;
+
+ // Find possible locations for the given address
+ ReplacementCandidates cands = getCandidates(addr);
+
+ // Search for block
+ for (auto blkIt = cands.begin(); blkIt != cands.end(); ++blkIt) {
+ if ((*blkIt)->tag == tag && (*blkIt)->isValid() &&
+ (*blkIt)->isSecure() == is_secure)
+ return *blkIt;
+ }
+
+ // Did not find block
+ return nullptr;
}
CacheBlk*
--
To view, visit https://gem5-review.googlesource.com/8884
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I4c9d9e1e1ff91ce12e85ca1970f927d8f4f5a93b
Gerrit-Change-Number: 8884
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev