From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SDu1Q-00070z-Tc for qemu-devel@nongnu.org; Sat, 31 Mar 2012 04:50:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SDu1O-0003ck-HG for qemu-devel@nongnu.org; Sat, 31 Mar 2012 04:50:56 -0400 Received: from e23smtp09.au.ibm.com ([202.81.31.142]:44596) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SDu1N-0003cS-Vf for qemu-devel@nongnu.org; Sat, 31 Mar 2012 04:50:54 -0400 Received: from /spool/local by e23smtp09.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 31 Mar 2012 09:40:21 +1000 Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.235.138]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q2V8iFlY3059814 for ; Sat, 31 Mar 2012 19:44:15 +1100 Received: from d23av02.au.ibm.com (loopback [127.0.0.1]) by d23av02.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q2V8oPeQ026284 for ; Sat, 31 Mar 2012 19:50:25 +1100 Date: Sat, 31 Mar 2012 19:49:16 +1100 From: David Gibson Message-ID: <20120331084916.GE19352@truffala.fritz.box> References: <1332816201-5072-1-git-send-email-david@gibson.dropbear.id.au> <4F757DBD.9090206@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4F757DBD.9090206@suse.de> Subject: Re: [Qemu-devel] [PATCH] Better support for dma_addr_t variables List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andreas =?iso-8859-1?Q?F=E4rber?= Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, mst@redhat.com On Fri, Mar 30, 2012 at 11:32:45AM +0200, Andreas Färber wrote: > Am 27.03.2012 04:43, schrieb David Gibson: > > 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 > > --- > > dma.h | 1 + > > hw/qdev-dma.h | 4 ++++ > > 2 files changed, 5 insertions(+), 0 deletions(-) > > create mode 100644 hw/qdev-dma.h > > > > diff --git a/dma.h b/dma.h > > index 05ac325..463095c 100644 > > --- a/dma.h > > +++ b/dma.h > > @@ -32,6 +32,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 { > > diff --git a/hw/qdev-dma.h b/hw/qdev-dma.h > > new file mode 100644 > > index 0000000..e407771 > > --- /dev/null > > +++ b/hw/qdev-dma.h > > @@ -0,0 +1,4 @@ > > +#include "qdev-addr.h" > > + > > +#define DEFINE_PROP_DMAADDR(_n, _s, _f, _d) \ > > + DEFINE_PROP_TADDR(_n, _s, _f, _d) > > Is a new header just for this really needed? It's not being used in this > patch, so its necessity is hard to judge. ;) > > I would've expected DEFINE_PROP_... in qdev.h along the others. Well, it's dependent on DEFINE_PROP_TADDR() which is in qdev-addr.h and not in qdev.h, as well as on dma_addr_t which is in dma.h. It will generally be replacing DEFINE_PROP_TADDR too, so making it a separate header seemed the most straightforward approach. If someone has a definitive decision that a different way is better, I can update for that. But I really hope we can avoid bikeshedding on this for a month before merging. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson