From 48e43c9ad1cd292b494f3d05f9d13845dd1a6d1e Mon Sep 17 00:00:00 2001 From: Michael LeBeane Date: Wed, 26 Oct 2016 22:48:37 -0400 Subject: 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. --- src/mem/protocol/MOESI_CMP_directory-dma.sm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mem/protocol/MOESI_CMP_directory-dma.sm') 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") { -- cgit v1.2.3