aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2011-10-31 17:06:45 +1100
committerAnthony Liguori <aliguori@us.ibm.com>2011-11-01 16:52:05 -0500
commitd9d1055ef1426da47b626883fffdc934c5f5ab91 (patch)
treed8336db95ea93efbc6ca7836571ac704de4f7e6d
parent7f540ab5248a62c6ca4f6346a3564d0eff0069db (diff)
downloadqemu-d9d1055ef1426da47b626883fffdc934c5f5ab91.zip
qemu-d9d1055ef1426da47b626883fffdc934c5f5ab91.tar.gz
qemu-d9d1055ef1426da47b626883fffdc934c5f5ab91.tar.bz2
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>
-rw-r--r--dma.h9
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;