[PATCH v3 0/2] iommu/riscv: Support Svpbmt memory types in generic_pt
From: fangyu . yu
Date: Fri Apr 17 2026 - 10:11:32 EST
From: Fangyu Yu <fangyu.yu@xxxxxxxxxxxxxxxxx>
RISC-V Svpbmt adds page-based memory types (PBMT) to PTEs, allowing
mappings to be tagged as e.g. normal memory, non-cacheable memory, or
I/O.
This series wires the RISC-V IOMMU Svpbmt capability into generic_pt
and uses PBMT to encode device memory attributes for IOMMU mappings.
---
Changes in v3:
- Include RISCVPT_NC and RISCVPT_IO in riscvpt_attr_from_entry()
to keep iommupt KUnit tests in sync.
- Link to v2:
https://lore.kernel.org/linux-riscv/20260414110212.79526-1-fangyu.yu@xxxxxxxxxxxxxxxxx
---
Changes in v2:
- Add a comment for PT_FEAT_RISCV_SVPBMT (per Kevin and Jason).
- Clarify PBMT encoding condition, sort PBMT-related bits by
position, and drop the redundant PBMT clear(per Kevin).
- Link to v1:
https://lore.kernel.org/linux-iommu/20260411022223.91029-1-fangyu.yu@xxxxxxxxxxxxxxxxx/
Fangyu Yu (2):
iommu/riscv: Advertise Svpbmt support to generic page table
iommupt: Encode IOMMU_MMIO/IOMMU_CACHE via RISC-V Svpbmt bits
drivers/iommu/generic_pt/fmt/riscv.h | 11 ++++++++++-
drivers/iommu/riscv/iommu.c | 2 ++
include/linux/generic_pt/common.h | 4 ++++
3 files changed, 16 insertions(+), 1 deletion(-)
--
2.50.1