Define DMA address and direction types
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 <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
7f540ab524
commit
d9d1055ef1
9
dma.h
9
dma.h
|
@ -18,6 +18,15 @@
|
||||||
typedef struct ScatterGatherEntry ScatterGatherEntry;
|
typedef struct ScatterGatherEntry ScatterGatherEntry;
|
||||||
|
|
||||||
#if defined(TARGET_PHYS_ADDR_BITS)
|
#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 {
|
struct ScatterGatherEntry {
|
||||||
target_phys_addr_t base;
|
target_phys_addr_t base;
|
||||||
target_phys_addr_t len;
|
target_phys_addr_t len;
|
||||||
|
|
Reference in New Issue