summaryrefslogtreecommitdiff
path: root/src/mem/packet.hh
diff options
context:
space:
mode:
authorMitch Hayenga <mitch.hayenga@arm.com>2014-05-09 18:58:46 -0400
committerMitch Hayenga <mitch.hayenga@arm.com>2014-05-09 18:58:46 -0400
commita15b713cba52d9d4d2c1204fef050fb3856ca33e (patch)
tree4bd5a1e3fda3aa33feb10cc475f8b8554f3d0958 /src/mem/packet.hh
parentb9e6c260a01bab2b59d6eef4f45a642f57484275 (diff)
downloadgem5-a15b713cba52d9d4d2c1204fef050fb3856ca33e.tar.xz
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.
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r--src/mem/packet.hh4
1 files changed, 4 insertions, 0 deletions
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