On Wed, Feb 08, 2023 at 08:31:38PM -0800, Yi Liu wrote: > From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > > Introduce a new domain type for a user space I/O address, 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. > > An new domain op, named iotlb_sync_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. Following the remarks from Jason and Robin in their first looks at the nested SMMU changes, perhaps we should rename this op "iotlb_sync_user" back to "cache_invalidate_user" or so, since the type for the caches on VT-d isn't confined to IOTLB either. Thanks Nic