On Fri, Sep 9, 2011 at 11:06 AM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> 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?
>
I changed MAX_CONTIG_ORDER, and MAX_ORDER to 13 to fix this problem, finally.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|