Messages in this thread | | | Subject | Re: [Xen-devel] [PATCH 07/11] swiotlb-xen: provide a single page-coherent.h header | From | Julien Grall <> | Date | Sat, 17 Aug 2019 19:20:27 +0100 |
| |
Hi Christoph,
On 8/17/19 7:50 AM, Christoph Hellwig wrote: > On Fri, Aug 16, 2019 at 11:40:43PM +0100, Julien Grall wrote: >> I am not sure I agree with this rename. The implementation of the helpers >> are very Arm specific as this is assuming Dom0 is 1:1 mapped. >> >> This was necessary due to the lack of IOMMU on Arm platforms back then. >> But this is now a pain to get rid of it on newer platform... > > So if you look at the final version of the header after the whole > series, what assumes a 1:1 mapping? It all just is > > if (pfn_valid()) > local cache sync; > else > call into the arch code;
In the context of Xen Arm, the dev_addr is a host physical address. From my understanding pfn_valid() is dealing with a guest physical frame.
Therefore by passing PFN_DOWN(dev_addr) in argument you assume that the host and guest address spaces are the same.
> > are you concerned that the local cache sync might have to be split > up more for a non-1:1 map in that case? We could just movea > the xen_dma_* routines into the arch instead of __xen_dma, but it > really helps to have a common interface header. Moving xen_dma_* routines into the arch would be a good option. Although, I would still consider a stub version for arch not requiring specific DMA.
Cheers,
-- Julien Grall
| |