From 6b8cd9d06d6639e52b78f7611e4060b08df84593 Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Tue, 27 Mar 2007 17:05:25 -0500 Subject: First Pass At Cmp/Swap in caches --HG-- extra : convert_revision : 211bfb7c6a59e9e120dae1600d4754baaf231332 --- src/mem/cache/coherence/coherence_protocol.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/mem/cache/coherence') 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 -- cgit v1.2.3