Re: [PATCH] iommu/arm-smmu-v3: Allow disabling Stage 1 translation
From: Samiullah Khawaja
Date: Thu Apr 23 2026 - 14:46:14 EST
On Thu, Apr 23, 2026 at 06:07:23PM +0100, Will Deacon wrote:
On Thu, Apr 23, 2026 at 11:23:26AM -0300, Jason Gunthorpe wrote:
On Thu, Apr 23, 2026 at 10:47:49AM +0100, Will Deacon wrote:
> > Does iommu-pages provide a mechanism to map the memory as non-cacheable
> > if the SMMU isn't coherent?
No, it has to use CMOs today.
It looks like all the stuff dma_alloc_coherent does to make a
non-cached mapping are pretty arch specific. I don't know if there is
a way we could make more general code get a struct page into an
uncached KVA and meet all the arch rules?
I also think dma_alloc_coherent is far to complex, with pools and
more, to support KHO.
Agreed. dma_alloc_* is too complex with pools, CMAs and what not to
support fully in KHO.
I wonder if there's scope for supporting just some subset of it?
We have been experimenting with something like this. We have a usecase
where memory needs to be preserved but we want to avoid invasive changes
in the driver.
If it's not a crazy idea, maybe we can start with a very limited scope
of providing preservation for a subset of allocations done through the
DMA API? I can send out my proof of concept as an RFC after I'm done
with the next revision of my IOMMU persistence series. WDYT?
Sami