lkml.org 
[lkml]   [2019]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v5 0/6] add generic boot option for IOMMU dma mode
    Date
    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 (6):
    iommu: add generic boot option iommu.dma_mode
    iommu: add build options corresponding to iommu.dma_mode
    iommu: add iommu_default_dma_mode_get/set() helper
    s390/pci: add support for generic boot option iommu.dma_mode
    powernv/iommu: add support for generic boot option iommu.dma_mode
    x86/iommu: add support for generic boot option iommu.dma_mode

    Documentation/admin-guide/kernel-parameters.txt | 19 +++++++
    arch/ia64/include/asm/iommu.h | 2 -
    arch/ia64/kernel/pci-dma.c | 2 -
    arch/powerpc/platforms/powernv/pci-ioda.c | 5 +-
    arch/s390/pci/pci_dma.c | 14 ++---
    arch/x86/include/asm/iommu.h | 1 -
    arch/x86/kernel/pci-dma.c | 35 ++++++------
    drivers/iommu/Kconfig | 45 ++++++++++++---
    drivers/iommu/amd_iommu.c | 10 ++--
    drivers/iommu/amd_iommu_init.c | 4 +-
    drivers/iommu/amd_iommu_types.h | 6 --
    drivers/iommu/intel-iommu.c | 9 ++-
    drivers/iommu/iommu.c | 73 ++++++++++++++++++++-----
    include/linux/iommu.h | 23 ++++++++
    14 files changed, 176 insertions(+), 72 deletions(-)

    --
    1.8.3


    \
     
     \ /
      Last update: 2019-04-09 14:55    [W:6.586 / U:1.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site