From: Polina Dudnik Date: Fri, 28 Aug 2009 20:04:55 +0000 (-0500) Subject: imported patch mi_patch X-Git-Tag: Calvin_Submission~28 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=95da6dc84cda1a68f43799960bf0a0077ae8b5e7;p=gem5.git imported patch mi_patch --- 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;