[PATCH 0/6] iommufd: Add iommu capability reporting

From: Yi Liu
Date: Wed Feb 08 2023 - 23:19:26 EST


iommufd gives userspace the capabilty to manipulating iommu subsytem.
e.g. DMA map/unmap etc. In the near future, it will also support iommu
nested translation. Different platform vendors have different implementation
for the nested translation. So before set up nested translation, userspace
needs to know the hardware iommu capabilities. For example, Intel platform
supports guest I/O page table to be the first stage translation structure.

This series reports the iommu capability for a given iommufd_device which
has been bound to iommufd. It is a preparation work for nested translation
support[1]. In this series, Intel VT-d capability reporting is added. Other
vendors may add their own reporting based on this series.

[1] https://github.com/yiliu1765/iommufd/tree/iommufd_nesting_vtd_v1

Regards,
Yi Liu

Lu Baolu (2):
iommu: Add new iommu op to get iommu hardware information
iommu/vt-d: Implement hw_info for iommu capability query

Nicolin Chen (2):
iommufd/selftest: Set iommu_device for mock_device
iommufd/selftest: Add coverage for IOMMU_DEVICE_GET_INFO ioctl

Yi Liu (2):
iommufd: Add IOMMU_DEVICE_GET_INFO
iommufd/device: Add mock_device support in iommufd_device_get_info()

drivers/iommu/intel/iommu.c | 19 ++++
drivers/iommu/intel/iommu.h | 1 +
drivers/iommu/iommufd/device.c | 91 +++++++++++++++++++
drivers/iommu/iommufd/iommufd_private.h | 2 +
drivers/iommu/iommufd/iommufd_test.h | 15 +++
drivers/iommu/iommufd/main.c | 3 +
drivers/iommu/iommufd/selftest.c | 26 ++++++
include/linux/iommu.h | 8 ++
include/uapi/linux/iommufd.h | 63 +++++++++++++
tools/testing/selftests/iommu/iommufd.c | 18 +++-
tools/testing/selftests/iommu/iommufd_utils.h | 26 ++++++
11 files changed, 271 insertions(+), 1 deletion(-)

--
2.34.1