This RFC series is the followed patch of this discussion: https://www.spinics.net/lists/arm-kernel/msg866187.html.
Currently there is no debug interface about SMMUv3 driver, which makes it not convenient when we want to dump some information, like the value of CD/STE, S1/S2 page table, SMMU registers or cmd/event/pri queues. This series tries to add support of dumping CD/STE and page table. The interface design is that user sets device/pasid firstly by sysfs files and then read related sysfs file to get information: (currently only support PCI device) echo <domain>:<bus>:<dev>.<fun> > /sys/kernel/debug/iommu/smmuv3/pci_dev echo <pasid> > /sys/kernel/debug/iommu/smmuv3/pasid Then value in CD and STE can be got by: cat /sys/kernel/debug/iommu/smmuv3/ste cat /sys/kernel/debug/iommu/smmuv3/cd S1 and S2 page tables can be got by: cat /sys/kernel/debug/iommu/smmuv3/pt_dump_s1 cat /sys/kernel/debug/iommu/smmuv3/pt_dump_s2 For STE, CD and page table, related device and pasid are set in pci_dev and pasid files as above. First and second patch export some help functions or macros in arm-smmu-v3 and io-pgtable-arm codes, so we can reuse them in debugfs.c. As a RFC, this series does not go further to dump SMMU registers and cmd/event/pri queues. I am not sure this series is in the right way, so let's post it out and have a discussion. Looking forward to any feedback. Zhou Wang (3): iommu/arm-smmu-v3: Export cd/ste get functions iommu/io-pgtable: Export page table walk needed functions and macros iommu/arm-smmu-v3: Add debug interfaces for SMMUv3 drivers/iommu/Kconfig | 11 + drivers/iommu/arm/arm-smmu-v3/Makefile | 1 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 10 +- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 10 + drivers/iommu/arm/arm-smmu-v3/debugfs.c | 398 ++++++++++++++++++++++++++++ drivers/iommu/io-pgtable-arm.c | 47 +--- drivers/iommu/io-pgtable-arm.h | 43 +++ 7 files changed, 475 insertions(+), 45 deletions(-) create mode 100644 drivers/iommu/arm/arm-smmu-v3/debugfs.c -- 2.8.1 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu