> From: Liu, Yi L <yi.l.liu@xxxxxxxxx> > Sent: Monday, July 24, 2023 7:04 PM > > From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > > Introduce a new domain type for a user I/O page table, which is nested > on top of another user space address represented by a UNMANAGED > domain. The > mappings of a nested domain are managed by user space software, > therefore > it's unnecessary to have map/unmap callbacks. But the updates of the PTEs > in the nested domain page table must be propagated to the caches on both > IOMMU (IOTLB) and devices (DevTLB). > > The nested domain is allocated by the domain_alloc_user op, and attached > to the device through the existing iommu_attach_device/group() interfaces. > > A new domain op, named cache_invalidate_user is added for the userspace > to > flush the hardware caches for a nested domain through iommufd. No > wrapper > for it, as it's only supposed to be used by iommufd. > > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > Co-developed-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>