On Fri, Nov 16, 2018 at 08:52:14AM -0800, Palmer Dabbelt wrote:
As far as I can tell, it looks like m68k, mips, and powerpc mention an
IOMMU in their ports, don't set ARCH_HAS_SG_CHAIN, and with this patch set
won't set ARCH_NO_SG_CHAIN.
m68k has no iommu, and not operations that operate on a scatterlist.
mips has a trivial iommu driver (jazzdma), but I wrote the current
instance of it, nad it is fine.
powerpc has various iommu, but actually enables ARCH_HAS_SG_CHAIN
unconditionally.
The issue is that I'm not sure how to
determine what constitutes a horrible legacy IOMMU, at least with respect
to not being able to use scatterlist chaining.
It basically means someone is iterating using manual pointer arithmetics
over a multi-element scatterlist instead of using the sg_next and
for_each_sg helpers.