Hi! What would be the best strategy for creating a DMA engine for SE mode? Does something like this already exist? I'd like to be able to write something like this in the code being simulated (with dma_copy() implemented in a library that I'd also write)
dma_copy(src_addr, target_addr, size); and have the DMA device "eventually" copy over the required data without the CPU doing anything else about it. It is fine for our uses for the CPU to poll a memory location to check for DMA completion. I was considering developing a custom dcache that would interpret a certain address range as controlling DMA operations, so it would flush the dcache and send memory requests for DMA operation when the CPU issues a store with the source, target, and size to pre-configured locations in the special address range. I don't really need it to resemble how real DMA devices work with OS integration, interrupts, iommu etc. However, if there is a guide somewhere on how to use the existing DmaDevice with FS mode, that would also be of great help (I wasn't able to find one). Thanks! Siddharth
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org