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.
l_popForwardQueue;
}
- transition(MM, NC_DMA_GETS) {
- c_sendExclusiveData;
+ transition(MM, NC_DMA_GETS, O) {
+ ee_sendDataShared;
l_popForwardQueue;
}
l_popForwardQueue;
}
- transition(M, NC_DMA_GETS) {
+ transition(M, NC_DMA_GETS, O) {
ee_sendDataShared;
l_popForwardQueue;
}
l_popForwardQueue;
}
- transition(MM_F, NC_DMA_GETS) {
- ct_sendExclusiveDataFromTBE;
+ transition(MM_F, NC_DMA_GETS, OM_F) {
+ sq_sendSharedDataFromTBEToCache;
l_popForwardQueue;
}