summaryrefslogtreecommitdiff
path: root/src/mem/cache/miss/mshr.hh
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2007-06-26 14:53:15 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2007-06-26 14:53:15 -0700
commit7dacbcf49262605a75e461149ec7bd7a00fca7b7 (patch)
treecd1f5994e726ecd59badb23b8a264c669d37a876 /src/mem/cache/miss/mshr.hh
parentf697e959a17646500bca7c12e6bb7b30e047f1bb (diff)
downloadgem5-7dacbcf49262605a75e461149ec7bd7a00fca7b7.tar.xz
Handle replacement of block with pending upgrade.
src/mem/cache/tags/lru.cc: Add some replacement DPRINTFs --HG-- extra : convert_revision : 7993ec24d6af7e7774d04ce36f20e3f43f887fd9
Diffstat (limited to 'src/mem/cache/miss/mshr.hh')
-rw-r--r--src/mem/cache/miss/mshr.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mem/cache/miss/mshr.hh b/src/mem/cache/miss/mshr.hh
index 92288cf52..a9380d99a 100644
--- a/src/mem/cache/miss/mshr.hh
+++ b/src/mem/cache/miss/mshr.hh
@@ -105,12 +105,20 @@ class MSHR : public Packet::SenderState
bool deferredNeedsExclusive;
bool pendingInvalidate;
+ /** Is there a pending upgrade that got replaced? */
+ bool replacedPendingUpgrade;
+ bool replacedPendingUpgradeDirty;
/** Thread number of the miss. */
short threadNum;
/** The number of currently allocated targets. */
short ntargets;
+
+ /** Data buffer (if needed). Currently used only for pending
+ * upgrade handling. */
+ uint8_t *data;
+
/**
* Pointer to this MSHR on the ready list.
* @sa MissQueue, MSHRQueue::readyList
@@ -204,6 +212,9 @@ public:
bool promoteDeferredTargets();
+ void handleReplacement(CacheBlk *blk, int blkSize);
+ bool handleReplacedPendingUpgrade(Packet *pkt);
+
/**
* Prints the contents of this MSHR to stderr.
*/