From 0788ea7b3b68bae82adf49bad474da3afdab0506 Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Fri, 1 Apr 2011 15:50:23 -0700 Subject: [PATCH] hammer: fixed dma uniproc error Fixed an error reguarding DMA for uninprocessor systems. Basically removed an overly agressive optimization that lead to inconsistent state between the cache and the directory. --- src/mem/protocol/MOESI_hammer-cache.sm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mem/protocol/MOESI_hammer-cache.sm b/src/mem/protocol/MOESI_hammer-cache.sm index 546160b73..06c9ea76b 100644 --- a/src/mem/protocol/MOESI_hammer-cache.sm +++ b/src/mem/protocol/MOESI_hammer-cache.sm @@ -1532,8 +1532,8 @@ machine(L1Cache, "AMD Hammer-like protocol") l_popForwardQueue; } - transition(MM, NC_DMA_GETS) { - c_sendExclusiveData; + transition(MM, NC_DMA_GETS, O) { + ee_sendDataShared; l_popForwardQueue; } @@ -1575,7 +1575,7 @@ machine(L1Cache, "AMD Hammer-like protocol") l_popForwardQueue; } - transition(M, NC_DMA_GETS) { + transition(M, NC_DMA_GETS, O) { ee_sendDataShared; l_popForwardQueue; } @@ -1933,8 +1933,8 @@ machine(L1Cache, "AMD Hammer-like protocol") l_popForwardQueue; } - transition(MM_F, NC_DMA_GETS) { - ct_sendExclusiveDataFromTBE; + transition(MM_F, NC_DMA_GETS, OM_F) { + sq_sendSharedDataFromTBEToCache; l_popForwardQueue; }