Allow device drivers and VFIO to get notified on IOMMU translation fault, and handle recoverable faults (PCI PRI). Several series require this API (Intel VT-d and Arm SMMUv3 nested support, as well as the generic host SVA implementation).
Changes since v1 [1]: * Allocate iommu_param earlier, in iommu_probe_device(). * Pass struct iommu_fault to fault handlers, instead of the iommu_fault_event wrapper. * Removed unused iommu_fault_event::iommu_private. * Removed unnecessary iommu_page_response::addr. * Added iommu_page_response::version, which would allow to introduce a new incompatible iommu_page_response structure (as opposed to just adding a flag + field). [1] [PATCH 0/4] iommu: Add device fault reporting API https://lore.kernel.org/lkml/20190523180613.55049-1-jean-philippe.bruc...@arm.com/ Jacob Pan (3): driver core: Add per device iommu param iommu: Introduce device fault data iommu: Introduce device fault report API Jean-Philippe Brucker (1): iommu: Add recoverable fault reporting drivers/iommu/iommu.c | 236 ++++++++++++++++++++++++++++++++++++- include/linux/device.h | 3 + include/linux/iommu.h | 87 ++++++++++++++ include/uapi/linux/iommu.h | 153 ++++++++++++++++++++++++ 4 files changed, 476 insertions(+), 3 deletions(-) create mode 100644 include/uapi/linux/iommu.h -- 2.21.0