diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2019-12-12 11:05:25 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2020-01-17 20:41:50 +0000 |
commit | 54a27b007ae0ddaf70e23d8543bf94be5ee73302 (patch) | |
tree | 53f99e80a44e6452a424520c6e1cdd9a58b7b3fb | |
parent | 6eabbd49ebe47f4ba77b75d5b3913cdf85401430 (diff) | |
download | gem5-54a27b007ae0ddaf70e23d8543bf94be5ee73302.tar.xz |
mem-cache: Add print function to ReplaceableEntry
Add a basic print function to acquire and display information about
replaceable entries.
Change-Id: I9640113d305fbe086c5bfaf8928a911bfcac50bb
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23567
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
-rw-r--r-- | src/mem/cache/cache_blk.hh | 7 | ||||
-rw-r--r-- | src/mem/cache/replacement_policies/replaceable_entry.hh | 13 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/mem/cache/cache_blk.hh b/src/mem/cache/cache_blk.hh index dce0ce434..42b8ebd25 100644 --- a/src/mem/cache/cache_blk.hh +++ b/src/mem/cache/cache_blk.hh @@ -345,7 +345,8 @@ class CacheBlk : public ReplaceableEntry * * @return string with basic state information */ - virtual std::string print() const + std::string + print() const override { /** * state M O E S I @@ -382,9 +383,9 @@ class CacheBlk : public ReplaceableEntry default: s = 'T'; break; // @TODO add other types } return csprintf("state: %x (%c) valid: %d writable: %d readable: %d " - "dirty: %d | tag: %#x set: %#x way: %#x", status, s, + "dirty: %d | tag: %#x %s", status, s, isValid(), isWritable(), isReadable(), isDirty(), tag, - getSet(), getWay()); + ReplaceableEntry::print()); } /** diff --git a/src/mem/cache/replacement_policies/replaceable_entry.hh b/src/mem/cache/replacement_policies/replaceable_entry.hh index 2b08749e4..9a59b1f2e 100644 --- a/src/mem/cache/replacement_policies/replaceable_entry.hh +++ b/src/mem/cache/replacement_policies/replaceable_entry.hh @@ -34,6 +34,8 @@ #include <cstdint> #include <memory> +#include "base/cprintf.hh" + /** * The replacement data needed by replacement policies. Each replacement policy * should have its own implementation of replacement data. @@ -99,6 +101,17 @@ class ReplaceableEntry * @return The way to which this entry belongs. */ uint32_t getWay() const { return _way; } + + /** + * Prints relevant information about this entry. + * + * @return A string containg the contents of this entry. + */ + virtual std::string + print() const + { + return csprintf("set: %#x way: %#x", getSet(), getWay()); + } }; #endif // __MEM_CACHE_REPLACEMENT_POLICIES_REPLACEABLE_ENTRY_HH_ |