From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54564) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKl1d-00071O-II for qemu-devel@nongnu.org; Mon, 31 Oct 2011 02:07:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RKl1b-0006zD-15 for qemu-devel@nongnu.org; Mon, 31 Oct 2011 02:07:13 -0400 Received: from ozlabs.org ([203.10.76.45]:43388) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RKl1a-0006yu-Jl for qemu-devel@nongnu.org; Mon, 31 Oct 2011 02:07:10 -0400 From: David Gibson Date: Mon, 31 Oct 2011 17:06:45 +1100 Message-Id: <1320041218-30487-2-git-send-email-david@gibson.dropbear.id.au> In-Reply-To: <1320041218-30487-1-git-send-email-david@gibson.dropbear.id.au> References: <1320041218-30487-1-git-send-email-david@gibson.dropbear.id.au> Subject: [Qemu-devel] [PATCH 01/14] Define DMA address and direction types List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mst@redhat.com, anthony@codemonkey.ws Cc: joerg.roedel@amd.com, qemu-devel@nongnu.org, agraf@suse.de, avi@redhat.com, eduard.munteanu@linux360.ro, rth@twiddle.net 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 --- 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