summaryrefslogtreecommitdiff
path: root/src/mem/protocol/MOESI_hammer-msg.sm
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 16:34:32 -0800
committerBrad Beckmann <Brad.Beckmann@amd.com>2009-11-18 16:34:32 -0800
commitcef3c5616358912b45aafac490bf182c1a8def04 (patch)
treea93785bc9d569756f1c0e1da680d90d05c4b11b4 /src/mem/protocol/MOESI_hammer-msg.sm
parentdbb2c111cccacad4e331bfded3b316e3c78dc63c (diff)
downloadgem5-cef3c5616358912b45aafac490bf182c1a8def04.tar.xz
ruby: MOESI hammer support for DMA reads and writes
Diffstat (limited to 'src/mem/protocol/MOESI_hammer-msg.sm')
-rw-r--r--src/mem/protocol/MOESI_hammer-msg.sm32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mem/protocol/MOESI_hammer-msg.sm b/src/mem/protocol/MOESI_hammer-msg.sm
index c9f146819..5d8226eb6 100644
--- a/src/mem/protocol/MOESI_hammer-msg.sm
+++ b/src/mem/protocol/MOESI_hammer-msg.sm
@@ -85,3 +85,35 @@ structure(ResponseMsg, desc="...", interface="NetworkMessage") {
int Acks, desc="How many messages this counts as";
MessageSizeType MessageSize, desc="size category of the message";
}
+
+enumeration(DMARequestType, desc="...", default="DMARequestType_NULL") {
+ READ, desc="Memory Read";
+ WRITE, desc="Memory Write";
+ NULL, desc="Invalid";
+}
+
+enumeration(DMAResponseType, desc="...", default="DMAResponseType_NULL") {
+ DATA, desc="DATA read";
+ ACK, desc="ACK write";
+ NULL, desc="Invalid";
+}
+
+structure(DMARequestMsg, desc="...", interface="NetworkMessage") {
+ DMARequestType Type, desc="Request type (read/write)";
+ Address PhysicalAddress, desc="Physical address for this request";
+ Address LineAddress, desc="Line address for this request";
+ MachineID Requestor, desc="Node who initiated the request";
+ NetDest Destination, desc="Destination";
+ DataBlock DataBlk, desc="DataBlk attached to this request";
+ int Len, desc="The length of the request";
+ MessageSizeType MessageSize, desc="size category of the message";
+}
+
+structure(DMAResponseMsg, desc="...", interface="NetworkMessage") {
+ DMAResponseType Type, desc="Response type (DATA/ACK)";
+ Address PhysicalAddress, desc="Physical address for this request";
+ Address LineAddress, desc="Line address for this request";
+ NetDest Destination, desc="Destination";
+ DataBlock DataBlk, desc="DataBlk attached to this request";
+ MessageSizeType MessageSize, desc="size category of the message";
+}