[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH] Make x86_64 swiotlb code to support dma_ops [2/2]

  • To: "Keir Fraser" <keir@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Langsdorf, Mark" <mark.langsdorf@xxxxxxx>
  • Date: Wed, 28 Feb 2007 16:19:40 -0600
  • Delivery-date: Wed, 28 Feb 2007 14:19:01 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcdbdXGgPI0XllCdQlK5GGtYpF745wACUWEGAAAzDmAAAHrXhgABJCgg
  • Thread-topic: [Xen-devel] [PATCH] Make x86_64 swiotlb code to support dma_ops [2/2]


> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Keir Fraser
> Sent: Wednesday, February 28, 2007 3:43 PM
> To: Langsdorf, Mark; xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH] Make x86_64 swiotlb code to 
> support dma_ops [2/2]
> On 28/2/07 21:35, "Langsdorf, Mark" <mark.langsdorf@xxxxxxx> wrote:
> >> Other points that I can see from a quick browse include 
> the fact that
> >> alloc_coherent() still looks broken afaics
> > 
> > The i386 swiotlb implementation doesn't seem to have an
> > alloc_coherent().  Since all this patch is intended to do
> > is move swiotlb into the x86_64 directory, I'm not sure
> > how to resolve the broken implementation.
> By pulling in a new arch/x86_64/pci-dma-xen.c you are replacing the
> implementations of things like dma_alloc_coherent().
> These replacements, being pretty much unmodified from the x86/64
> native originals, simply aren't going to work on Xen.

Oh!  Sorry for being dense.

> I'm not sure how far we'll need to deviate -- I
> suspect we'll end up with a file that look much like the 
> i386/pci-dma-xen.c
> but with calls to swiotlb_xxx() replaced with dma_ops->xxx. 
> Maybe we could
> even stick with just i386/pci-dma-xen.c and macro up the uses of
> swiotlb_xxx() (so that they can be replaced with uses of 
> dma_ops->xxx for x86/64 by cpp).

Given that pci-dma-xen for x86_64 is always going to have 
most of the functions replaced by either SWIOTLB or an
IOMMU, would it be sufficient to copy the (known good)
implementations of dma_alloc_coherent() from the i386

I really don't want to get into the maintenance of the
pci-dma-xen infrastructure; I just want to be able to use
dma_ops to simplify the interaction between the 4 different
dma solutions available for AMD64 (SWIOTLB, GART, Calgary,
and the forthcoming chipset IOMMU).

-Mark Langsdorf
AMD, Inc.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.