[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZxcspVGPBmABjUPu@nvidia.com>
Date: Mon, 21 Oct 2024 21:40:05 -0700
From: Nicolin Chen <nicolinc@...dia.com>
To: Baolu Lu <baolu.lu@...ux.intel.com>
CC: <jgg@...dia.com>, <kevin.tian@...el.com>, <will@...nel.org>,
<joro@...tes.org>, <suravee.suthikulpanit@....com>, <robin.murphy@....com>,
<dwmw2@...radead.org>, <shuah@...nel.org>, <linux-kernel@...r.kernel.org>,
<iommu@...ts.linux.dev>, <linux-arm-kernel@...ts.infradead.org>,
<linux-kselftest@...r.kernel.org>, <eric.auger@...hat.com>,
<jean-philippe@...aro.org>, <mdf@...nel.org>, <mshavit@...gle.com>,
<shameerali.kolothum.thodi@...wei.com>, <smostafa@...gle.com>,
<yi.l.liu@...el.com>, <aik@....com>, <zhangfei.gao@...aro.org>,
<patches@...ts.linux.dev>
Subject: Re: [PATCH v4 02/11] iommufd: Introduce IOMMUFD_OBJ_VIOMMU and its
related struct
On Tue, Oct 22, 2024 at 10:28:30AM +0800, Baolu Lu wrote:
> 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?
Yes, for each vIOMMU (a slice of physical IOMMU per VM), one S2
parent domain is enough. Typically, it has the mappings between
gPAs and hPAs. If its format/compatibility allows, this single
parent domain can be shared with other vIOMMUs.
Thanks
Nicolin
Powered by blists - more mailing lists