[RFC PATCH 0/5] Add debugfs support for ARM SMMUv3
Qinxin Xia
xiaqinxin at huawei.com
Fri Mar 13 03:43:46 PDT 2026
This patch series introduces a debugfs interface for the ARM SMMUv3
driver, enabling developers and system administrators to inspect the
internal state of the SMMU for debugging and diagnostic purposes.
The debugfs entries are organized under:
/sys/kernel/debug/iommu/arm_smmu_v3/
For each SMMU instance, a subdirectory named smmu3.<phys_addr> is
created (e.g. smmu3.0x0000000100100000). Inside, the following files are
available:
capabilities - Display SMMU feature capabilities and configuration
(stage support, coherency, ATS, PRI, queue depths)
registers - Show key control registers (CR0, CR1, CR2) and
command/event queue pointers (PROD/CONS)
stream_table/ - Directory per PCI device or platform device, named
as <bus:dev:func>:<stream-id>; contains:
ste - Stream Table Entry (STE) details and raw data
context_descriptors/
all - All valid Context Descriptors (CDs) for the device
The interface is designed with scalability in mind; additional
debugging features (e.g., queue dumping, event injection) can be added
later without breaking existing entries. Proper locking and error
handling ensure that the SMMU driver remains stable even when debugfs
accesses fail.
Qinxin Xia (5):
iommu/arm-smmu-v3: Add basic debugfs framework
iommu/arm-smmu-v3: Add register display to debugfs
iommu/arm-smmu-v3: Add Stream Table Entry display to debugfs
iommu/arm-smmu-v3: Add stream table directory structure to debugfs
iommu/arm-smmu-v3: Add Context Descriptor display to debugfs
drivers/iommu/Kconfig | 11 +
drivers/iommu/arm/arm-smmu-v3/Makefile | 1 +
.../arm/arm-smmu-v3/arm-smmu-v3-debugfs.c | 516 ++++++++++++++++++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 13 +
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 18 +
5 files changed, 559 insertions(+)
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-debugfs.c
--
2.33.0
More information about the linux-arm-kernel
mailing list