[virtio-dev] Re: [virtio-comment] Re: [PATCH 07/11] transport-pci: Introduce transitional MMR device id

Michael S. Tsirkin
2023-04-07T12:03:23Z

On Tue, Apr 04, 2023 at 12:08:54PM -0400, Parav Pandit wrote:
>
>
> On 4/4/2023 3:28 AM, Michael S. Tsirkin wrote:
> > On Fri, Mar 31, 2023 at 01:58:30AM +0300, Parav Pandit wrote:
> > > Transitional MMR device PCI Device IDs are unique. Hence,
> > > any of the existing drivers do not bind to it.
> > > This further maintains the backward compatibility with
> > > existing drivers.
> > >
> > > Co-developed-by: Satananda Burla <sburla@marvell.com>
> > > Signed-off-by: Parav Pandit <parav@nvidia.com>
> >
> > I took a fresh look at it, and I don't get it: what exactly is wrong
> > with just using modern ID? Why do we need new ones?
>
> A modern (non transitional device) do not support legacy functionality such
> as virtio net hdr,

It's all a question of terminology, but it is not worth
sacrificing functionality for cleaner terminology.
Basically most of the spec just talks about the legacy interface,
and will work fine with this.

Yes we do say:
Devices or drivers with no legacy compatibility are referred to as
non-transitional devices and drivers, respectively.

So we will want to refine this somewhat. Maybe:

Devices not compatible with legacy drivers and drivers not compatible
with legacy devices are referred to as non-transitional devices and
drivers, respectively.

This allows non-transitional devices to expose the legacy
capability - having this capability does not make them
compatible with

Similarly in the conformance section:

An implementation MAY choose to implement OPTIONAL support for the
legacy interface, including support for legacy drivers
or devices, by conforming to all of the MUST or
REQUIRED level requirements for the legacy interface
for the transitional devices and drivers.

we would just remove "for the transitional devices and drivers"
here as now non-transitional can have a legacy interface.

Similarly:

The requirements for the legacy interface for transitional implementations

would become:

"The requirements for the legacy interface"

> device reset sequence.

what is this one?

--
MST