mem-ruby: Fix functional reads for MESI Three-Level messages (#1045)
Fix #1044. This patch adds checks for message types (PUTX_COPY, DATA, DATA_EXCLUSIVE) that contain data blocks but were missing from the original `functionalRead` method in MESI Three-Level messages. Change-Id: I0cedc314166c9cc037bf20f5b7fef5552dd1253c
This commit is contained in:
@@ -81,8 +81,9 @@ structure(CoherenceMsg, desc="...", interface="Message") {
|
||||
PrefetchBit Prefetch, desc="Is this a prefetch request";
|
||||
|
||||
bool functionalRead(Packet *pkt) {
|
||||
// Only PUTX messages contains the data block
|
||||
if (Class == CoherenceClass:PUTX) {
|
||||
// Valid data block is only present in message with following types
|
||||
if (Class == CoherenceClass:PUTX ||
|
||||
Class == CoherenceClass:DATA_EXCLUSIVE) {
|
||||
return testAndRead(addr, DataBlk, pkt);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user