Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
From: Qian Cai
Date: Fri Nov 08 2019 - 22:59:13 EST
> On Nov 8, 2019, at 10:40 PM, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:
>
> This adds Kconfig option INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> to make it easier for distributions to enable or disable the
> Intel IOMMU scalable mode by default during kernel build.
>
> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> ---
> drivers/iommu/Kconfig | 9 +++++++++
> drivers/iommu/intel-iommu.c | 7 ++++++-
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index e3842eabcfdd..fbdf3fd291d9 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -242,6 +242,15 @@ config INTEL_IOMMU_FLOPPY_WA
> workaround will setup a 1:1 mapping for the first
> 16MiB to make floppy (an ISA device) work.
>
> +config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> + prompt "Enable Intel IOMMU scalable mode by default"
> + depends on INTEL_IOMMU
> + help
> + Selecting this option will enable the scalable mode if
> + hardware presents the capability. If this option is not
> + selected, scalable mode support could also be enabled
> + by passing intel_iommu=sm_on to the kernel.
Maybe a sentence or two to describe what the scalable mode is in layman's
terms could be useful, so developers donât need to search around for the
Kconfig selection?
> +
> config IRQ_REMAP
> bool "Support for Interrupt Remapping"
> depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
> index 6db6d969e31c..6051fe790c61 100644
> --- a/drivers/iommu/intel-iommu.c
> +++ b/drivers/iommu/intel-iommu.c
> @@ -355,9 +355,14 @@ static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
> int dmar_disabled = 0;
> #else
> int dmar_disabled = 1;
> -#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
> +#endif /* CONFIG_INTEL_IOMMU_DEFAULT_ON */
>
> +#ifdef INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> +int intel_iommu_sm = 1;
> +#else
> int intel_iommu_sm;
> +#endif /* INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON */
> +
> int intel_iommu_enabled = 0;
> EXPORT_SYMBOL_GPL(intel_iommu_enabled);
>
> --
> 2.17.1
>
> _______________________________________________
> iommu mailing list
> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linuxfoundation.org/mailman/listinfo/iommu