[virtio-dev] RE: [virtio-comment] Re: [PATCH v2 0/2] transport-pci: Introduce legacy registers access using AQ

Parav Pandit
2023-05-15T15:26:49Z

> From: Jason Wang <jasowang@redhat.com>
> Sent: Thursday, May 11, 2023 3:21 AM
>
> On Thu, May 11, 2023 at 12:08 AM Parav Pandit <parav@nvidia.com> wrote:
> >
> >
> >
> > On 5/10/2023 12:22 AM, Jason Wang wrote:
> > > On Wed, May 10, 2023 at 11:51 AM Jason Wang <jasowang@redhat.com>
> wrote:
> >
> > >
> > > Just to make sure we are at the same page.
> > >
> > > 1) if the hardware has configq and we need to make it work for
> > > current virtio-pci driver, hypervisor needs to trap guest PCI access
> > > and translate it to configq command. This means the hypervisor needs
> > > to hide the configq from guests. In this case the configq needs a
> > > dedicated DMA address which is what PASID can help.
> >
> > > 2) if the hardware can report the device states, unless we want to
> > > migrate L2 guest, hypervisor should hide it from L1, so PASID is
> > > required to isolate the DMA for guest traffic and device state.
> >
> > A configq negotiates + discovers new fields for the PCI PF, VF,
> > SF/SIOV devices over PCIe or other transports.
> > So no need to hide/mediate for hw based devices, like cvq and like data vqs.
>
> As discussed, I may misunderstand the function of the configq. If it works like
> cvq, then yes. We don't need PASID.
>
Right.

> But if we want to report device state via let's say migration q, it requires PASID
> since it is used by the hypervisor.

When a device is used as passthrough, usually the owner group member would perform the device state management.
Hence passthrough mode will not use pasid.

When device is mediated in HV, yes PASID may be needed to isolate the DMA of hypervisor from the guest.