mem-ruby: This commit fixes MI_example protocol (#1236)
fix two bugs in MI_example-dir.sm:
1. Directory cannot handle DMA_READ & DMA_WRITE events in M_DRDI state.
2. Directory cannot handle PUTX_NotOwner events in {M_DWR, M_DRD,
M_DRDI, M_DWRI} state.
Github Issue: https://github.com/gem5/gem5/issues/1210
Change-Id: I52a9d674ce0688dcfbbcc2b583f17de95afdeb87
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user