summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mem/cache/tags/base.hh17
-rw-r--r--src/mem/cache/tags/base_set_assoc.cc2
-rw-r--r--src/mem/cache/tags/base_set_assoc.hh17
-rw-r--r--src/mem/cache/tags/fa_lru.cc2
-rw-r--r--src/mem/cache/tags/fa_lru.hh17
5 files changed, 29 insertions, 26 deletions
diff --git a/src/mem/cache/tags/base.hh b/src/mem/cache/tags/base.hh
index 358ad1003..167364ff1 100644
--- a/src/mem/cache/tags/base.hh
+++ b/src/mem/cache/tags/base.hh
@@ -196,6 +196,15 @@ class BaseTags : public ClockedObject
virtual CacheBlk * findBlock(Addr addr, bool is_secure) const = 0;
/**
+ * Find a block given set and way.
+ *
+ * @param set The set of the block.
+ * @param way The way of the block.
+ * @return The block.
+ */
+ virtual ReplaceableEntry* findBlockBySetAndWay(int set, int way) const = 0;
+
+ /**
* Align an address to the block size.
* @param addr the address to align.
* @return The block address.
@@ -216,14 +225,6 @@ class BaseTags : public ClockedObject
}
/**
- * Find the cache block given set and way
- * @param set The set of the block.
- * @param way The way of the block.
- * @return The cache block.
- */
- virtual CacheBlk *findBlockBySetAndWay(int set, int way) const = 0;
-
- /**
* Limit the allocation for the cache ways.
* @param ways The maximum number of ways available for replacement.
*/
diff --git a/src/mem/cache/tags/base_set_assoc.cc b/src/mem/cache/tags/base_set_assoc.cc
index 9cd93dbea..ae98dcf3d 100644
--- a/src/mem/cache/tags/base_set_assoc.cc
+++ b/src/mem/cache/tags/base_set_assoc.cc
@@ -126,7 +126,7 @@ BaseSetAssoc::findBlock(Addr addr, bool is_secure) const
return blk;
}
-CacheBlk*
+ReplaceableEntry*
BaseSetAssoc::findBlockBySetAndWay(int set, int way) const
{
return sets[set].blks[way];
diff --git a/src/mem/cache/tags/base_set_assoc.hh b/src/mem/cache/tags/base_set_assoc.hh
index 830af6f3d..475566268 100644
--- a/src/mem/cache/tags/base_set_assoc.hh
+++ b/src/mem/cache/tags/base_set_assoc.hh
@@ -130,14 +130,6 @@ class BaseSetAssoc : public BaseTags
void invalidate(CacheBlk *blk) override;
/**
- * Find the cache block given set and way
- * @param set The set of the block.
- * @param way The way of the block.
- * @return The cache block.
- */
- CacheBlk *findBlockBySetAndWay(int set, int way) const override;
-
- /**
* Access block and update replacement data. May not succeed, in which case
* nullptr is returned. This has all the implications of a cache
* access and should only be used as such. Returns the access latency as a
@@ -199,6 +191,15 @@ class BaseSetAssoc : public BaseTags
CacheBlk* findBlock(Addr addr, bool is_secure) const override;
/**
+ * Find a block given set and way.
+ *
+ * @param set The set of the block.
+ * @param way The way of the block.
+ * @return The block.
+ */
+ ReplaceableEntry* findBlockBySetAndWay(int set, int way) const override;
+
+ /**
* Find replacement victim based on address.
*
* @param addr Address to find a victim for.
diff --git a/src/mem/cache/tags/fa_lru.cc b/src/mem/cache/tags/fa_lru.cc
index 29dab3b64..a6e1b3be1 100644
--- a/src/mem/cache/tags/fa_lru.cc
+++ b/src/mem/cache/tags/fa_lru.cc
@@ -185,7 +185,7 @@ FALRU::findBlock(Addr addr, bool is_secure) const
return blk;
}
-CacheBlk*
+ReplaceableEntry*
FALRU::findBlockBySetAndWay(int set, int way) const
{
assert(set == 0);
diff --git a/src/mem/cache/tags/fa_lru.hh b/src/mem/cache/tags/fa_lru.hh
index dbb39b7d1..22b67c534 100644
--- a/src/mem/cache/tags/fa_lru.hh
+++ b/src/mem/cache/tags/fa_lru.hh
@@ -186,6 +186,15 @@ class FALRU : public BaseTags
CacheBlk* findBlock(Addr addr, bool is_secure) const override;
/**
+ * Find a block given set and way.
+ *
+ * @param set The set of the block.
+ * @param way The way of the block.
+ * @return The block.
+ */
+ ReplaceableEntry* findBlockBySetAndWay(int set, int way) const override;
+
+ /**
* Find replacement victim based on address.
*
* @param addr Address to find a victim for.
@@ -202,14 +211,6 @@ class FALRU : public BaseTags
void insertBlock(PacketPtr pkt, CacheBlk *blk) override;
/**
- * Find the cache block given set and way
- * @param set The set of the block.
- * @param way The way of the block.
- * @return The cache block.
- */
- CacheBlk* findBlockBySetAndWay(int set, int way) const override;
-
- /**
* Generate the tag from the addres. For fully associative this is just the
* block address.
* @param addr The address to get the tag from.