summaryrefslogtreecommitdiff
path: root/src/mem/cache/tags/base.hh
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2018-11-14 12:04:38 +0100
committerDaniel Carvalho <odanrc@yahoo.com.br>2018-11-14 21:02:08 +0000
commitd8bc7899a97b85600e2e7ba12f2aec3d42fefc66 (patch)
tree1056a0061212c7dc712cdfb01289b4c1760c92b5 /src/mem/cache/tags/base.hh
parentc6e0d8f54f1ce90933f95a7a3a875fed53b8ee3e (diff)
downloadgem5-d8bc7899a97b85600e2e7ba12f2aec3d42fefc66.tar.xz
mem-cache: Remove Cache dependency from Tags
Tags do not need to be aware of caches. Change-Id: Ib6a082b74dcd9b2f10852651634b59512732fb2a Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/14296 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/tags/base.hh')
-rw-r--r--src/mem/cache/tags/base.hh21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/mem/cache/tags/base.hh b/src/mem/cache/tags/base.hh
index 273abf5dc..840193b7a 100644
--- a/src/mem/cache/tags/base.hh
+++ b/src/mem/cache/tags/base.hh
@@ -61,7 +61,7 @@
#include "params/BaseTags.hh"
#include "sim/clocked_object.hh"
-class BaseCache;
+class System;
class IndexingPolicy;
class ReplaceableEntry;
@@ -80,8 +80,8 @@ class BaseTags : public ClockedObject
/** The tag lookup latency of the cache. */
const Cycles lookupLatency;
- /** Pointer to the parent cache. */
- BaseCache *cache;
+ /** System we are currently operating in. */
+ System *system;
/** Indexing policy */
BaseIndexingPolicy *indexingPolicy;
@@ -153,13 +153,6 @@ class BaseTags : public ClockedObject
* @}
*/
- /**
- * Set the parent cache back pointer.
- *
- * @param _cache Pointer to parent cache.
- */
- void setCache(BaseCache *_cache);
-
public:
typedef BaseTagsParams Params;
BaseTags(const Params *p);
@@ -170,11 +163,11 @@ class BaseTags : public ClockedObject
virtual ~BaseTags() {}
/**
- * Initialize blocks and set the parent cache back pointer.
- *
- * @param _cache Pointer to parent cache.
+ * Initialize blocks. Must be overriden by every subclass that uses
+ * a block type different from its parent's, as the current Python
+ * code generation does not allow templates.
*/
- virtual void tagsInit(BaseCache *_cache) = 0;
+ virtual void tagsInit() = 0;
/**
* Register local statistics.