[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <21746bbf-618a-d12b-c767-f9e865f4dd20@arm.com>
Date: Sat, 17 Aug 2019 19:20:27 +0100
From: Julien Grall <julien.grall@....com>
To: Christoph Hellwig <hch@....de>
Cc: Stefano Stabellini <sstabellini@...nel.org>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
xen-devel@...ts.xenproject.org, iommu@...ts.linux-foundation.org,
x86@...nel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [Xen-devel] [PATCH 07/11] swiotlb-xen: provide a single
page-coherent.h header
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
Powered by blists - more mailing lists