summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2011-04-01 15:50:23 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2011-04-01 15:50:23 -0700
commit0788ea7b3b68bae82adf49bad474da3afdab0506 (patch)
treeeb249558ea05a4ecfc667fc7794622879d015637 /src/mem
parent01fc529bb2e2bf2021b5ec0c0e88136f1665abe6 (diff)
downloadgem5-0788ea7b3b68bae82adf49bad474da3afdab0506.tar.xz
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.
Diffstat (limited to 'src/mem')
-rw-r--r--src/mem/protocol/MOESI_hammer-cache.sm10
1 files 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;
}