summaryrefslogtreecommitdiff
path: root/src/mem/packet.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/packet.hh')
-rw-r--r--src/mem/packet.hh6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mem/packet.hh b/src/mem/packet.hh
index 0c6abe909..f93725fcb 100644
--- a/src/mem/packet.hh
+++ b/src/mem/packet.hh
@@ -196,6 +196,10 @@ class MemCmd
bool hasData() const { return testCmdAttrib(HasData); }
bool isReadWrite() const { return isRead() && isWrite(); }
bool isLLSC() const { return testCmdAttrib(IsLlsc); }
+ bool isSWPrefetch() const { return testCmdAttrib(IsSWPrefetch); }
+ bool isHWPrefetch() const { return testCmdAttrib(IsHWPrefetch); }
+ bool isPrefetch() const { return testCmdAttrib(IsSWPrefetch) ||
+ testCmdAttrib(IsHWPrefetch); }
bool isError() const { return testCmdAttrib(IsError); }
bool isPrint() const { return testCmdAttrib(IsPrint); }
bool isFlush() const { return testCmdAttrib(IsFlush); }
@@ -677,6 +681,8 @@ class Packet : public Printable
if (cmd == MemCmd::ReadReq) {
if (req->isLLSC()) {
cmd = MemCmd::LoadLockedReq;
+ } else if (req->isPrefetch()) {
+ cmd = MemCmd::SoftPFReq;
}
} else if (cmd == MemCmd::WriteReq) {
if (req->isLLSC()) {