As a preliminary to adding more extensive DMA and IOMMU infrastructure support into qemu, this patch defines a dma_addr_t for storing DMA bus addresses and a DMADirection enum which describes whether a DMA is from an external device to main memory or from main memory to an external device.
For now dma_addr_t is just defined to be target_phys_addr_t, but in future, we can change this to support machines where we have bus addresses which don't necessarily have the same format as CPU physical addresses. Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- dma.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/dma.h b/dma.h index 2bdc236..56e163a 100644 --- a/dma.h +++ b/dma.h @@ -18,6 +18,15 @@ typedef struct ScatterGatherEntry ScatterGatherEntry; #if defined(TARGET_PHYS_ADDR_BITS) +typedef target_phys_addr_t dma_addr_t; + +#define DMA_ADDR_FMT TARGET_FMT_plx + +typedef enum { + DMA_DIRECTION_TO_DEVICE = 0, + DMA_DIRECTION_FROM_DEVICE = 1, +} DMADirection; + struct ScatterGatherEntry { target_phys_addr_t base; target_phys_addr_t len; -- 1.7.7