On 2024/10/22 8:19, Nicolin Chen wrote:
- @viommu_alloc: Allocate an iommufd_viommu on a physical IOMMU instance behind
the @dev, as the set of virtualization resources shared/passed
to user space IOMMU instance. And associate it with a nesting
@parent_domain. The @viommu_type must be defined in the header
include/uapi/linux/iommufd.h
It is suggested to call iommufd_viommu_alloc() helper for
a bundled allocation of the core and the driver structures,
using the given @ictx pointer.
- @pgsize_bitmap: bitmap of all possible supported page sizes
- @owner: Driver module providing these ops
- @identity_domain: An always available, always attachable identity
@@ -591,6 +601,10 @@ struct iommu_ops { void (*remove_dev_pasid)(struct device *dev, ioasid_t pasid, struct iommu_domain *domain);
- struct iommufd_viommu *(*viommu_alloc)(
struct device *dev, struct iommu_domain *parent_domain,
struct iommufd_ctx *ictx, unsigned int viommu_type);
Is the vIOMMU object limited to a parent domain?
Thanks, baolu