summaryrefslogtreecommitdiff
path: root/src/mem
diff options
context:
space:
mode:
authorPolina Dudnik <pdudnik@gmail.com>2009-08-28 15:04:55 -0500
committerPolina Dudnik <pdudnik@gmail.com>2009-08-28 15:04:55 -0500
commit95da6dc84cda1a68f43799960bf0a0077ae8b5e7 (patch)
treef2c6e5343578c18a1d3c336963a75beb613967b8 /src/mem
parente251b42c59ba112357eb8f1d841fc162b284d83e (diff)
downloadgem5-95da6dc84cda1a68f43799960bf0a0077ae8b5e7.tar.xz
imported patch mi_patch
Diffstat (limited to 'src/mem')
-rw-r--r--src/mem/protocol/MI_example-dir.sm12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mem/protocol/MI_example-dir.sm b/src/mem/protocol/MI_example-dir.sm
index 9af1940f7..9502a40b4 100644
--- a/src/mem/protocol/MI_example-dir.sm
+++ b/src/mem/protocol/MI_example-dir.sm
@@ -361,6 +361,10 @@ machine(Directory, "Directory protocol")
requestQueue_in.recycle();
}
+ action(y_recycleDMARequestQueue, "y", desc="recycle dma request queue") {
+ dmaRequestQueue_in.recycle();
+ }
+
action(qf_queueMemoryFetchRequest, "qf", desc="Queue off-chip fetch request") {
peek(requestQueue_in, RequestMsg) {
@@ -449,14 +453,18 @@ machine(Directory, "Directory protocol")
// TRANSITIONS
- transition({M_DRD, M_DWR}, GETX) {
+ transition({M_DRD, M_DWR, M_DWRI}, GETX) {
z_recycleRequestQueue;
}
- transition({IM, MI, ID, ID_W}, {GETX, GETS, DMA_READ, DMA_WRITE, PUTX, PUTX_NotOwner} ) {
+ transition({IM, MI, ID, ID_W}, {GETX, GETS, PUTX, PUTX_NotOwner} ) {
z_recycleRequestQueue;
}
+ transition({IM, MI, ID, ID_W}, {DMA_READ, DMA_WRITE} ) {
+ y_recycleDMARequestQueue;
+ }
+
transition(I, GETX, IM) {
//d_sendData;
qf_queueMemoryFetchRequest;