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>
This commit is contained in:
Mark Cave-Ayland 2016-06-10 19:26:37 +01:00 committed by David Gibson
parent 42bff4772e
commit bc9ca5958d
2 changed files with 31 additions and 20 deletions

View file

@ -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;
};
/*