From: Brad Beckmann Date: Fri, 1 Apr 2011 22:50:23 +0000 (-0700) Subject: hammer: fixed dma uniproc error X-Git-Tag: stable_2012_02_02~430 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0788ea7b3b68bae82adf49bad474da3afdab0506;p=gem5.git 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. --- 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; }