summaryrefslogtreecommitdiff
path: root/src/mem/cache/coherence/coherence_protocol.cc
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2007-03-27 17:05:25 -0500
committerRon Dreslinski <rdreslin@umich.edu>2007-03-27 17:05:25 -0500
commit6b8cd9d06d6639e52b78f7611e4060b08df84593 (patch)
treeee84c0883daba5f39f50a7cadb37199f70a213c5 /src/mem/cache/coherence/coherence_protocol.cc
parentc6e85efc50601320c51c1314768715a1348b4f26 (diff)
downloadgem5-6b8cd9d06d6639e52b78f7611e4060b08df84593.tar.xz
First Pass At Cmp/Swap in caches
--HG-- extra : convert_revision : 211bfb7c6a59e9e120dae1600d4754baaf231332
Diffstat (limited to 'src/mem/cache/coherence/coherence_protocol.cc')
-rw-r--r--src/mem/cache/coherence/coherence_protocol.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mem/cache/coherence/coherence_protocol.cc b/src/mem/cache/coherence/coherence_protocol.cc
index e8520401d..33a8a4e63 100644
--- a/src/mem/cache/coherence/coherence_protocol.cc
+++ b/src/mem/cache/coherence/coherence_protocol.cc
@@ -295,9 +295,12 @@ CoherenceProtocol::CoherenceProtocol(const string &name,
tt[Invalid][MC::ReadReq].onRequest(MC::ReadReq);
// we only support write allocate right now
tt[Invalid][MC::WriteReq].onRequest(MC::ReadExReq);
+ tt[Invalid][MC::SwapReq].onRequest(MC::ReadExReq);
tt[Shared][MC::WriteReq].onRequest(writeToSharedCmd);
+ tt[Shared][MC::SwapReq].onRequest(writeToSharedCmd);
if (hasOwned) {
tt[Owned][MC::WriteReq].onRequest(writeToSharedCmd);
+ tt[Owned][MC::SwapReq].onRequest(writeToSharedCmd);
}
// Prefetching causes a read