imported patch mi_patch
authorPolina Dudnik <pdudnik@gmail.com>
Fri, 28 Aug 2009 20:04:55 +0000 (15:04 -0500)
committerPolina Dudnik <pdudnik@gmail.com>
Fri, 28 Aug 2009 20:04:55 +0000 (15:04 -0500)
src/mem/protocol/MI_example-dir.sm

index 9af1940f7b934a8b886a37bd228a37d297dd88c3..9502a40b43ac358092d149b51e956f04229c1355 100644 (file)
@@ -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;