summaryrefslogtreecommitdiff
path: root/src/mem/protocol/MOESI_CMP_token-dma.sm
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2015-09-05 09:34:24 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2015-09-05 09:34:24 -0500
commit7962a81148b5b38a32e12c4706ecb332c670e09b (patch)
tree11ef35d7f7bc332e2d12fa4feb00da5e2c2c9f29 /src/mem/protocol/MOESI_CMP_token-dma.sm
parent419d437385f65d031769136851232550e5b1ba5e (diff)
downloadgem5-7962a81148b5b38a32e12c4706ecb332c670e09b.tar.xz
ruby: declare all protocol message buffers as parameters
MessageBuffer is a SimObject now. There were protocols that still declared some of the message buffers are variables of the controller, but not as input parameters. Special handling was required for these variables in the SLICC compiler. This patch changes this. Now all message buffers are declared as input parameters.
Diffstat (limited to 'src/mem/protocol/MOESI_CMP_token-dma.sm')
-rw-r--r--src/mem/protocol/MOESI_CMP_token-dma.sm5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mem/protocol/MOESI_CMP_token-dma.sm b/src/mem/protocol/MOESI_CMP_token-dma.sm
index 56cfb2012..4bb80d4ba 100644
--- a/src/mem/protocol/MOESI_CMP_token-dma.sm
+++ b/src/mem/protocol/MOESI_CMP_token-dma.sm
@@ -37,6 +37,7 @@ machine(DMA, "DMA Controller")
MessageBuffer * reqToDirectory, network="To", virtual_network="0",
vnet_type="request";
+ MessageBuffer * mandatoryQueue;
{
state_declaration(State, desc="DMA states", default="DMA_State_READY") {
READY, AccessPermission:Invalid, desc="Ready to accept a new request";
@@ -51,14 +52,14 @@ machine(DMA, "DMA Controller")
Ack, desc="DMA write to memory completed";
}
- MessageBuffer mandatoryQueue;
State cur_state;
State getState(Addr addr) {
return cur_state;
}
+
void setState(Addr addr, State state) {
- cur_state := state;
+ cur_state := state;
}
AccessPermission getAccessPermission(Addr addr) {