On Mon, Apr 28, 2025 at 09:09:19AM +0800, Baolu Lu wrote: > On 4/26/25 13:58, Nicolin Chen wrote: > > Add a new IOMMUFD_OBJ_VCMDQ with an iommufd_vcmdq structure, representing > > a command queue type of physical HW passed to a user space VM. This vCMDQ > > object, is a subset of vIOMMU resources of a physical IOMMU's, such as: > > - NVIDIA's virtual command queue > > - AMD vIOMMU's command buffer > > > > Inroduce a struct iommufd_vcmdq and its allocator iommufd_vcmdq_alloc(). > > Also add a pair of viommu ops for iommufd to forward user space ioctls to > > IOMMU drivers. > > > > Signed-off-by: Nicolin Chen<nicol...@nvidia.com> > > Reviewed-by: Lu Baolu <baolu...@linux.intel.com> > > with a small nit below ... > > > --- > > include/linux/iommufd.h | 35 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 35 insertions(+) > > > > diff --git a/include/linux/iommufd.h b/include/linux/iommufd.h > > index ef0d3c4765cf..e91381aaec5a 100644 > > --- a/include/linux/iommufd.h > > +++ b/include/linux/iommufd.h > > @@ -37,6 +37,7 @@ enum iommufd_object_type { > > IOMMUFD_OBJ_VIOMMU, > > IOMMUFD_OBJ_VDEVICE, > > IOMMUFD_OBJ_VEVENTQ, > > + IOMMUFD_OBJ_VCMDQ, > > #ifdef CONFIG_IOMMUFD_TEST > > IOMMUFD_OBJ_SELFTEST, > > #endif > > @@ -112,6 +113,14 @@ struct iommufd_vdevice { > > u64 id; /* per-vIOMMU virtual ID */ > > }; > > +struct iommufd_vcmdq { > > + struct iommufd_object obj; > > + struct iommufd_ctx *ictx; > > + struct iommufd_viommu *viommu; > > + dma_addr_t addr; > > It's better to add a comment to state that @addr is a guest physical > address. Or not?
Yea. Let's add one: dma_addr_t addr; /* in guest physical address space */ Thanks Nicolin