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

Reply via email to