Better support for dma_addr_t variables
A while back, we introduced the dma_addr_t type, which is supposed to be used for bus visible memory addresses. At present, this is an alias for target_phys_addr_t, but this will change when we eventually add support for guest visible IOMMUs. There are some instances of target_phys_addr_t in the code now which should really be dma_addr_t, but can't be trivially converted due to missing features which this patch corrects. * We add DMA_ADDR_BITS analagous to TARGET_PHYS_ADDR_BITS. This is important where we need to make a compile-time (#if) based on the size of dma_addr_t. * We add a new helper macro to create device properties which take a dma_addr_t, currently an alias to DEFINE_PROP_TADDR(). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
fcce6fd25f
commit
8292f75ad2
1
dma.h
1
dma.h
@ -31,6 +31,7 @@ struct QEMUSGList {
|
||||
#if defined(TARGET_PHYS_ADDR_BITS)
|
||||
typedef target_phys_addr_t dma_addr_t;
|
||||
|
||||
#define DMA_ADDR_BITS TARGET_PHYS_ADDR_BITS
|
||||
#define DMA_ADDR_FMT TARGET_FMT_plx
|
||||
|
||||
struct ScatterGatherEntry {
|
||||
|
12
hw/qdev-dma.h
Normal file
12
hw/qdev-dma.h
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* Support for dma_addr_t typed properties
|
||||
*
|
||||
* Copyright (C) 2012 David Gibson, IBM Corporation.
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
#include "qdev-addr.h"
|
||||
|
||||
#define DEFINE_PROP_DMAADDR(_n, _s, _f, _d) \
|
||||
DEFINE_PROP_TADDR(_n, _s, _f, _d)
|
Loading…
Reference in New Issue
Block a user