[PATCH] iommu: restrict scratch page quarantining to x86

Stewart Hildebrand posted 1 patch 3 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20250724174351.3969-1-stewart.hildebrand@amd.com
xen/drivers/passthrough/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] iommu: restrict scratch page quarantining to x86
Posted by Stewart Hildebrand 3 months, 1 week ago
All IOMMU_QUARANTINE_* options are exposed on Arm since 163c6b589879
("xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option"). However,
only NONE and BASIC are implemented in any Arm iommu driver since
63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3") and
ca8f6ffeb6e3 ("xen/arm: smmuv2: Add PCI devices support for SMMUv2").
SCRATCH_PAGE is not yet implemented in any Arm iommu driver. Restrict
scratch page quarantining to x86 for now.

Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
Cc'ing Arm maintainers to request an Arm ack.
---
 xen/drivers/passthrough/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 78edd805365e..11aece5f7bda 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -90,4 +90,5 @@ choice
 		bool "basic"
 	config IOMMU_QUARANTINE_SCRATCH_PAGE
 		bool "scratch page"
+		depends on X86
 endchoice

base-commit: 150b773a484c911e2926f65adb576e1cdf9de7cf
-- 
2.50.1
Re: [PATCH] iommu: restrict scratch page quarantining to x86
Posted by Roger Pau Monné 3 months, 1 week ago
On Thu, Jul 24, 2025 at 01:43:48PM -0400, Stewart Hildebrand wrote:
> All IOMMU_QUARANTINE_* options are exposed on Arm since 163c6b589879
> ("xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option"). However,
> only NONE and BASIC are implemented in any Arm iommu driver since
> 63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3") and
> ca8f6ffeb6e3 ("xen/arm: smmuv2: Add PCI devices support for SMMUv2").
> SCRATCH_PAGE is not yet implemented in any Arm iommu driver. Restrict
> scratch page quarantining to x86 for now.
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> Cc'ing Arm maintainers to request an Arm ack.
> ---
>  xen/drivers/passthrough/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 78edd805365e..11aece5f7bda 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -90,4 +90,5 @@ choice
>  		bool "basic"
>  	config IOMMU_QUARANTINE_SCRATCH_PAGE
>  		bool "scratch page"
> +		depends on X86

Since this is tied to specific IOMMU implementations, could you please
tie it to AMD_IOMMU and INTEL_IOMMU instead of X86?

depends on AMD_IOMMU || INTEL_IOMMU

Should do it I think?

Thanks, Roger.
Re: [PATCH] iommu: restrict scratch page quarantining to x86
Posted by Stewart Hildebrand 3 months ago
On 7/25/25 04:01, Roger Pau Monné wrote:
> On Thu, Jul 24, 2025 at 01:43:48PM -0400, Stewart Hildebrand wrote:
>> All IOMMU_QUARANTINE_* options are exposed on Arm since 163c6b589879
>> ("xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option"). However,
>> only NONE and BASIC are implemented in any Arm iommu driver since
>> 63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3") and
>> ca8f6ffeb6e3 ("xen/arm: smmuv2: Add PCI devices support for SMMUv2").
>> SCRATCH_PAGE is not yet implemented in any Arm iommu driver. Restrict
>> scratch page quarantining to x86 for now.
>>
>> Reported-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> Cc'ing Arm maintainers to request an Arm ack.
>> ---
>>  xen/drivers/passthrough/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
>> index 78edd805365e..11aece5f7bda 100644
>> --- a/xen/drivers/passthrough/Kconfig
>> +++ b/xen/drivers/passthrough/Kconfig
>> @@ -90,4 +90,5 @@ choice
>>  		bool "basic"
>>  	config IOMMU_QUARANTINE_SCRATCH_PAGE
>>  		bool "scratch page"
>> +		depends on X86
> 
> Since this is tied to specific IOMMU implementations, could you please
> tie it to AMD_IOMMU and INTEL_IOMMU instead of X86?
> 
> depends on AMD_IOMMU || INTEL_IOMMU
> 
> Should do it I think?

Yes, that makes sense. Since the version with X86 was already committed,
I'll send the modification with a Fixes: tag.

Re: [PATCH] iommu: restrict scratch page quarantining to x86
Posted by Stefano Stabellini 3 months, 1 week ago
On Thu, 24 Jul 2025, Stewart Hildebrand wrote:
> All IOMMU_QUARANTINE_* options are exposed on Arm since 163c6b589879
> ("xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option"). However,
> only NONE and BASIC are implemented in any Arm iommu driver since
> 63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3") and
> ca8f6ffeb6e3 ("xen/arm: smmuv2: Add PCI devices support for SMMUv2").
> SCRATCH_PAGE is not yet implemented in any Arm iommu driver. Restrict
> scratch page quarantining to x86 for now.
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Cc'ing Arm maintainers to request an Arm ack.
> ---
>  xen/drivers/passthrough/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 78edd805365e..11aece5f7bda 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -90,4 +90,5 @@ choice
>  		bool "basic"
>  	config IOMMU_QUARANTINE_SCRATCH_PAGE
>  		bool "scratch page"
> +		depends on X86
>  endchoice
> 
> base-commit: 150b773a484c911e2926f65adb576e1cdf9de7cf
> -- 
> 2.50.1
>