Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: "virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	Shahaf Shuler <shahafs@nvidia.com>
Subject: Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
Date: Mon, 27 Feb 2023 02:29:54 -0500	[thread overview]
Message-ID: <20230227022459-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB54811B0B6E6E95A659DA41B0DCAF9@PH0PR12MB5481.namprd12.prod.outlook.com>

On Mon, Feb 27, 2023 at 02:54:09AM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 6:00 PM
> > 
> > On Sun, Feb 26, 2023 at 12:06:36AM +0200, Parav Pandit wrote:
> > > Currently PCI device requirements section contains mix of normative
> > > statements for for regular (non transitional) device and transitional
> > > device under one section.
> > >
> > > Some requirements of the transitional device are also located in
> > > legacy interface section which is the right section for it.
> > >
> > > Hence,
> > > 1. Move transitional device requirements to their designated Legacy
> > >    interface section
> > > 2. Describe regular device requirements without quoting it as "non
> > >    transitional device"
> > >
> > > While at it, write the description using a singular object definition.
> > >
> > > This is only an editorial change.
> > >
> > > This patch is on top of [1].
> > >
> > > [1]
> > > https://lists.oasis-open.org/archives/virtio-dev/202302/msg00578.html
> > >
> > > Signed-off-by: Parav Pandit <parav@nvidia.com>
> > 
> > nack I already answered this. legacy sections describe legacy interface of
> > transitional devices.
> > 
> Legacy device id of the transitional device is 0x1000 for net. 
> Legacy revision id of the transitional device is 0x0.
> Why revision id belongs to legacy section, but device id doesn't?
> Still trying to understand this convoluted policy.
> Will re-read your email again if that is explained somehow without bringing the driver in context.

It's convoluted because legacy is convoluted. It's a bolt-on.
We have a modern description. Is says e.g. "A".
Then legacy chapter comes and say "yea but legacy is B".
This is not how spec normally works.


The rule is this: one should be able to ignore legacy
sections if not building a legacy driver/device.

If you are building a modern driver it must support transitional
devices. Thus is must know about id 0x1000.
Conclusion - 0x1000 is out of legacy section.


If you are building a modern driver it ignores revision.
But legacy drivers used revision 0.
So a transitional device has 0 to make legacy drivers work.
Conclusion - revision 0 is in the legacy section.






-- 
MST


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: "virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	Shahaf Shuler <shahafs@nvidia.com>
Subject: [virtio-dev] Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
Date: Mon, 27 Feb 2023 02:29:54 -0500	[thread overview]
Message-ID: <20230227022459-mutt-send-email-mst@kernel.org> (raw)
Message-ID: <20230227072954.yKLVlmPrIBQdg6xO_3duWCAziaPcyOU4UY1uoiytsaY@z> (raw)
In-Reply-To: <PH0PR12MB54811B0B6E6E95A659DA41B0DCAF9@PH0PR12MB5481.namprd12.prod.outlook.com>

On Mon, Feb 27, 2023 at 02:54:09AM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 6:00 PM
> > 
> > On Sun, Feb 26, 2023 at 12:06:36AM +0200, Parav Pandit wrote:
> > > Currently PCI device requirements section contains mix of normative
> > > statements for for regular (non transitional) device and transitional
> > > device under one section.
> > >
> > > Some requirements of the transitional device are also located in
> > > legacy interface section which is the right section for it.
> > >
> > > Hence,
> > > 1. Move transitional device requirements to their designated Legacy
> > >    interface section
> > > 2. Describe regular device requirements without quoting it as "non
> > >    transitional device"
> > >
> > > While at it, write the description using a singular object definition.
> > >
> > > This is only an editorial change.
> > >
> > > This patch is on top of [1].
> > >
> > > [1]
> > > https://lists.oasis-open.org/archives/virtio-dev/202302/msg00578.html
> > >
> > > Signed-off-by: Parav Pandit <parav@nvidia.com>
> > 
> > nack I already answered this. legacy sections describe legacy interface of
> > transitional devices.
> > 
> Legacy device id of the transitional device is 0x1000 for net. 
> Legacy revision id of the transitional device is 0x0.
> Why revision id belongs to legacy section, but device id doesn't?
> Still trying to understand this convoluted policy.
> Will re-read your email again if that is explained somehow without bringing the driver in context.

It's convoluted because legacy is convoluted. It's a bolt-on.
We have a modern description. Is says e.g. "A".
Then legacy chapter comes and say "yea but legacy is B".
This is not how spec normally works.


The rule is this: one should be able to ignore legacy
sections if not building a legacy driver/device.

If you are building a modern driver it must support transitional
devices. Thus is must know about id 0x1000.
Conclusion - 0x1000 is out of legacy section.


If you are building a modern driver it ignores revision.
But legacy drivers used revision 0.
So a transitional device has 0 to make legacy drivers work.
Conclusion - revision 0 is in the legacy section.






-- 
MST


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  parent reply	other threads:[~2023-02-27  7:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-25 22:06 [PATCH v1 0/2] Move transitional dev req to legacy interface Parav Pandit
2023-02-25 22:06 ` [virtio-dev] " Parav Pandit
2023-02-25 22:06 ` [PATCH v1 1/2] transport-pci: Use lowecase alphabets Parav Pandit
2023-02-25 22:06   ` [virtio-dev] " Parav Pandit
2023-02-25 22:06 ` [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2023-02-25 22:06   ` [virtio-dev] " Parav Pandit
2023-02-25 22:59   ` Michael S. Tsirkin
2023-02-25 22:59     ` [virtio-dev] " Michael S. Tsirkin
2023-02-27  2:54     ` Parav Pandit
2023-02-27  2:54       ` [virtio-dev] " Parav Pandit
2023-02-27  7:29       ` Michael S. Tsirkin [this message]
2023-02-27  7:29         ` [virtio-dev] " Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230227022459-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox