[RFC 0/6] RISC-V IOMMU HPM and nested IOMMU support

From: Zong Li
Date: Tue May 07 2024 - 10:07:47 EST


This series includes RISC-V IOMMU hardware performance monitor and
nested IOMMU support. It also introduces operations for the g-stage
table, which are required for nested IOMMU.

This patch set is implemented on top of the RISC-V IOMMU v4 series [1],
and it will be submitted as an RFC until the RISC-V IOMMU has been
merged. Additionally, it will be updated as needed when a new version
of the RISC-V IOMMU series is posted.

[1] link: https://lists.infradead.org/pipermail/linux-riscv/2024-May/053708.html

Zong Li (6):
iommu/riscv: Add RISC-V IOMMU PMU support
iommu/riscv: Support HPM and interrupt handling
iommu/riscv: support GSCID
iommu/riscv: support nested iommu for getting iommu hardware
information
iommu/riscv: support nested iommu for creating domains owned by
userspace
iommu/riscv: support nested iommu for flushing cache

drivers/iommu/riscv/Makefile | 4 +-
drivers/iommu/riscv/iommu-bits.h | 22 ++
drivers/iommu/riscv/iommu-pmu.c | 477 ++++++++++++++++++++++++++++++
drivers/iommu/riscv/iommu.c | 481 +++++++++++++++++++++++++++++--
drivers/iommu/riscv/iommu.h | 8 +
include/uapi/linux/iommufd.h | 39 +++
6 files changed, 1002 insertions(+), 29 deletions(-)
create mode 100644 drivers/iommu/riscv/iommu-pmu.c

--
2.17.1