drivers/iommu/generic_pt/fmt/iommu_riscv64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
The RISC-V format advertises Svpbmt to its users, but omits the feature
from PT_SUPPORTED_FEATURES. Add it there so configurations which enable
Svpbmt pass generic page-table feature validation.
Fixes: f196a8668797 ("iommu/riscv: Advertise Svpbmt support to generic page table")
Signed-off-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
---
drivers/iommu/generic_pt/fmt/iommu_riscv64.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/generic_pt/fmt/iommu_riscv64.c b/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
index b18fc4d109f5..1bb74114fb02 100644
--- a/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
+++ b/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
@@ -7,7 +7,8 @@
#define PT_SUPPORTED_FEATURES \
(BIT(PT_FEAT_SIGN_EXTEND) | BIT(PT_FEAT_FLUSH_RANGE) | \
BIT(PT_FEAT_RISCV_SVNAPOT_64K) | \
- BIT(PT_FEAT_DETAILED_GATHER))
+ BIT(PT_FEAT_DETAILED_GATHER) | \
+ BIT(PT_FEAT_RISCV_SVPBMT))
#define PT_FORCE_ENABLED_FEATURES BIT(PT_FEAT_DETAILED_GATHER)
#include "iommu_template.h"
--
2.43.0
On Tue, Aug 18, 2026 at 11:24:44AM +0200, Andrew Jones wrote:
> The RISC-V format advertises Svpbmt to its users, but omits the feature
> from PT_SUPPORTED_FEATURES. Add it there so configurations which enable
> Svpbmt pass generic page-table feature validation.
>
> Fixes: f196a8668797 ("iommu/riscv: Advertise Svpbmt support to generic page table")
> Signed-off-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
> ---
> drivers/iommu/generic_pt/fmt/iommu_riscv64.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
>The RISC-V format advertises Svpbmt to its users, but omits the feature
>from PT_SUPPORTED_FEATURES. Add it there so configurations which enable
>Svpbmt pass generic page-table feature validation.
>
>Fixes: f196a8668797 ("iommu/riscv: Advertise Svpbmt support to generic page table")
>Signed-off-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
>---
> drivers/iommu/generic_pt/fmt/iommu_riscv64.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/iommu/generic_pt/fmt/iommu_riscv64.c b/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
>index b18fc4d109f5..1bb74114fb02 100644
>--- a/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
>+++ b/drivers/iommu/generic_pt/fmt/iommu_riscv64.c
>@@ -7,7 +7,8 @@
> #define PT_SUPPORTED_FEATURES \
> (BIT(PT_FEAT_SIGN_EXTEND) | BIT(PT_FEAT_FLUSH_RANGE) | \
> BIT(PT_FEAT_RISCV_SVNAPOT_64K) | \
>- BIT(PT_FEAT_DETAILED_GATHER))
>+ BIT(PT_FEAT_DETAILED_GATHER) | \
>+ BIT(PT_FEAT_RISCV_SVPBMT))
> #define PT_FORCE_ENABLED_FEATURES BIT(PT_FEAT_DETAILED_GATHER)
>
> #include "iommu_template.h"
>--
>2.43.0
>
Thanks for fixing this.
When I originally tested the Svpbmt support, I had CONFIG_DEBUG_GENERIC_PT
enabled by default, so this issue was hidden by the debug supported-feature
mask and did not show up in my testing.
Tested-by: Fangyu Yu <fangyu.yu@linux.alibaba.com>
© 2016 - 2026 Red Hat, Inc.