mem-ruby: fix CHI sending the wrong snoop response (#219)

Do not respond with SnpRespData_I when the line is still present
upstream.
This commit is contained in:
Bobby R. Bruce
2023-08-28 16:21:25 -07:00
committed by GitHub

View File

@@ -2319,7 +2319,7 @@ action(Send_SnpRespData, desc="") {
((tbe.dataDirty || tbe.dataUnique) && (tbe.reqType == CHIRequestType:SnpShared)) ||
((tbe.dataDirty || tbe.dataUnique) && (tbe.reqType == CHIRequestType:SnpUnique)));
if (tbe.dataToBeInvalid) {
if (tbe.dataToBeInvalid && tbe.dir_sharers.isEmpty()) {
assert(tbe.dataMaybeDirtyUpstream == false);
if (tbe.dataDirty) {
tbe.snd_msgType := CHIDataType:SnpRespData_I_PD;