From a15b713cba52d9d4d2c1204fef050fb3856ca33e Mon Sep 17 00:00:00 2001 From: Mitch Hayenga Date: Fri, 9 May 2014 18:58:46 -0400 Subject: mem: Squash prefetch requests from downstream caches This patch squashes prefetch requests from downstream caches, so that they do not steal cachelines away from caches closer to the cpu. It was originally coded by Mitch Hayenga and modified by Aasheesh Kolli. --- src/mem/packet.hh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/mem/packet.hh') diff --git a/src/mem/packet.hh b/src/mem/packet.hh index 4bdcc9a93..7b9e05945 100644 --- a/src/mem/packet.hh +++ b/src/mem/packet.hh @@ -260,6 +260,8 @@ class Packet : public Printable /// suppress the error if this packet encounters a functional /// access failure. static const FlagsType SUPPRESS_FUNC_ERROR = 0x00008000; + // Signal prefetch squash through express snoop flag + static const FlagsType PREFETCH_SNOOP_SQUASH = 0x00010000; Flags flags; @@ -522,6 +524,8 @@ class Packet : public Printable bool isSupplyExclusive() const { return flags.isSet(SUPPLY_EXCLUSIVE); } void setSuppressFuncError() { flags.set(SUPPRESS_FUNC_ERROR); } bool suppressFuncError() const { return flags.isSet(SUPPRESS_FUNC_ERROR); } + void setPrefetchSquashed() { flags.set(PREFETCH_SNOOP_SQUASH); } + bool prefetchSquashed() const { return flags.isSet(PREFETCH_SNOOP_SQUASH); } // Network error conditions... encapsulate them as methods since // their encoding keeps changing (from result field to command -- cgit v1.2.3