Re: [PATCH v2 02/19] iommufd/viommu: Add IOMMUFD_OBJ_VIOMMU and IOMMU_VIOMMU_ALLOC ioctl

From: Nicolin Chen
Date: Thu Sep 05 2024 - 13:11:39 EST


On Thu, Sep 05, 2024 at 12:53:02PM -0300, Jason Gunthorpe wrote:
> On Tue, Aug 27, 2024 at 09:59:39AM -0700, Nicolin Chen wrote:
> > +/**
> > + * struct iommu_viommu_alloc - ioctl(IOMMU_VIOMMU_ALLOC)
> > + * @size: sizeof(struct iommu_viommu_alloc)
> > + * @flags: Must be 0
> > + * @type: Type of the virtual IOMMU. Must be defined in enum iommu_viommu_type
> > + * @dev_id: The device to allocate this virtual IOMMU for
>
> @dev_id: The device's physical IOMMU will be used to back t he vIOMMU
>
> > + * @hwpt_id: ID of a nesting parent HWPT to associate to
>
> A nesting parent HWPT that will provide translation for an vIOMMU DMA
>
> > + * @out_viommu_id: Output virtual IOMMU ID for the allocated object
> > + *
> > + * Allocate a virtual IOMMU object that holds a (shared) nesting parent HWPT
>
> Allocate a virtual IOMMU object that represents the underlying
> physical IOMMU's virtualization support. The vIOMMU object is a
> security isolated slice of the physical IOMMU HW that is unique to a
> specific VM. Operations global to the IOMMU are connected to the
> vIOMMU, such as:
> - Security namespace for guest owned ID, eg guest controlled cache tags
> - Virtualization of various platforms IDs like RIDs and others
> - direct assigned invalidation queues
> - direct assigned interrupts
> - non-affiliated event reporting
> - Delivery of paravirtualized invalidation

Ack.

Looks like you prefer using "vIOMMU" v.s. "VIOMMU"? I would go
through all the patches (QEMU including) to keep that aligned.

Thanks
Nicolin