From: Jason Gunthorpe jgg@nvidia.com Sent: Tuesday, November 8, 2022 8:49 AM
Connect the IOAS to its IOCTL interface. This exposes most of the functionality in the io_pagetable to userspace.
This is intended to be the core of the generic interface that IOMMUFD will provide. Every IOMMU driver should be able to implement an iommu_domain that is compatible with this generic mechanism.
It is also designed to be easy to use for simple non virtual machine monitor users, like DPDK:
- Universal simple support for all IOMMUs (no PPC special path)
- An IOVA allocator that considers the aperture and the allowed/reserved ranges
- io_pagetable allows any number of iommu_domains to be connected to
the IOAS
- Automatic allocation and re-use of iommu_domains
Along with room in the design to add non-generic features to cater to specific HW functionality.
Tested-by: Nicolin Chen nicolinc@nvidia.com Signed-off-by: Jason Gunthorpe jgg@nvidia.com Signed-off-by: Nicolin Chen nicolinc@nvidia.com
with kernel-doc warning fixed:
Reviewed-by: Kevin Tian kevin.tian@intel.com