diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-11-14 12:04:38 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-11-14 21:02:08 +0000 |
commit | d8bc7899a97b85600e2e7ba12f2aec3d42fefc66 (patch) | |
tree | 1056a0061212c7dc712cdfb01289b4c1760c92b5 /src/mem/cache/tags/base.hh | |
parent | c6e0d8f54f1ce90933f95a7a3a875fed53b8ee3e (diff) | |
download | gem5-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.hh | 21 |
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. |