Re: [virtio-dev] [PATCH 08/11] transport-pci: Introduce virtio extended capability

Jason Wang
2023-04-10T07:17:01Z

On Mon, Apr 10, 2023 at 2:24 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Mon, Apr 10, 2023 at 09:36:17AM +0800, Jason Wang wrote:
> > On Fri, Mar 31, 2023 at 7:00 AM Parav Pandit <parav@nvidia.com> wrote:
> > >
> > > PCI device configuration space for capabilities is limited to only 192
> > > bytes shared by many PCI capabilities of generic PCI device and virtio
> > > specific.
> > >
> > > Hence, introduce virtio extended capability that uses PCI Express
> > > extended capability.
> > > Subsequent patch uses this virtio extended capability.
> > >
> > > Co-developed-by: Satananda Burla <sburla@marvell.com>
> > > Signed-off-by: Parav Pandit <parav@nvidia.com>
> >
> > Can you explain the differences compared to what I've used to propose?
> >
> > https://www.mail-archive.com/virtio-dev@lists.oasis-open.org/msg08078.html
> >
> > This can save time for everybody.
> >
> > Thanks
>
> BTW another advantage of extended capabilities is - these are actually
> cheaper to access from a VM than classic config space.

Config space/BAR is allowed by both of the proposals or anything I missed?

>
>
> Several points
> - I don't like it that yours is 32 bit. We do not need 2 variants just
> make it all 64 bit

That's fine.

> - We need to document that if driver does not scan extended capbilities it will not find them.

This is implicit since I remember we don't have such documentation for
pci capability, anything makes pcie special?

> And existing drivers do not scan them. So what is safe
> to put there? vendor specific? extra access types?

For PASID at least, since it's a PCI-E feature, vendor specific should
be fine. Not sure about legacy MMIO then.

> Can we make scanning these mandatory in future drivers? future devices?
> I guess we can add a feature bit to flag that.

For PASID, it doesn't need this, otherwise we may duplicate transport
specific features.

> Is accessing these possible from bios?

Not at least for the two use cases now PASID or legacy MMIO.

>
> So I like this one better as a basis - care reviewing it and adding
> stuff?

There are very few differences and I will have a look.

Thanks

>
> --
> MST