* [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
@ 2019-11-09 3:40 Lu Baolu
2019-11-09 3:59 ` Qian Cai
2019-11-11 2:58 ` Qian Cai
0 siblings, 2 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-09 3:40 UTC (permalink / raw)
To: Joerg Roedel, David Woodhouse
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan
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@linux.intel.com>
---
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.
+
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@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-09 3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
@ 2019-11-09 3:59 ` Qian Cai
2019-11-11 1:27 ` Lu Baolu
2019-11-11 2:58 ` Qian Cai
1 sibling, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-09 3:59 UTC (permalink / raw)
To: Lu Baolu
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
> On Nov 8, 2019, at 10:40 PM, Lu Baolu <baolu.lu@linux.intel.com> 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@linux.intel.com>
> ---
> 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@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-09 3:59 ` Qian Cai
@ 2019-11-11 1:27 ` Lu Baolu
2019-11-11 2:00 ` Qian Cai
0 siblings, 1 reply; 9+ messages in thread
From: Lu Baolu @ 2019-11-11 1:27 UTC (permalink / raw)
To: Qian Cai
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
Hi,
On 11/9/19 11:59 AM, Qian Cai wrote:
>
>
>> On Nov 8, 2019, at 10:40 PM, Lu Baolu <baolu.lu@linux.intel.com> 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@linux.intel.com>
>> ---
>> 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@lists.linux-foundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/iommu
>
>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-11 1:27 ` Lu Baolu
@ 2019-11-11 2:00 ` Qian Cai
2019-11-11 2:17 ` Lu Baolu
0 siblings, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11 2:00 UTC (permalink / raw)
To: Lu Baolu
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
> On Nov 10, 2019, at 8:30 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>
> How about "pasid based multiple stages DMA translation"?
It is better but I am still not sure how developers should select it or not when asking. Ideally, should it mention pros and cons of this? At minimal, there should be a line said “if not sure what this is, select N”?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-11 2:00 ` Qian Cai
@ 2019-11-11 2:17 ` Lu Baolu
0 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-11 2:17 UTC (permalink / raw)
To: Qian Cai
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
Hi,
On 11/11/19 10:00 AM, Qian Cai wrote:
>
>
>> On Nov 10, 2019, at 8:30 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> How about "pasid based multiple stages DMA translation"?
>
> It is better but I am still not sure how developers should select it or not when asking. Ideally, should it mention pros and cons of this? At minimal, there should be a line said “if not sure what this is, select N”?
>
Actually, I'd recommend "if not sure, use the default value". :-)
Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-09 3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
2019-11-09 3:59 ` Qian Cai
@ 2019-11-11 2:58 ` Qian Cai
2019-11-11 5:20 ` Lu Baolu
1 sibling, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11 2:58 UTC (permalink / raw)
To: Lu Baolu
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
> On Nov 8, 2019, at 10:43 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>
> +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.
> +
Does it also make sense to mention which hardware presents this capability or how to check it?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-11 2:58 ` Qian Cai
@ 2019-11-11 5:20 ` Lu Baolu
2019-11-11 14:05 ` Qian Cai
0 siblings, 1 reply; 9+ messages in thread
From: Lu Baolu @ 2019-11-11 5:20 UTC (permalink / raw)
To: Qian Cai
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
Hi,
On 11/11/19 10:58 AM, Qian Cai wrote:
>
>
>> On Nov 8, 2019, at 10:43 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> +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.
>> +
>
> Does it also make sense to mention which hardware presents this capability or how to check it?
>
The scalable mode is defined in VT-d 3.0. The scalable mode capability
could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
iommu/ecap. It's currently not friendly for reading. You need to decode
it according to the spec.
Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-11 5:20 ` Lu Baolu
@ 2019-11-11 14:05 ` Qian Cai
2019-11-12 5:48 ` Lu Baolu
0 siblings, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11 14:05 UTC (permalink / raw)
To: Lu Baolu
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
> On Nov 11, 2019, at 12:23 AM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>
> The scalable mode is defined in VT-d 3.0. The scalable mode capability
> could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
> iommu/ecap. It's currently not friendly for reading. You need to decode
> it according to the spec.
This looks like some perfect information to put in the Kconfig description.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
2019-11-11 14:05 ` Qian Cai
@ 2019-11-12 5:48 ` Lu Baolu
0 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-12 5:48 UTC (permalink / raw)
To: Qian Cai
Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
David Woodhouse
Hi,
On 11/11/19 10:05 PM, Qian Cai wrote:
>
>
>> On Nov 11, 2019, at 12:23 AM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> The scalable mode is defined in VT-d 3.0. The scalable mode capability
>> could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
>> iommu/ecap. It's currently not friendly for reading. You need to decode
>> it according to the spec.
>
> This looks like some perfect information to put in the Kconfig description.
>
Okay. Will add it in the next version.
Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-11-12 5:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-09 3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
2019-11-09 3:59 ` Qian Cai
2019-11-11 1:27 ` Lu Baolu
2019-11-11 2:00 ` Qian Cai
2019-11-11 2:17 ` Lu Baolu
2019-11-11 2:58 ` Qian Cai
2019-11-11 5:20 ` Lu Baolu
2019-11-11 14:05 ` Qian Cai
2019-11-12 5:48 ` Lu Baolu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).