summaryrefslogtreecommitdiff
path: root/src/mem/ruby/structures/AbstractReplacementPolicy.hh
diff options
context:
space:
mode:
authorDavid Hashe <david.hashe@amd.com>2015-07-20 09:15:18 -0500
committerDavid Hashe <david.hashe@amd.com>2015-07-20 09:15:18 -0500
commitc4ffd4989c35a4afea1097fec97ac5bcd52974b3 (patch)
tree04796c3fd4ba631f20d47f17906b47c7bbb84a59 /src/mem/ruby/structures/AbstractReplacementPolicy.hh
parent967cfa939afca4a5752ce9c1d64d5c51092e7f1a (diff)
downloadgem5-c4ffd4989c35a4afea1097fec97ac5bcd52974b3.tar.xz
ruby: expose access permission to replacement policies
This patch adds support that allows the replacement policy to identify each cache block's access permission. This information can be useful when making replacement decisions.
Diffstat (limited to 'src/mem/ruby/structures/AbstractReplacementPolicy.hh')
-rw-r--r--src/mem/ruby/structures/AbstractReplacementPolicy.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mem/ruby/structures/AbstractReplacementPolicy.hh b/src/mem/ruby/structures/AbstractReplacementPolicy.hh
index d007c98c8..03ef0d2fd 100644
--- a/src/mem/ruby/structures/AbstractReplacementPolicy.hh
+++ b/src/mem/ruby/structures/AbstractReplacementPolicy.hh
@@ -34,6 +34,8 @@
#include "params/ReplacementPolicy.hh"
#include "sim/sim_object.hh"
+class CacheMemory;
+
class AbstractReplacementPolicy : public SimObject
{
public:
@@ -52,6 +54,9 @@ class AbstractReplacementPolicy : public SimObject
virtual bool useOccupancy() const { return false; }
+ void setCache(CacheMemory * pCache) {m_cache = pCache;}
+ CacheMemory * m_cache;
+
protected:
unsigned m_num_sets; /** total number of sets */
unsigned m_assoc; /** set associativity */