summaryrefslogtreecommitdiff
path: root/src/mem/protocol/MI_example-dir.sm
diff options
context:
space:
mode:
authorDerek Hower <drh5@cs.wisc.edu>2009-07-08 08:40:32 -0500
committerDerek Hower <drh5@cs.wisc.edu>2009-07-08 08:40:32 -0500
commit15afc87f7cb5994c308422d2b01e1c0723a07e5e (patch)
tree7993fb61ca8ee4ce54c12854d3ea31a666ab0940 /src/mem/protocol/MI_example-dir.sm
parent6a83bd5a03b7597b04ff447e232166a8afcaf402 (diff)
downloadgem5-15afc87f7cb5994c308422d2b01e1c0723a07e5e.tar.xz
slicc: fixed MI_example bug. The directory wasn't deallocating the TBE, leading to a leak. Also increased the default max TBE size to 256 to allow memtest to pass the regression.
Diffstat (limited to 'src/mem/protocol/MI_example-dir.sm')
-rw-r--r--src/mem/protocol/MI_example-dir.sm12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mem/protocol/MI_example-dir.sm b/src/mem/protocol/MI_example-dir.sm
index 29678ffc4..a275e4b8d 100644
--- a/src/mem/protocol/MI_example-dir.sm
+++ b/src/mem/protocol/MI_example-dir.sm
@@ -528,14 +528,15 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
transition(I, DMA_WRITE, ID_W) {
- dw_writeDMAData;
-// da_sendDMAAck;
+ v_allocateTBE;
qw_queueMemoryWBRequest_partial;
p_popIncomingDMARequestQueue;
}
transition(ID_W, Memory_Ack, I) {
+ dwt_writeDMADataFromTBE;
da_sendDMAAck;
+ w_deallocateTBE;
l_popMemQueue;
}
@@ -548,7 +549,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
drp_sendDMAData;
c_clearOwner;
a_sendWriteBackAck;
- // d_deallocateDirectory;
+ d_deallocateDirectory;
i_popIncomingRequestQueue;
}
@@ -561,7 +562,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
transition(M_DWR, PUTX, M_DWRI) {
qw_queueMemoryWBRequest_partialTBE;
c_clearOwner;
- w_deallocateTBE;
i_popIncomingRequestQueue;
}
@@ -570,6 +570,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
l_sendWriteBackAck;
da_sendDMAAck;
w_deallocateTBE;
+ d_deallocateDirectory;
l_popMemQueue;
}
@@ -583,7 +584,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
c_clearOwner;
v_allocateTBEFromRequestNet;
l_queueMemoryWBRequest;
- d_deallocateDirectory;
i_popIncomingRequestQueue;
}
@@ -591,6 +591,7 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
w_writeDataToMemoryFromTBE;
l_sendWriteBackAck;
w_deallocateTBE;
+ d_deallocateDirectory;
l_popMemQueue;
}
@@ -601,7 +602,6 @@ machine(Directory, "Directory protocol") : LATENCY_TO_MEM_CTRL_LATENCY LATENCY_D
transition(I, PUTX_NotOwner, I) {
b_sendWriteBackNack;
- d_deallocateDirectory;
i_popIncomingRequestQueue;
}