Re: [PATCH v4 0/6] normalize IOMMU dma mode boot options

From: Hanjun Guo
Date: Sun Apr 07 2019 - 21:15:29 EST

Hi Zhen,

On 2019/4/7 20:41, Zhen Lei wrote:
> As Robin Murphy's suggestion:
> "It's also not necessarily obvious to the user how this interacts with
> IOMMU_DEFAULT_PASSTHROUGH, so if we really do go down this route, maybe it
> would be better to refactor the whole lot into a single selection of something
> like IOMMU_DEFAULT_MODE anyway."
> In this version, I tried to normalize the IOMMU dma mode boot options for all
> ARCHs. When IOMMU is enabled, there are 3 dma modes: paasthrough(bypass),
> lazy(mapping but defer the IOTLB invalidation), strict. But currently each
> ARCHs defined their private boot options, different with each other. For
> example, to enable/disable "passthrough", ARM64 use iommu.passthrough=1/0,
> X86 use iommu=pt/nopt, PPC/POWERNV use iommu=nobypass.
> Zhen Lei (6):
> iommu: use iommu.dma_mode to replace iommu.passthrough and
> iommu.strict
> iommu: keep dma mode build options consistent with cmdline options
> iommu: add iommu_default_dma_mode_get() helper
> s390/pci: use common boot option iommu.dma_mode
> powernv/iommu: use common boot option iommu.dma_mode
> x86/iommu: use common boot option iommu.dma_mode

This will break systems using boot options as now, and I think
this is unacceptable. If you want to do so, just introduce iommu.dma_mode
on top of those iommu boot options with dma mode boot options unchanged,
and iommu.dma_mode is for all archs but compatible with them.