Re: [PATCH 02/17] iommu: Add nested domain support

From: Nicolin Chen
Date: Tue Feb 14 2023 - 13:48:30 EST


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