summaryrefslogtreecommitdiff
path: root/src/mem/protocol/MOESI_CMP_directory-dma.sm
diff options
context:
space:
mode:
authorMichael LeBeane <michael.lebeane@amd.com>2016-10-26 22:48:37 -0400
committerMichael LeBeane <michael.lebeane@amd.com>2016-10-26 22:48:37 -0400
commit48e43c9ad1cd292b494f3d05f9d13845dd1a6d1e (patch)
treedb08e7d64d0431fe887c490a0b79f8b524131f15 /src/mem/protocol/MOESI_CMP_directory-dma.sm
parent96905971f26e5218baebf8f953f05a9b341f9cc6 (diff)
downloadgem5-48e43c9ad1cd292b494f3d05f9d13845dd1a6d1e.tar.xz
ruby: Allow multiple outstanding DMA requests
DMA sequencers and protocols can currently only issue one DMA access at a time. This patch implements the necessary functionality to support multiple outstanding DMA requests in Ruby.
Diffstat (limited to 'src/mem/protocol/MOESI_CMP_directory-dma.sm')
-rw-r--r--src/mem/protocol/MOESI_CMP_directory-dma.sm4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/protocol/MOESI_CMP_directory-dma.sm b/src/mem/protocol/MOESI_CMP_directory-dma.sm
index 5eb2f2587..ccc7f8790 100644
--- a/src/mem/protocol/MOESI_CMP_directory-dma.sm
+++ b/src/mem/protocol/MOESI_CMP_directory-dma.sm
@@ -184,7 +184,7 @@ machine(MachineType:DMA, "DMA Controller")
}
action(a_ackCallback, "a", desc="Notify dma controller that write request completed") {
- dma_sequencer.ackCallback();
+ dma_sequencer.ackCallback(address);
}
action(o_checkForCompletion, "o", desc="Check if we have received all the messages required for completion") {
@@ -236,7 +236,7 @@ machine(MachineType:DMA, "DMA Controller")
action(d_dataCallbackFromTBE, "/d", desc="data callback with data from TBE") {
assert(is_valid(tbe));
- dma_sequencer.dataCallback(tbe.DataBlk);
+ dma_sequencer.dataCallback(tbe.DataBlk, address);
}
action(v_allocateTBE, "v", desc="Allocate TBE entry") {