[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Retry 3: Use i386 swiotlb code in lib/swiotlb-xen.c [2/2]
On 27/2/07 20:30, "Langsdorf, Mark" <mark.langsdorf@xxxxxxx> wrote: >> I'm pretty certain this is wrong: dma_handle is what should be passed >> to in_swiotlb_aperture(). > > The original code is > if (!(vaddr >= (void *)io_tlb_start) && vaddr < (void *) > io_tlb_end)) > free_pages((unsigned long) vaddr, get_order(size)); > > I can't see why I wouldn't check the vaddr address in Xen, also. You can either use the vaddr check from original lib/swiotlb.c *or* you can pass the dma_handle to in_swiotlb_aperture(). You cannot pass a vaddr to in_swiotlb_aperture(): it makes no sense! Actually I think the dma_alloc_coherent() you've hauled in from native x86/64 code won't even work on Xen as it is. The dma_alloc_pages() function it uses first won't guarantee to return contiguous memory on Xen, but that is implicitly assumed by the caller. I'm afraid various rather serious niggles like these make me wary of applying these patches until they've been very thoroughly audited. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |