summaryrefslogtreecommitdiff
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
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.
-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;
}