mbox series

[v6,0/1] iommu: enhance IOMMU dma mode build options

Message ID 20190418135701.24668-1-thunder.leizhen@huawei.com
Headers show
Series iommu: enhance IOMMU dma mode build options | expand

Message

Zhen Lei April 18, 2019, 1:57 p.m. UTC
v5 --> v6:
1. give up adding boot option iommu.dma_mode

v4 --> v5:
As Hanjun and Thomas Gleixner's suggestion:
1. Keep the old ARCH specific boot options no change.
2. Keep build option CONFIG_IOMMU_DEFAULT_PASSTHROUGH no change.

v4:
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 (1):
  iommu: enhance IOMMU dma mode build options

 arch/ia64/kernel/pci-dma.c                |  2 +-
 arch/powerpc/platforms/powernv/pci-ioda.c |  3 ++-
 arch/s390/pci/pci_dma.c                   |  2 +-
 arch/x86/kernel/pci-dma.c                 |  7 ++---
 drivers/iommu/Kconfig                     | 44 ++++++++++++++++++++++++++-----
 drivers/iommu/amd_iommu_init.c            |  3 ++-
 drivers/iommu/intel-iommu.c               |  2 +-
 drivers/iommu/iommu.c                     |  3 ++-
 8 files changed, 48 insertions(+), 18 deletions(-)

-- 
1.8.3

Comments

Zhen Lei May 4, 2019, 8:44 a.m. UTC | #1
Hi all,
  Can anybody review or comment?


On 2019/4/18 21:57, Zhen Lei wrote:
> v5 --> v6:

> 1. give up adding boot option iommu.dma_mode

> 

> v4 --> v5:

> As Hanjun and Thomas Gleixner's suggestion:

> 1. Keep the old ARCH specific boot options no change.

> 2. Keep build option CONFIG_IOMMU_DEFAULT_PASSTHROUGH no change.

> 

> v4:

> 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 (1):

>   iommu: enhance IOMMU dma mode build options

> 

>  arch/ia64/kernel/pci-dma.c                |  2 +-

>  arch/powerpc/platforms/powernv/pci-ioda.c |  3 ++-

>  arch/s390/pci/pci_dma.c                   |  2 +-

>  arch/x86/kernel/pci-dma.c                 |  7 ++---

>  drivers/iommu/Kconfig                     | 44 ++++++++++++++++++++++++++-----

>  drivers/iommu/amd_iommu_init.c            |  3 ++-

>  drivers/iommu/intel-iommu.c               |  2 +-

>  drivers/iommu/iommu.c                     |  3 ++-

>  8 files changed, 48 insertions(+), 18 deletions(-)

> 


-- 
Thanks!
BestRegards