From cda34c68a8ab3e6f999bfce893f52e9728bf9ed3 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Thu, 18 Jul 2024 14:30:12 +0100 Subject: [PATCH] base: Store a pointer to a debug flag in the AssociativeCache This will allow to print debug information for the associative cache depending on its usage Change-Id: Ia64e1cd7cb31fcbac27d031c38cd448ea64c5b4d Signed-off-by: Giacomo Travaglini --- src/base/cache/associative_cache.hh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/base/cache/associative_cache.hh b/src/base/cache/associative_cache.hh index f4771d1214..64690b847c 100644 --- a/src/base/cache/associative_cache.hh +++ b/src/base/cache/associative_cache.hh @@ -81,6 +81,8 @@ class AssociativeCache : public Named /** The entries */ std::vector entries; + const ::gem5::debug::SimpleFlag* debugFlag = nullptr; + private: void @@ -120,7 +122,8 @@ class AssociativeCache : public Named associativity(associativity_), replPolicy(repl_policy), indexingPolicy(indexing_policy), - entries(num_entries, init_val) + entries(num_entries, init_val), + debugFlag(nullptr) { initParams(num_entries, associativity); } @@ -162,6 +165,12 @@ class AssociativeCache : public Named initParams(num_entries, associativity); } + void + setDebugFlag(const ::gem5::debug::SimpleFlag& flag) + { + debugFlag = &flag; + } + /** * Do an access to the entry if it exists. * This is required to update the replacement information data.