diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2016-06-10 19:26:37 +0100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-06-14 10:43:24 +1000 |
commit | bc9ca5958d084222cdb233619dfc5046c81fb76d (patch) | |
tree | eff6cfa9bc61e29b41a1077cb445fb84e214415a /include/hw/ppc | |
parent | 42bff4772ef96d901772240b10eda6d66ef771a1 (diff) |
macio: call dma_memory_unmap() at the end of each DMA transfer
This ensures that the underlying memory is marked dirty once the transfer
is complete and resolves cache coherency problems under MacOS 9.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'include/hw/ppc')
-rw-r--r-- | include/hw/ppc/mac_dbdma.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/hw/ppc/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h index 0cce4e8bb4..d15a6ccf3e 100644 --- a/include/hw/ppc/mac_dbdma.h +++ b/include/hw/ppc/mac_dbdma.h @@ -24,6 +24,7 @@ #include "exec/memory.h" #include "qemu/iov.h" +#include "sysemu/dma.h" typedef struct DBDMA_io DBDMA_io; @@ -44,6 +45,10 @@ struct DBDMA_io { uint8_t head_remainder[0x200]; uint8_t tail_remainder[0x200]; QEMUIOVector iov; + /* DMA request */ + void *dma_mem; + dma_addr_t dma_len; + DMADirection dir; }; /* |