diff options
author | Polina Dudnik <pdudnik@gmail.com> | 2009-08-28 15:04:55 -0500 |
---|---|---|
committer | Polina Dudnik <pdudnik@gmail.com> | 2009-08-28 15:04:55 -0500 |
commit | 95da6dc84cda1a68f43799960bf0a0077ae8b5e7 (patch) | |
tree | f2c6e5343578c18a1d3c336963a75beb613967b8 | |
parent | e251b42c59ba112357eb8f1d841fc162b284d83e (diff) | |
download | gem5-95da6dc84cda1a68f43799960bf0a0077ae8b5e7.tar.xz |
imported patch mi_patch
-rw-r--r-- | src/mem/protocol/MI_example-dir.sm | 12 |
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; |