On Fri, Sep 09, 2011 at 09:48:03AM -0700, Eric Camachat wrote:
> On Fri, Sep 9, 2011 at 9:10 AM, Eric Camachat <eric.camachat@xxxxxxxxx> wrote:
> > On Thu, Sep 8, 2011 at 6:05 PM, Konrad Rzeszutek Wilk
> > <konrad.wilk@xxxxxxxxxx> wrote:
> >> On Thu, Sep 08, 2011 at 05:15:06PM -0700, Eric Camachat wrote:
> >>> On Thu, Sep 8, 2011 at 1:00 PM, Konrad Rzeszutek Wilk
> >>> <konrad.wilk@xxxxxxxxxx> wrote:
> >>> >> > Make sure you set
> >>> >> > pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(31));
> >>> >> >
> >>> >> > on top of pci_set_dma_mask(dev, DMA_BIT_MASK(31));
> >>> >> > in your driver.
> >>> >> >
> >>> >> A lot of work to port the driver to PV domU, hope it works.
> >>> >
> >>> > Hm? That is the normal way you would write drivers in the Linux kernel.
> >>> > You use the DMA API in it to deal with the PCI devices.
> >>> >
> >>> > Is the PV domU a Linux kernel or something else?
> >>> >
> >>>
> >>> Yes, the PV domU is linux kernel.
> >>>
> >>> I tested pci_alloc_consistent() verified on baremetal it worked with 8GB
> >>> SDRAM.
> >>> But while I ran it in XEN, pci_alloc_consistent() cannot allocate
> >>> memory successfully for 4MB although pci_set_dma_mask(),
> >>
> >> And what is the error?
> >
> > I cannot see any error, it just returned NULL.
>
> BTW, I will succeed if I allocate 2MB only.
Ok, that is unsurprising. I don't know if you can do it any better on baremetal.
But I am failing to understand why you need such large swaths of contingous
memory. You can't do scatter gather? Or scatter gather on 2MB chunks?
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|