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

Hanjun Guo guohanjun at huawei.com
Mon Apr 8 11:14:42 AEST 2019


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.

Thanks
Hanjun



More information about the Linuxppc-dev mailing list