summaryrefslogtreecommitdiff
path: root/src/mem/cache/cache_impl.hh
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2007-07-21 18:18:42 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2007-07-21 18:18:42 -0700
commit92ce2b59743c8cace420147e276d7376a4b905f1 (patch)
tree40068a62ffd952f841ef461933e1faa86493391a /src/mem/cache/cache_impl.hh
parent91178600947e174041f46f54e4241cedd01bbb34 (diff)
downloadgem5-92ce2b59743c8cace420147e276d7376a4b905f1.tar.xz
Deal with invalidations intersecting outstanding upgrades.
If the invalidation beats the upgrade at a lower level then the upgrade must be converted to a read exclusive "in the field". Restructure target list & deferred target list to factor out some common code. --HG-- extra : convert_revision : 7bab4482dd6c48efdb619610f0d3778c60ff777a
Diffstat (limited to 'src/mem/cache/cache_impl.hh')
-rw-r--r--src/mem/cache/cache_impl.hh4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh
index b78360d4a..9fb5cdbde 100644
--- a/src/mem/cache/cache_impl.hh
+++ b/src/mem/cache/cache_impl.hh
@@ -836,7 +836,7 @@ Cache<TagStore>::handleFill(PacketPtr pkt, BlkType *blk,
// must be an outstanding upgrade request on block
// we're about to replace...
assert(!blk->isWritable());
- assert(repl_mshr->needsExclusive);
+ assert(repl_mshr->needsExclusive());
// too hard to replace block with transient state;
// just use temporary storage to complete the current
// request and then get rid of it
@@ -1177,7 +1177,7 @@ Cache<TagStore>::getTimingPacket()
pkt = tgt_pkt;
} else {
BlkType *blk = tags->findBlock(mshr->addr);
- pkt = getBusPacket(tgt_pkt, blk, mshr->needsExclusive);
+ pkt = getBusPacket(tgt_pkt, blk, mshr->needsExclusive());
mshr->isCacheFill = (pkt != NULL);