Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode

From: Lu Baolu
Date: Sun Nov 10 2019 - 20:30:40 EST


Hi,

On 11/9/19 11:59 AM, Qian Cai wrote:


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?

How about "pasid based multiple stages DMA translation"?

Best regards,
baolu


+
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