Re: [PATCH v2 09/19] iommu/vt-d: Enlightened PASID allocation

From: Jacob Pan
Date: Thu Apr 25 2019 - 19:00:53 EST


On Thu, 25 Apr 2019 09:40:31 +0200
Auger Eric <eric.auger@xxxxxxxxxx> wrote:

> Hi Liu,
>
> On 4/25/19 9:12 AM, Liu, Yi L wrote:
> > Hi Eric,
> >
> >> From: Auger Eric [mailto:eric.auger@xxxxxxxxxx]
> >> Sent: Thursday, April 25, 2019 1:28 AM
> >> To: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>;
> >> iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; Subject: Re: [PATCH v2 09/19]
> >> iommu/vt-d: Enlightened PASID allocation
> >>
> >> Hi Jacob,
> >>
> >> On 4/24/19 1:31 AM, Jacob Pan wrote:
> >>> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> >>>
> >>> If Intel IOMMU runs in caching mode, a.k.a. virtual IOMMU, the
> >>> IOMMU driver should rely on the emulation software to allocate
> >>> and free PASID IDs.
> >> Do we make the decision depending on the CM or depending on the
> >> VCCAP_REG?
> >>
> >> VCCAP_REG description says:
> >>
> >> If Set, software must use Virtual Command Register interface to
> >> allocate and free PASIDs.
> >
> > The answer is it depends on the ECAP.VCS and then the PASID
> > allocation bit in VCCAP_REG. But VCS bit implies the iommu is a
> > software implementation (vIOMMU) of vt-d architecture. Pls refer to
> > the descriptions of "Virtual Command Support" in vt-d 3.0 spec.
> >
> > "Hardware implementations of this architecture report a value of 0
> > in this field. Software implementations (emulation) of this
> > architecture may report VCS=1."
>
> OK I understand. But strictly speaking a vIOMMU may not implement CM.
> But that's nitpicking ;-)
>
CAP.CM (caching mode) and ECAP.VCS(virtual command support) are
separate. I think we are mixing the two here since both are sufficient
condition to indicate whether we are running in a guest.
> Thanks
>
> Eric
> >
> > Thanks,
> > Yi Liu
> >

[Jacob Pan]