diff --git a/src/mem/ruby/protocol/MI_example-dir.sm b/src/mem/ruby/protocol/MI_example-dir.sm index bbaa7d0789..c57cdad4ab 100644 --- a/src/mem/ruby/protocol/MI_example-dir.sm +++ b/src/mem/ruby/protocol/MI_example-dir.sm @@ -535,7 +535,7 @@ machine(MachineType:Directory, "Directory protocol") z_recycleRequestQueue; } - transition({IM, MI, ID, ID_W}, {DMA_READ, DMA_WRITE} ) { + transition({IM, MI, ID, ID_W, M_DRDI}, {DMA_READ, DMA_WRITE} ) { y_recycleDMARequestQueue; } @@ -651,4 +651,9 @@ machine(MachineType:Directory, "Directory protocol") b_sendWriteBackNack; i_popIncomingRequestQueue; } + + transition({M_DWR, M_DRD, M_DRDI, M_DWRI}, PUTX_NotOwner) { + b_sendWriteBackNack; + i_popIncomingRequestQueue; + } }