* [PATCH 0/2] Move transitional dev req to legacy interface
@ 2023-02-24 23:12 Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Currently, the PCI transitional device discovery requirements
are located in two sections. One it located in the regular device
section mixed with non-transitional device normative statements.
Some of them are already located in the second legacy interface
section.
‘Legacy interfaces’ is the section to describe transitional device
requirements as mentioned in the first legacy interface section
2.2.3.
Hence move these normative statements and requirements to the
Legacy interface section.
This is only an editorial change.
It is on top of series [1].
[1] https://lists.oasis-open.org/archives/virtio-dev/202302/msg00578.html
patch summary:
patch-1 use capital alphabets to define device id
patch-2 move pci device id normative statements adjacent to other
requirements
Parav Pandit (2):
transport-pci: Use capital alphabets
transport-pci: Move transitional device id to legacy section
transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
1 file changed, 38 insertions(+), 36 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] [PATCH 0/2] Move transitional dev req to legacy interface
2023-02-24 23:12 [PATCH 0/2] Move transitional dev req to legacy interface Parav Pandit
@ 2023-02-24 23:12 ` Parav Pandit
2023-02-24 23:12 ` [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets Parav Pandit
2023-02-24 23:12 ` [PATCH 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2 siblings, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Currently, the PCI transitional device discovery requirements
are located in two sections. One it located in the regular device
section mixed with non-transitional device normative statements.
Some of them are already located in the second legacy interface
section.
‘Legacy interfaces’ is the section to describe transitional device
requirements as mentioned in the first legacy interface section
2.2.3.
Hence move these normative statements and requirements to the
Legacy interface section.
This is only an editorial change.
It is on top of series [1].
[1] https://lists.oasis-open.org/archives/virtio-dev/202302/msg00578.html
patch summary:
patch-1 use capital alphabets to define device id
patch-2 move pci device id normative statements adjacent to other
requirements
Parav Pandit (2):
transport-pci: Use capital alphabets
transport-pci: Move transitional device id to legacy section
transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
1 file changed, 38 insertions(+), 36 deletions(-)
--
2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets
2023-02-24 23:12 [PATCH 0/2] Move transitional dev req to legacy interface Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
@ 2023-02-24 23:12 ` Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-25 17:45 ` Michael S. Tsirkin
2023-02-24 23:12 ` [PATCH 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2 siblings, 2 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Use capital alphabets to write PCI device id
similar to vendor id and existing device id.
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
transport-pci.tex | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 0642107..e271d51 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -61,7 +61,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
Non-transitional devices SHOULD have a PCI Device ID in the range
-0x1040 to 0x107f.
+0x1040 to 0x107F.
Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
@@ -70,7 +70,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
\drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
-the PCI Device ID in the range 0x1040 to 0x107f,
+the PCI Device ID in the range 0x1040 to 0x107F,
calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
Drivers for device types listed in section \ref{sec:Virtio
@@ -89,7 +89,7 @@ \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virt
Transitional devices MUST have the PCI Subsystem Device ID
matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
Transitional devices MUST have the Transitional PCI Device ID in
-the range 0x1000 to 0x103f.
+the range 0x1000 to 0x103F.
This is to match legacy drivers.
--
2.26.2
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [virtio-dev] [PATCH 1/2] transport-pci: Use capital alphabets
2023-02-24 23:12 ` [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets Parav Pandit
@ 2023-02-24 23:12 ` Parav Pandit
2023-02-25 17:45 ` Michael S. Tsirkin
1 sibling, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Use capital alphabets to write PCI device id
similar to vendor id and existing device id.
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
transport-pci.tex | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 0642107..e271d51 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -61,7 +61,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
Non-transitional devices SHOULD have a PCI Device ID in the range
-0x1040 to 0x107f.
+0x1040 to 0x107F.
Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
@@ -70,7 +70,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
\drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
-the PCI Device ID in the range 0x1040 to 0x107f,
+the PCI Device ID in the range 0x1040 to 0x107F,
calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
Drivers for device types listed in section \ref{sec:Virtio
@@ -89,7 +89,7 @@ \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virt
Transitional devices MUST have the PCI Subsystem Device ID
matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
Transitional devices MUST have the Transitional PCI Device ID in
-the range 0x1000 to 0x103f.
+the range 0x1000 to 0x103F.
This is to match legacy drivers.
--
2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-24 23:12 [PATCH 0/2] Move transitional dev req to legacy interface Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-24 23:12 ` [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets Parav Pandit
@ 2023-02-24 23:12 ` Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-25 17:26 ` Michael S. Tsirkin
2 siblings, 2 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
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>
---
transport-pci.tex | 70 ++++++++++++++++++++++++-----------------------
1 file changed, 36 insertions(+), 34 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index e271d51..9686cc8 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
\devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-Devices MUST have the PCI Vendor ID 0x1AF4.
-Devices MUST either have the PCI Device ID calculated by adding 0x1040
+The device MUST have the PCI Vendor ID 0x1AF4.
+The device MUST calculate PCI Device ID by adding 0x1040
to the Virtio Device ID, as indicated in section \ref{sec:Device
-Types} or have the Transitional PCI Device ID depending on the device type,
-as follows:
-
-\begin{tabular}{|l|c|}
-\hline
-Transitional PCI Device ID & Virtio Device \\
-\hline \hline
-0x1000 & network device \\
-\hline
-0x1001 & block device \\
-\hline
-0x1002 & memory ballooning (traditional) \\
-\hline
-0x1003 & console \\
-\hline
-0x1004 & SCSI host \\
-\hline
-0x1005 & entropy source \\
-\hline
-0x1009 & 9P transport \\
-\hline
-\end{tabular}
+Types}
For example, the network device with the Virtio Device ID 1
-has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
-
-The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
-the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
+has the PCI Device ID 0x1041.
-Non-transitional devices SHOULD have a PCI Device ID in the range
-0x1040 to 0x107F.
-Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
-Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
+The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
+The device SHOULD have a PCI Revision ID of 1 or higher.
+The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
This is to reduce the chance of a legacy driver attempting
to drive the device.
+The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
+the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
+
\drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
the PCI Device ID in the range 0x1040 to 0x107F,
@@ -85,8 +63,32 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
PCI Subsystem Device ID value.
\subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery}
-Transitional devices MUST have a PCI Revision ID of 0.
-Transitional devices MUST have the PCI Subsystem Device ID
+
+The transitional device has one of the following PCI Device ID
+depending on the device type:
+
+\begin{tabular}{|l|c|}
+\hline
+Transitional PCI Device ID & Virtio Device \\
+\hline \hline
+0x1000 & network device \\
+\hline
+0x1001 & block device \\
+\hline
+0x1002 & memory ballooning (traditional) \\
+\hline
+0x1003 & console \\
+\hline
+0x1004 & SCSI host \\
+\hline
+0x1005 & entropy source \\
+\hline
+0x1009 & 9P transport \\
+\hline
+\end{tabular}
+
+The transitional device MUST have a PCI Revision ID of 0.
+The transitional device MUST have the PCI Subsystem Device ID
matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
Transitional devices MUST have the Transitional PCI Device ID in
the range 0x1000 to 0x103F.
--
2.26.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [virtio-dev] [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-24 23:12 ` [PATCH 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
@ 2023-02-24 23:12 ` Parav Pandit
2023-02-25 17:26 ` Michael S. Tsirkin
1 sibling, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-24 23:12 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
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>
---
transport-pci.tex | 70 ++++++++++++++++++++++++-----------------------
1 file changed, 36 insertions(+), 34 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index e271d51..9686cc8 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
\devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-Devices MUST have the PCI Vendor ID 0x1AF4.
-Devices MUST either have the PCI Device ID calculated by adding 0x1040
+The device MUST have the PCI Vendor ID 0x1AF4.
+The device MUST calculate PCI Device ID by adding 0x1040
to the Virtio Device ID, as indicated in section \ref{sec:Device
-Types} or have the Transitional PCI Device ID depending on the device type,
-as follows:
-
-\begin{tabular}{|l|c|}
-\hline
-Transitional PCI Device ID & Virtio Device \\
-\hline \hline
-0x1000 & network device \\
-\hline
-0x1001 & block device \\
-\hline
-0x1002 & memory ballooning (traditional) \\
-\hline
-0x1003 & console \\
-\hline
-0x1004 & SCSI host \\
-\hline
-0x1005 & entropy source \\
-\hline
-0x1009 & 9P transport \\
-\hline
-\end{tabular}
+Types}
For example, the network device with the Virtio Device ID 1
-has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
-
-The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
-the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
+has the PCI Device ID 0x1041.
-Non-transitional devices SHOULD have a PCI Device ID in the range
-0x1040 to 0x107F.
-Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
-Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
+The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
+The device SHOULD have a PCI Revision ID of 1 or higher.
+The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
This is to reduce the chance of a legacy driver attempting
to drive the device.
+The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
+the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
+
\drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
the PCI Device ID in the range 0x1040 to 0x107F,
@@ -85,8 +63,32 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
PCI Subsystem Device ID value.
\subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery}
-Transitional devices MUST have a PCI Revision ID of 0.
-Transitional devices MUST have the PCI Subsystem Device ID
+
+The transitional device has one of the following PCI Device ID
+depending on the device type:
+
+\begin{tabular}{|l|c|}
+\hline
+Transitional PCI Device ID & Virtio Device \\
+\hline \hline
+0x1000 & network device \\
+\hline
+0x1001 & block device \\
+\hline
+0x1002 & memory ballooning (traditional) \\
+\hline
+0x1003 & console \\
+\hline
+0x1004 & SCSI host \\
+\hline
+0x1005 & entropy source \\
+\hline
+0x1009 & 9P transport \\
+\hline
+\end{tabular}
+
+The transitional device MUST have a PCI Revision ID of 0.
+The transitional device MUST have the PCI Subsystem Device ID
matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
Transitional devices MUST have the Transitional PCI Device ID in
the range 0x1000 to 0x103F.
--
2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-24 23:12 ` [PATCH 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
@ 2023-02-25 17:26 ` Michael S. Tsirkin
2023-02-25 17:26 ` [virtio-dev] " Michael S. Tsirkin
2023-02-25 21:38 ` Parav Pandit
1 sibling, 2 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 17:26 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
On Sat, Feb 25, 2023 at 01:12:32AM +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"
I do not think this is the way to go.
Spec covers the functioning of modern devices and
the transitional devices when operated by modern drivers.
The text that covers using modern interfaces belongs in the regular
section.
Legacy devices and drivers are covered in separate legacy sections which are
non-normative (not because they have to, but simply because writing
normative sections for legacy devices would be extra effort).
Take this example. Modern drivers ignore revision, but transitional ones
need to have 0 because this is what legacy drivers expect.
Reporting 0 in revision this belongs in legacy section.
>
> 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>
> ---
> transport-pci.tex | 70 ++++++++++++++++++++++++-----------------------
> 1 file changed, 36 insertions(+), 34 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index e271d51..9686cc8 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
>
> \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
>
> -Devices MUST have the PCI Vendor ID 0x1AF4.
> -Devices MUST either have the PCI Device ID calculated by adding 0x1040
> +The device MUST have the PCI Vendor ID 0x1AF4.
> +The device MUST calculate PCI Device ID by adding 0x1040
> to the Virtio Device ID, as indicated in section \ref{sec:Device
> -Types} or have the Transitional PCI Device ID depending on the device type,
> -as follows:
> -
> -\begin{tabular}{|l|c|}
> -\hline
> -Transitional PCI Device ID & Virtio Device \\
> -\hline \hline
> -0x1000 & network device \\
> -\hline
> -0x1001 & block device \\
> -\hline
> -0x1002 & memory ballooning (traditional) \\
> -\hline
> -0x1003 & console \\
> -\hline
> -0x1004 & SCSI host \\
> -\hline
> -0x1005 & entropy source \\
> -\hline
> -0x1009 & 9P transport \\
> -\hline
> -\end{tabular}
> +Types}
>
> For example, the network device with the Virtio Device ID 1
> -has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> -
> -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
> -the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
> +has the PCI Device ID 0x1041.
>
> -Non-transitional devices SHOULD have a PCI Device ID in the range
> -0x1040 to 0x107F.
> -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> +The device SHOULD have a PCI Revision ID of 1 or higher.
> +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
>
> This is to reduce the chance of a legacy driver attempting
> to drive the device.
>
> +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
> +the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
> +
> \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
> the PCI Device ID in the range 0x1040 to 0x107F,
> @@ -85,8 +63,32 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> PCI Subsystem Device ID value.
>
> \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery}
> -Transitional devices MUST have a PCI Revision ID of 0.
> -Transitional devices MUST have the PCI Subsystem Device ID
> +
> +The transitional device has one of the following PCI Device ID
> +depending on the device type:
> +
> +\begin{tabular}{|l|c|}
> +\hline
> +Transitional PCI Device ID & Virtio Device \\
> +\hline \hline
> +0x1000 & network device \\
> +\hline
> +0x1001 & block device \\
> +\hline
> +0x1002 & memory ballooning (traditional) \\
> +\hline
> +0x1003 & console \\
> +\hline
> +0x1004 & SCSI host \\
> +\hline
> +0x1005 & entropy source \\
> +\hline
> +0x1009 & 9P transport \\
> +\hline
> +\end{tabular}
> +
> +The transitional device MUST have a PCI Revision ID of 0.
> +The transitional device MUST have the PCI Subsystem Device ID
> matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> Transitional devices MUST have the Transitional PCI Device ID in
> the range 0x1000 to 0x103F.
> --
> 2.26.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 17:26 ` Michael S. Tsirkin
@ 2023-02-25 17:26 ` Michael S. Tsirkin
2023-02-25 21:38 ` Parav Pandit
1 sibling, 0 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 17:26 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
On Sat, Feb 25, 2023 at 01:12:32AM +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"
I do not think this is the way to go.
Spec covers the functioning of modern devices and
the transitional devices when operated by modern drivers.
The text that covers using modern interfaces belongs in the regular
section.
Legacy devices and drivers are covered in separate legacy sections which are
non-normative (not because they have to, but simply because writing
normative sections for legacy devices would be extra effort).
Take this example. Modern drivers ignore revision, but transitional ones
need to have 0 because this is what legacy drivers expect.
Reporting 0 in revision this belongs in legacy section.
>
> 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>
> ---
> transport-pci.tex | 70 ++++++++++++++++++++++++-----------------------
> 1 file changed, 36 insertions(+), 34 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index e271d51..9686cc8 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
>
> \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
>
> -Devices MUST have the PCI Vendor ID 0x1AF4.
> -Devices MUST either have the PCI Device ID calculated by adding 0x1040
> +The device MUST have the PCI Vendor ID 0x1AF4.
> +The device MUST calculate PCI Device ID by adding 0x1040
> to the Virtio Device ID, as indicated in section \ref{sec:Device
> -Types} or have the Transitional PCI Device ID depending on the device type,
> -as follows:
> -
> -\begin{tabular}{|l|c|}
> -\hline
> -Transitional PCI Device ID & Virtio Device \\
> -\hline \hline
> -0x1000 & network device \\
> -\hline
> -0x1001 & block device \\
> -\hline
> -0x1002 & memory ballooning (traditional) \\
> -\hline
> -0x1003 & console \\
> -\hline
> -0x1004 & SCSI host \\
> -\hline
> -0x1005 & entropy source \\
> -\hline
> -0x1009 & 9P transport \\
> -\hline
> -\end{tabular}
> +Types}
>
> For example, the network device with the Virtio Device ID 1
> -has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> -
> -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
> -the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
> +has the PCI Device ID 0x1041.
>
> -Non-transitional devices SHOULD have a PCI Device ID in the range
> -0x1040 to 0x107F.
> -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> +The device SHOULD have a PCI Revision ID of 1 or higher.
> +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
>
> This is to reduce the chance of a legacy driver attempting
> to drive the device.
>
> +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
> +the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
> +
> \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
> the PCI Device ID in the range 0x1040 to 0x107F,
> @@ -85,8 +63,32 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> PCI Subsystem Device ID value.
>
> \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery}
> -Transitional devices MUST have a PCI Revision ID of 0.
> -Transitional devices MUST have the PCI Subsystem Device ID
> +
> +The transitional device has one of the following PCI Device ID
> +depending on the device type:
> +
> +\begin{tabular}{|l|c|}
> +\hline
> +Transitional PCI Device ID & Virtio Device \\
> +\hline \hline
> +0x1000 & network device \\
> +\hline
> +0x1001 & block device \\
> +\hline
> +0x1002 & memory ballooning (traditional) \\
> +\hline
> +0x1003 & console \\
> +\hline
> +0x1004 & SCSI host \\
> +\hline
> +0x1005 & entropy source \\
> +\hline
> +0x1009 & 9P transport \\
> +\hline
> +\end{tabular}
> +
> +The transitional device MUST have a PCI Revision ID of 0.
> +The transitional device MUST have the PCI Subsystem Device ID
> matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> Transitional devices MUST have the Transitional PCI Device ID in
> the range 0x1000 to 0x103F.
> --
> 2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/2] transport-pci: Use capital alphabets
2023-02-24 23:12 ` [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
@ 2023-02-25 17:45 ` Michael S. Tsirkin
2023-02-25 17:45 ` [virtio-dev] " Michael S. Tsirkin
2023-02-25 21:40 ` [virtio-dev] " Parav Pandit
1 sibling, 2 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 17:45 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
On Sat, Feb 25, 2023 at 01:12:31AM +0200, Parav Pandit wrote:
> Use capital alphabets to write PCI device id
> similar to vendor id and existing device id.
>
> Signed-off-by: Parav Pandit <parav@nvidia.com>
> ---
> transport-pci.tex | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index 0642107..e271d51 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -61,7 +61,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
>
> Non-transitional devices SHOULD have a PCI Device ID in the range
> -0x1040 to 0x107f.
> +0x1040 to 0x107F.
> Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
>
> @@ -70,7 +70,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
>
> \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
> -the PCI Device ID in the range 0x1040 to 0x107f,
> +the PCI Device ID in the range 0x1040 to 0x107F,
> calculated by adding 0x1040 to the Virtio Device ID,
> as indicated in section \ref{sec:Device Types}.
> Drivers for device types listed in section \ref{sec:Virtio
> @@ -89,7 +89,7 @@ \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virt
> Transitional devices MUST have the PCI Subsystem Device ID
> matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> Transitional devices MUST have the Transitional PCI Device ID in
> -the range 0x1000 to 0x103f.
> +the range 0x1000 to 0x103F.
I actually think upper case A-F is inconsistent with lower case 0x. So
I would say if we are going to worry about it, let's make them all lower
case.
> This is to match legacy drivers.
>
> --
> 2.26.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] Re: [PATCH 1/2] transport-pci: Use capital alphabets
2023-02-25 17:45 ` Michael S. Tsirkin
@ 2023-02-25 17:45 ` Michael S. Tsirkin
2023-02-25 21:40 ` [virtio-dev] " Parav Pandit
1 sibling, 0 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 17:45 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
On Sat, Feb 25, 2023 at 01:12:31AM +0200, Parav Pandit wrote:
> Use capital alphabets to write PCI device id
> similar to vendor id and existing device id.
>
> Signed-off-by: Parav Pandit <parav@nvidia.com>
> ---
> transport-pci.tex | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index 0642107..e271d51 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -61,7 +61,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> the PCI Vendor and Device ID of the environment (for informational purposes by the driver).
>
> Non-transitional devices SHOULD have a PCI Device ID in the range
> -0x1040 to 0x107f.
> +0x1040 to 0x107F.
> Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
>
> @@ -70,7 +70,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
>
> \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and
> -the PCI Device ID in the range 0x1040 to 0x107f,
> +the PCI Device ID in the range 0x1040 to 0x107F,
> calculated by adding 0x1040 to the Virtio Device ID,
> as indicated in section \ref{sec:Device Types}.
> Drivers for device types listed in section \ref{sec:Virtio
> @@ -89,7 +89,7 @@ \subsubsection{Legacy Interfaces: A Note on PCI Device Discovery}\label{sec:Virt
> Transitional devices MUST have the PCI Subsystem Device ID
> matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> Transitional devices MUST have the Transitional PCI Device ID in
> -the range 0x1000 to 0x103f.
> +the range 0x1000 to 0x103F.
I actually think upper case A-F is inconsistent with lower case 0x. So
I would say if we are going to worry about it, let's make them all lower
case.
> This is to match legacy drivers.
>
> --
> 2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 17:26 ` Michael S. Tsirkin
2023-02-25 17:26 ` [virtio-dev] " Michael S. Tsirkin
@ 2023-02-25 21:38 ` Parav Pandit
2023-02-25 21:38 ` [virtio-dev] " Parav Pandit
2023-02-25 22:58 ` Michael S. Tsirkin
1 sibling, 2 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-25 21:38 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Saturday, February 25, 2023 12:27 PM
>
> On Sat, Feb 25, 2023 at 01:12:32AM +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"
>
> I do not think this is the way to go.
>
> Spec covers the functioning of modern devices and the transitional devices
> when operated by modern drivers.
We do not have a modern driver term in the spec.
We have the legacy driver and the transitional driver in spec.
The modern driver is the way of Linux implementation as far as I understand that binds to transitional and nontransitional devices.
> The text that covers using modern interfaces belongs in the regular section.
>
What do you mean by modern interfaces in the context of spec?
Spec at beginning says "Requirements pertaining to transitional devices and drivers is contained in sections named 'Legacy Interface'
like this one."
So the content I moved is for the "transitional device" to the Legacy interface section.
A Linux implementation is free to implement a modern driver that probes transitional and non-transitional devices.
> Legacy devices and drivers are covered in separate legacy sections which are
> non-normative (not because they have to, but simply because writing
> normative sections for legacy devices would be extra effort).
>
> Take this example. Modern drivers ignore revision, but transitional ones need
> to have 0 because this is what legacy drivers expect.
> Reporting 0 in revision this belongs in legacy section.
>
Sure. And that is how the spec is documented as you have described.
"Transitional devices MUST have a PCI Revision ID of 0.".
> >
> > 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>
> > ---
> > transport-pci.tex | 70
> > ++++++++++++++++++++++++-----------------------
> > 1 file changed, 36 insertions(+), 34 deletions(-)
> >
> > diff --git a/transport-pci.tex b/transport-pci.tex index
> > e271d51..9686cc8 100644
> > --- a/transport-pci.tex
> > +++ b/transport-pci.tex
> > @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio
> > Transport Options / Virtio Ov
> >
> > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio
> > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> >
> > -Devices MUST have the PCI Vendor ID 0x1AF4.
> > -Devices MUST either have the PCI Device ID calculated by adding
> > 0x1040
> > +The device MUST have the PCI Vendor ID 0x1AF4.
> > +The device MUST calculate PCI Device ID by adding 0x1040
> > to the Virtio Device ID, as indicated in section \ref{sec:Device
> > -Types} or have the Transitional PCI Device ID depending on the device
> > type, -as follows:
> > -
> > -\begin{tabular}{|l|c|}
> > -\hline
> > -Transitional PCI Device ID & Virtio Device \\
> > -\hline \hline
> > -0x1000 & network device \\
> > -\hline
> > -0x1001 & block device \\
> > -\hline
> > -0x1002 & memory ballooning (traditional) \\
> > -\hline
> > -0x1003 & console \\
> > -\hline
> > -0x1004 & SCSI host \\
> > -\hline
> > -0x1005 & entropy source \\
> > -\hline
> > -0x1009 & 9P transport \\
> > -\hline
> > -\end{tabular}
> > +Types}
> >
> > For example, the network device with the Virtio Device ID 1 -has the
> > PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> > -
> > -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > reflect -the PCI Vendor and Device ID of the environment (for informational
> purposes by the driver).
> > +has the PCI Device ID 0x1041.
> >
> > -Non-transitional devices SHOULD have a PCI Device ID in the range
> > -0x1040 to 0x107F.
> > -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> > -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or
> higher.
> > +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> > +The device SHOULD have a PCI Revision ID of 1 or higher.
> > +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> >
> > This is to reduce the chance of a legacy driver attempting to drive
> > the device.
> >
> > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > +reflect the PCI Vendor and Device ID of the environment (for informational
> purposes by the driver).
> > +
> > \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio
> > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and the PCI
> > Device ID in the range 0x1040 to 0x107F, @@ -85,8 +63,32 @@
> > \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio
> Ov PCI Subsystem Device ID value.
> >
> > \subsubsection{Legacy Interfaces: A Note on PCI Device
> > Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI
> Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} -
> Transitional devices MUST have a PCI Revision ID of 0.
> > -Transitional devices MUST have the PCI Subsystem Device ID
> > +
> > +The transitional device has one of the following PCI Device ID
> > +depending on the device type:
> > +
> > +\begin{tabular}{|l|c|}
> > +\hline
> > +Transitional PCI Device ID & Virtio Device \\
> > +\hline \hline
> > +0x1000 & network device \\
> > +\hline
> > +0x1001 & block device \\
> > +\hline
> > +0x1002 & memory ballooning (traditional) \\
> > +\hline
> > +0x1003 & console \\
> > +\hline
> > +0x1004 & SCSI host \\
> > +\hline
> > +0x1005 & entropy source \\
> > +\hline
> > +0x1009 & 9P transport \\
> > +\hline
> > +\end{tabular}
> > +
> > +The transitional device MUST have a PCI Revision ID of 0.
> > +The transitional device MUST have the PCI Subsystem Device ID
> > matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> > Transitional devices MUST have the Transitional PCI Device ID in the
> > range 0x1000 to 0x103F.
> > --
> > 2.26.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] RE: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 21:38 ` Parav Pandit
@ 2023-02-25 21:38 ` Parav Pandit
2023-02-25 22:58 ` Michael S. Tsirkin
1 sibling, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-25 21:38 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Saturday, February 25, 2023 12:27 PM
>
> On Sat, Feb 25, 2023 at 01:12:32AM +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"
>
> I do not think this is the way to go.
>
> Spec covers the functioning of modern devices and the transitional devices
> when operated by modern drivers.
We do not have a modern driver term in the spec.
We have the legacy driver and the transitional driver in spec.
The modern driver is the way of Linux implementation as far as I understand that binds to transitional and nontransitional devices.
> The text that covers using modern interfaces belongs in the regular section.
>
What do you mean by modern interfaces in the context of spec?
Spec at beginning says "Requirements pertaining to transitional devices and drivers is contained in sections named 'Legacy Interface'
like this one."
So the content I moved is for the "transitional device" to the Legacy interface section.
A Linux implementation is free to implement a modern driver that probes transitional and non-transitional devices.
> Legacy devices and drivers are covered in separate legacy sections which are
> non-normative (not because they have to, but simply because writing
> normative sections for legacy devices would be extra effort).
>
> Take this example. Modern drivers ignore revision, but transitional ones need
> to have 0 because this is what legacy drivers expect.
> Reporting 0 in revision this belongs in legacy section.
>
Sure. And that is how the spec is documented as you have described.
"Transitional devices MUST have a PCI Revision ID of 0.".
> >
> > 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>
> > ---
> > transport-pci.tex | 70
> > ++++++++++++++++++++++++-----------------------
> > 1 file changed, 36 insertions(+), 34 deletions(-)
> >
> > diff --git a/transport-pci.tex b/transport-pci.tex index
> > e271d51..9686cc8 100644
> > --- a/transport-pci.tex
> > +++ b/transport-pci.tex
> > @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio
> > Transport Options / Virtio Ov
> >
> > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio
> > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> >
> > -Devices MUST have the PCI Vendor ID 0x1AF4.
> > -Devices MUST either have the PCI Device ID calculated by adding
> > 0x1040
> > +The device MUST have the PCI Vendor ID 0x1AF4.
> > +The device MUST calculate PCI Device ID by adding 0x1040
> > to the Virtio Device ID, as indicated in section \ref{sec:Device
> > -Types} or have the Transitional PCI Device ID depending on the device
> > type, -as follows:
> > -
> > -\begin{tabular}{|l|c|}
> > -\hline
> > -Transitional PCI Device ID & Virtio Device \\
> > -\hline \hline
> > -0x1000 & network device \\
> > -\hline
> > -0x1001 & block device \\
> > -\hline
> > -0x1002 & memory ballooning (traditional) \\
> > -\hline
> > -0x1003 & console \\
> > -\hline
> > -0x1004 & SCSI host \\
> > -\hline
> > -0x1005 & entropy source \\
> > -\hline
> > -0x1009 & 9P transport \\
> > -\hline
> > -\end{tabular}
> > +Types}
> >
> > For example, the network device with the Virtio Device ID 1 -has the
> > PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> > -
> > -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > reflect -the PCI Vendor and Device ID of the environment (for informational
> purposes by the driver).
> > +has the PCI Device ID 0x1041.
> >
> > -Non-transitional devices SHOULD have a PCI Device ID in the range
> > -0x1040 to 0x107F.
> > -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> > -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or
> higher.
> > +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> > +The device SHOULD have a PCI Revision ID of 1 or higher.
> > +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> >
> > This is to reduce the chance of a legacy driver attempting to drive
> > the device.
> >
> > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > +reflect the PCI Vendor and Device ID of the environment (for informational
> purposes by the driver).
> > +
> > \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio
> > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and the PCI
> > Device ID in the range 0x1040 to 0x107F, @@ -85,8 +63,32 @@
> > \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio
> Ov PCI Subsystem Device ID value.
> >
> > \subsubsection{Legacy Interfaces: A Note on PCI Device
> > Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI
> Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} -
> Transitional devices MUST have a PCI Revision ID of 0.
> > -Transitional devices MUST have the PCI Subsystem Device ID
> > +
> > +The transitional device has one of the following PCI Device ID
> > +depending on the device type:
> > +
> > +\begin{tabular}{|l|c|}
> > +\hline
> > +Transitional PCI Device ID & Virtio Device \\
> > +\hline \hline
> > +0x1000 & network device \\
> > +\hline
> > +0x1001 & block device \\
> > +\hline
> > +0x1002 & memory ballooning (traditional) \\
> > +\hline
> > +0x1003 & console \\
> > +\hline
> > +0x1004 & SCSI host \\
> > +\hline
> > +0x1005 & entropy source \\
> > +\hline
> > +0x1009 & 9P transport \\
> > +\hline
> > +\end{tabular}
> > +
> > +The transitional device MUST have a PCI Revision ID of 0.
> > +The transitional device MUST have the PCI Subsystem Device ID
> > matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> > Transitional devices MUST have the Transitional PCI Device ID in the
> > range 0x1000 to 0x103F.
> > --
> > 2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] RE: [PATCH 1/2] transport-pci: Use capital alphabets
2023-02-25 17:45 ` Michael S. Tsirkin
2023-02-25 17:45 ` [virtio-dev] " Michael S. Tsirkin
@ 2023-02-25 21:40 ` Parav Pandit
1 sibling, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-25 21:40 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Saturday, February 25, 2023 12:46 PM
> > Transitional devices MUST have the Transitional PCI Device ID in -the
> > range 0x1000 to 0x103f.
> > +the range 0x1000 to 0x103F.
>
> I actually think upper case A-F is inconsistent with lower case 0x. So I would say
> if we are going to worry about it, let's make them all lowercase.
:)
0x notion read far better than 0X to represent hex.
But all in lowercase is equally fine as long as it is consistent.
Will change it.
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 21:38 ` Parav Pandit
2023-02-25 21:38 ` [virtio-dev] " Parav Pandit
@ 2023-02-25 22:58 ` Michael S. Tsirkin
2023-02-25 22:58 ` [virtio-dev] " Michael S. Tsirkin
2023-02-27 2:48 ` Parav Pandit
1 sibling, 2 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 22:58 UTC (permalink / raw)
To: Parav Pandit
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 12:27 PM
> >
> > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> >
> > I do not think this is the way to go.
> >
> > Spec covers the functioning of modern devices and the transitional devices
> > when operated by modern drivers.
> We do not have a modern driver term in the spec.
> We have the legacy driver and the transitional driver in spec.
> The modern driver is the way of Linux implementation as far as I understand that binds to transitional and nontransitional devices.
Technically, non-transitional:
Devices or drivers with no legacy compatibility are referred to as
non-transitional devices and drivers, respectively.
> > The text that covers using modern interfaces belongs in the regular section.
> >
> What do you mean by modern interfaces in the context of spec?
>
> Spec at beginning says "Requirements pertaining to transitional devices and drivers is contained in sections named 'Legacy Interface'
> like this one."
yes, but also:
When device is used through the legacy interface, transitional
devices and transitional drivers MUST operate according to the
requirements documented within these legacy interface sections.
Specification text within these sections generally does not apply
to non-transitional devices.
> So the content I moved is for the "transitional device" to the Legacy interface section.
>
> A Linux implementation is free to implement a modern driver that probes transitional and non-transitional devices.
Let's not confuse things please. Legacy sections talk about the legacy
interface. If something applies when device is not used through
the legacy interface then it does not belong in the legacy section.
What you are missing is that a non-transitional driver must
work with a transitional device. Similarly a non-transitional
device must work with a transitional driver.
Things you are trying to move are relevant for this.
> > Legacy devices and drivers are covered in separate legacy sections which are
> > non-normative (not because they have to, but simply because writing
> > normative sections for legacy devices would be extra effort).
> >
> > Take this example. Modern drivers ignore revision, but transitional ones need
> > to have 0 because this is what legacy drivers expect.
> > Reporting 0 in revision this belongs in legacy section.
> >
> Sure. And that is how the spec is documented as you have described.
>
> "Transitional devices MUST have a PCI Revision ID of 0.".
And that's in the legacy section.
> > >
> > > 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>
> > > ---
> > > transport-pci.tex | 70
> > > ++++++++++++++++++++++++-----------------------
> > > 1 file changed, 36 insertions(+), 34 deletions(-)
> > >
> > > diff --git a/transport-pci.tex b/transport-pci.tex index
> > > e271d51..9686cc8 100644
> > > --- a/transport-pci.tex
> > > +++ b/transport-pci.tex
> > > @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio
> > > Transport Options / Virtio Ov
> > >
> > > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio
> > > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > >
> > > -Devices MUST have the PCI Vendor ID 0x1AF4.
> > > -Devices MUST either have the PCI Device ID calculated by adding
> > > 0x1040
> > > +The device MUST have the PCI Vendor ID 0x1AF4.
> > > +The device MUST calculate PCI Device ID by adding 0x1040
> > > to the Virtio Device ID, as indicated in section \ref{sec:Device
> > > -Types} or have the Transitional PCI Device ID depending on the device
> > > type, -as follows:
> > > -
> > > -\begin{tabular}{|l|c|}
> > > -\hline
> > > -Transitional PCI Device ID & Virtio Device \\
> > > -\hline \hline
> > > -0x1000 & network device \\
> > > -\hline
> > > -0x1001 & block device \\
> > > -\hline
> > > -0x1002 & memory ballooning (traditional) \\
> > > -\hline
> > > -0x1003 & console \\
> > > -\hline
> > > -0x1004 & SCSI host \\
> > > -\hline
> > > -0x1005 & entropy source \\
> > > -\hline
> > > -0x1009 & 9P transport \\
> > > -\hline
> > > -\end{tabular}
> > > +Types}
> > >
> > > For example, the network device with the Virtio Device ID 1 -has the
> > > PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> > > -
> > > -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > > reflect -the PCI Vendor and Device ID of the environment (for informational
> > purposes by the driver).
> > > +has the PCI Device ID 0x1041.
> > >
> > > -Non-transitional devices SHOULD have a PCI Device ID in the range
> > > -0x1040 to 0x107F.
> > > -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> > > -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or
> > higher.
> > > +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> > > +The device SHOULD have a PCI Revision ID of 1 or higher.
> > > +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> > >
> > > This is to reduce the chance of a legacy driver attempting to drive
> > > the device.
> > >
> > > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > > +reflect the PCI Vendor and Device ID of the environment (for informational
> > purposes by the driver).
> > > +
> > > \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio
> > > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > > Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and the PCI
> > > Device ID in the range 0x1040 to 0x107F, @@ -85,8 +63,32 @@
> > > \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio
> > Ov PCI Subsystem Device ID value.
> > >
> > > \subsubsection{Legacy Interfaces: A Note on PCI Device
> > > Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI
> > Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} -
> > Transitional devices MUST have a PCI Revision ID of 0.
> > > -Transitional devices MUST have the PCI Subsystem Device ID
> > > +
> > > +The transitional device has one of the following PCI Device ID
> > > +depending on the device type:
> > > +
> > > +\begin{tabular}{|l|c|}
> > > +\hline
> > > +Transitional PCI Device ID & Virtio Device \\
> > > +\hline \hline
> > > +0x1000 & network device \\
> > > +\hline
> > > +0x1001 & block device \\
> > > +\hline
> > > +0x1002 & memory ballooning (traditional) \\
> > > +\hline
> > > +0x1003 & console \\
> > > +\hline
> > > +0x1004 & SCSI host \\
> > > +\hline
> > > +0x1005 & entropy source \\
> > > +\hline
> > > +0x1009 & 9P transport \\
> > > +\hline
> > > +\end{tabular}
> > > +
> > > +The transitional device MUST have a PCI Revision ID of 0.
> > > +The transitional device MUST have the PCI Subsystem Device ID
> > > matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> > > Transitional devices MUST have the Transitional PCI Device ID in the
> > > range 0x1000 to 0x103F.
> > > --
> > > 2.26.2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 22:58 ` Michael S. Tsirkin
@ 2023-02-25 22:58 ` Michael S. Tsirkin
2023-02-27 2:48 ` Parav Pandit
1 sibling, 0 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 22:58 UTC (permalink / raw)
To: Parav Pandit
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 12:27 PM
> >
> > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> >
> > I do not think this is the way to go.
> >
> > Spec covers the functioning of modern devices and the transitional devices
> > when operated by modern drivers.
> We do not have a modern driver term in the spec.
> We have the legacy driver and the transitional driver in spec.
> The modern driver is the way of Linux implementation as far as I understand that binds to transitional and nontransitional devices.
Technically, non-transitional:
Devices or drivers with no legacy compatibility are referred to as
non-transitional devices and drivers, respectively.
> > The text that covers using modern interfaces belongs in the regular section.
> >
> What do you mean by modern interfaces in the context of spec?
>
> Spec at beginning says "Requirements pertaining to transitional devices and drivers is contained in sections named 'Legacy Interface'
> like this one."
yes, but also:
When device is used through the legacy interface, transitional
devices and transitional drivers MUST operate according to the
requirements documented within these legacy interface sections.
Specification text within these sections generally does not apply
to non-transitional devices.
> So the content I moved is for the "transitional device" to the Legacy interface section.
>
> A Linux implementation is free to implement a modern driver that probes transitional and non-transitional devices.
Let's not confuse things please. Legacy sections talk about the legacy
interface. If something applies when device is not used through
the legacy interface then it does not belong in the legacy section.
What you are missing is that a non-transitional driver must
work with a transitional device. Similarly a non-transitional
device must work with a transitional driver.
Things you are trying to move are relevant for this.
> > Legacy devices and drivers are covered in separate legacy sections which are
> > non-normative (not because they have to, but simply because writing
> > normative sections for legacy devices would be extra effort).
> >
> > Take this example. Modern drivers ignore revision, but transitional ones need
> > to have 0 because this is what legacy drivers expect.
> > Reporting 0 in revision this belongs in legacy section.
> >
> Sure. And that is how the spec is documented as you have described.
>
> "Transitional devices MUST have a PCI Revision ID of 0.".
And that's in the legacy section.
> > >
> > > 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>
> > > ---
> > > transport-pci.tex | 70
> > > ++++++++++++++++++++++++-----------------------
> > > 1 file changed, 36 insertions(+), 34 deletions(-)
> > >
> > > diff --git a/transport-pci.tex b/transport-pci.tex index
> > > e271d51..9686cc8 100644
> > > --- a/transport-pci.tex
> > > +++ b/transport-pci.tex
> > > @@ -28,46 +28,24 @@ \subsection{PCI Device Discovery}\label{sec:Virtio
> > > Transport Options / Virtio Ov
> > >
> > > \devicenormative{\subsubsection}{PCI Device Discovery}{Virtio
> > > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > >
> > > -Devices MUST have the PCI Vendor ID 0x1AF4.
> > > -Devices MUST either have the PCI Device ID calculated by adding
> > > 0x1040
> > > +The device MUST have the PCI Vendor ID 0x1AF4.
> > > +The device MUST calculate PCI Device ID by adding 0x1040
> > > to the Virtio Device ID, as indicated in section \ref{sec:Device
> > > -Types} or have the Transitional PCI Device ID depending on the device
> > > type, -as follows:
> > > -
> > > -\begin{tabular}{|l|c|}
> > > -\hline
> > > -Transitional PCI Device ID & Virtio Device \\
> > > -\hline \hline
> > > -0x1000 & network device \\
> > > -\hline
> > > -0x1001 & block device \\
> > > -\hline
> > > -0x1002 & memory ballooning (traditional) \\
> > > -\hline
> > > -0x1003 & console \\
> > > -\hline
> > > -0x1004 & SCSI host \\
> > > -\hline
> > > -0x1005 & entropy source \\
> > > -\hline
> > > -0x1009 & 9P transport \\
> > > -\hline
> > > -\end{tabular}
> > > +Types}
> > >
> > > For example, the network device with the Virtio Device ID 1 -has the
> > > PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> > > -
> > > -The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > > reflect -the PCI Vendor and Device ID of the environment (for informational
> > purposes by the driver).
> > > +has the PCI Device ID 0x1041.
> > >
> > > -Non-transitional devices SHOULD have a PCI Device ID in the range
> > > -0x1040 to 0x107F.
> > > -Non-transitional devices SHOULD have a PCI Revision ID of 1 or higher.
> > > -Non-transitional devices SHOULD have a PCI Subsystem Device ID of 0x40 or
> > higher.
> > > +The device SHOULD have a PCI Device ID in the range 0x1040 to 0x107F.
> > > +The device SHOULD have a PCI Revision ID of 1 or higher.
> > > +The device SHOULD have a PCI Subsystem Device ID of 0x40 or higher.
> > >
> > > This is to reduce the chance of a legacy driver attempting to drive
> > > the device.
> > >
> > > +The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY
> > > +reflect the PCI Vendor and Device ID of the environment (for informational
> > purposes by the driver).
> > > +
> > > \drivernormative{\subsubsection}{PCI Device Discovery}{Virtio
> > > Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
> > > Drivers MUST match devices with the PCI Vendor ID 0x1AF4 and the PCI
> > > Device ID in the range 0x1040 to 0x107F, @@ -85,8 +63,32 @@
> > > \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio
> > Ov PCI Subsystem Device ID value.
> > >
> > > \subsubsection{Legacy Interfaces: A Note on PCI Device
> > > Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI
> > Device Discovery / Legacy Interfaces: A Note on PCI Device Discovery} -
> > Transitional devices MUST have a PCI Revision ID of 0.
> > > -Transitional devices MUST have the PCI Subsystem Device ID
> > > +
> > > +The transitional device has one of the following PCI Device ID
> > > +depending on the device type:
> > > +
> > > +\begin{tabular}{|l|c|}
> > > +\hline
> > > +Transitional PCI Device ID & Virtio Device \\
> > > +\hline \hline
> > > +0x1000 & network device \\
> > > +\hline
> > > +0x1001 & block device \\
> > > +\hline
> > > +0x1002 & memory ballooning (traditional) \\
> > > +\hline
> > > +0x1003 & console \\
> > > +\hline
> > > +0x1004 & SCSI host \\
> > > +\hline
> > > +0x1005 & entropy source \\
> > > +\hline
> > > +0x1009 & 9P transport \\
> > > +\hline
> > > +\end{tabular}
> > > +
> > > +The transitional device MUST have a PCI Revision ID of 0.
> > > +The transitional device MUST have the PCI Subsystem Device ID
> > > matching the Virtio Device ID, as indicated in section \ref{sec:Device Types}.
> > > Transitional devices MUST have the Transitional PCI Device ID in the
> > > range 0x1000 to 0x103F.
> > > --
> > > 2.26.2
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 22:58 ` Michael S. Tsirkin
2023-02-25 22:58 ` [virtio-dev] " Michael S. Tsirkin
@ 2023-02-27 2:48 ` Parav Pandit
2023-02-27 2:48 ` [virtio-dev] " Parav Pandit
2023-02-27 7:24 ` Michael S. Tsirkin
1 sibling, 2 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-27 2:48 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Saturday, February 25, 2023 5:58 PM
>
> On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: Saturday, February 25, 2023 12:27 PM
> > >
> > > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> > >
> > > I do not think this is the way to go.
> > >
> > > Spec covers the functioning of modern devices and the transitional
> > > devices when operated by modern drivers.
> > We do not have a modern driver term in the spec.
> > We have the legacy driver and the transitional driver in spec.
> > The modern driver is the way of Linux implementation as far as I understand
> that binds to transitional and nontransitional devices.
>
> Technically, non-transitional:
>
> Devices or drivers with no legacy compatibility are referred to as
> non-transitional devices and drivers, respectively.
>
Right.
So the movement by this patch aligns to what you described above.
>
> > > The text that covers using modern interfaces belongs in the regular section.
> > >
> > What do you mean by modern interfaces in the context of spec?
> >
> > Spec at beginning says "Requirements pertaining to transitional devices and
> drivers is contained in sections named 'Legacy Interface'
> > like this one."
>
> yes, but also:
>
> When device is used through the legacy interface, transitional
> devices and transitional drivers MUST operate according to the
> requirements documented within these legacy interface sections.
> Specification text within these sections generally does not apply
> to non-transitional devices.
>
o.k. transitional device related description is moved to the legacy interfaces section.
>
> > So the content I moved is for the "transitional device" to the Legacy interface
> section.
> >
> > A Linux implementation is free to implement a modern driver that probes
> transitional and non-transitional devices.
>
> Let's not confuse things please. Legacy sections talk about the legacy interface.
Yes, it talks about legacy interface.
But not limited to only legacy interface.
It describes the transitional device interface to like the below revision id example.
> If something applies when device is not used through the legacy interface then
> it does not belong in the legacy section.
>
> What you are missing is that a non-transitional driver must work with a
> transitional device. Similarly a non-transitional device must work with a
> transitional driver.
> Things you are trying to move are relevant for this.
>
>
A description of device id vs revision id for a transitional device in the different section is weird.
This patch brings them under same section.
>
> > > Legacy devices and drivers are covered in separate legacy sections
> > > which are non-normative (not because they have to, but simply
> > > because writing normative sections for legacy devices would be extra
> effort).
> > >
> > > Take this example. Modern drivers ignore revision, but transitional
> > > ones need to have 0 because this is what legacy drivers expect.
> > > Reporting 0 in revision this belongs in legacy section.
> > >
> > Sure. And that is how the spec is documented as you have described.
> >
> > "Transitional devices MUST have a PCI Revision ID of 0.".
>
> And that's in the legacy section.
>
Right. And similarly Transitional device id also now with this patch in legacy section.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] RE: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 2:48 ` Parav Pandit
@ 2023-02-27 2:48 ` Parav Pandit
2023-02-27 7:24 ` Michael S. Tsirkin
1 sibling, 0 replies; 19+ messages in thread
From: Parav Pandit @ 2023-02-27 2:48 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Saturday, February 25, 2023 5:58 PM
>
> On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: Saturday, February 25, 2023 12:27 PM
> > >
> > > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> > >
> > > I do not think this is the way to go.
> > >
> > > Spec covers the functioning of modern devices and the transitional
> > > devices when operated by modern drivers.
> > We do not have a modern driver term in the spec.
> > We have the legacy driver and the transitional driver in spec.
> > The modern driver is the way of Linux implementation as far as I understand
> that binds to transitional and nontransitional devices.
>
> Technically, non-transitional:
>
> Devices or drivers with no legacy compatibility are referred to as
> non-transitional devices and drivers, respectively.
>
Right.
So the movement by this patch aligns to what you described above.
>
> > > The text that covers using modern interfaces belongs in the regular section.
> > >
> > What do you mean by modern interfaces in the context of spec?
> >
> > Spec at beginning says "Requirements pertaining to transitional devices and
> drivers is contained in sections named 'Legacy Interface'
> > like this one."
>
> yes, but also:
>
> When device is used through the legacy interface, transitional
> devices and transitional drivers MUST operate according to the
> requirements documented within these legacy interface sections.
> Specification text within these sections generally does not apply
> to non-transitional devices.
>
o.k. transitional device related description is moved to the legacy interfaces section.
>
> > So the content I moved is for the "transitional device" to the Legacy interface
> section.
> >
> > A Linux implementation is free to implement a modern driver that probes
> transitional and non-transitional devices.
>
> Let's not confuse things please. Legacy sections talk about the legacy interface.
Yes, it talks about legacy interface.
But not limited to only legacy interface.
It describes the transitional device interface to like the below revision id example.
> If something applies when device is not used through the legacy interface then
> it does not belong in the legacy section.
>
> What you are missing is that a non-transitional driver must work with a
> transitional device. Similarly a non-transitional device must work with a
> transitional driver.
> Things you are trying to move are relevant for this.
>
>
A description of device id vs revision id for a transitional device in the different section is weird.
This patch brings them under same section.
>
> > > Legacy devices and drivers are covered in separate legacy sections
> > > which are non-normative (not because they have to, but simply
> > > because writing normative sections for legacy devices would be extra
> effort).
> > >
> > > Take this example. Modern drivers ignore revision, but transitional
> > > ones need to have 0 because this is what legacy drivers expect.
> > > Reporting 0 in revision this belongs in legacy section.
> > >
> > Sure. And that is how the spec is documented as you have described.
> >
> > "Transitional devices MUST have a PCI Revision ID of 0.".
>
> And that's in the legacy section.
>
Right. And similarly Transitional device id also now with this patch in legacy section.
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 2:48 ` Parav Pandit
2023-02-27 2:48 ` [virtio-dev] " Parav Pandit
@ 2023-02-27 7:24 ` Michael S. Tsirkin
2023-02-27 7:24 ` [virtio-dev] " Michael S. Tsirkin
1 sibling, 1 reply; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-27 7:24 UTC (permalink / raw)
To: Parav Pandit
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
On Mon, Feb 27, 2023 at 02:48:50AM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 5:58 PM
> >
> > On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Saturday, February 25, 2023 12:27 PM
> > > >
> > > > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> > > >
> > > > I do not think this is the way to go.
> > > >
> > > > Spec covers the functioning of modern devices and the transitional
> > > > devices when operated by modern drivers.
> > > We do not have a modern driver term in the spec.
> > > We have the legacy driver and the transitional driver in spec.
> > > The modern driver is the way of Linux implementation as far as I understand
> > that binds to transitional and nontransitional devices.
> >
> > Technically, non-transitional:
> >
> > Devices or drivers with no legacy compatibility are referred to as
> > non-transitional devices and drivers, respectively.
> >
> Right.
> So the movement by this patch aligns to what you described above.
>
> >
> > > > The text that covers using modern interfaces belongs in the regular section.
> > > >
> > > What do you mean by modern interfaces in the context of spec?
> > >
> > > Spec at beginning says "Requirements pertaining to transitional devices and
> > drivers is contained in sections named 'Legacy Interface'
> > > like this one."
> >
> > yes, but also:
> >
> > When device is used through the legacy interface, transitional
> > devices and transitional drivers MUST operate according to the
> > requirements documented within these legacy interface sections.
> > Specification text within these sections generally does not apply
> > to non-transitional devices.
> >
> o.k. transitional device related description is moved to the legacy interfaces section.
>
>
> >
> > > So the content I moved is for the "transitional device" to the Legacy interface
> > section.
> > >
> > > A Linux implementation is free to implement a modern driver that probes
> > transitional and non-transitional devices.
> >
> > Let's not confuse things please. Legacy sections talk about the legacy interface.
> Yes, it talks about legacy interface.
> But not limited to only legacy interface.
> It describes the transitional device interface to like the below revision id example.
No, rev id 0 is a legacy requirement.
transitional and non-transitional drivers cope with any revision just
fine.
> > If something applies when device is not used through the legacy interface then
> > it does not belong in the legacy section.
> >
> > What you are missing is that a non-transitional driver must work with a
> > transitional device. Similarly a non-transitional device must work with a
> > transitional driver.
> > Things you are trying to move are relevant for this.
> >
> >
> A description of device id vs revision id for a transitional device in the different section is weird.
> This patch brings them under same section.
And that is not a good idea IMO.
> >
> > > > Legacy devices and drivers are covered in separate legacy sections
> > > > which are non-normative (not because they have to, but simply
> > > > because writing normative sections for legacy devices would be extra
> > effort).
> > > >
> > > > Take this example. Modern drivers ignore revision, but transitional
> > > > ones need to have 0 because this is what legacy drivers expect.
> > > > Reporting 0 in revision this belongs in legacy section.
> > > >
> > > Sure. And that is how the spec is documented as you have described.
> > >
> > > "Transitional devices MUST have a PCI Revision ID of 0.".
> >
> > And that's in the legacy section.
> >
> Right. And similarly Transitional device id also now with this patch in legacy section.
The logic is this: people who do not care about legacy interface should be able to ignore
legacy sections.
Your patch moves statements relevant for people with modern drivers
utilizing transitional devices and vice versa to legacy sections.
Not good.
--
MST
^ permalink raw reply [flat|nested] 19+ messages in thread
* [virtio-dev] Re: [PATCH 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 7:24 ` Michael S. Tsirkin
@ 2023-02-27 7:24 ` Michael S. Tsirkin
0 siblings, 0 replies; 19+ messages in thread
From: Michael S. Tsirkin @ 2023-02-27 7:24 UTC (permalink / raw)
To: Parav Pandit
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
virtio-comment@lists.oasis-open.org, Shahaf Shuler
On Mon, Feb 27, 2023 at 02:48:50AM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Saturday, February 25, 2023 5:58 PM
> >
> > On Sat, Feb 25, 2023 at 09:38:16PM +0000, Parav Pandit wrote:
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Saturday, February 25, 2023 12:27 PM
> > > >
> > > > On Sat, Feb 25, 2023 at 01:12:32AM +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"
> > > >
> > > > I do not think this is the way to go.
> > > >
> > > > Spec covers the functioning of modern devices and the transitional
> > > > devices when operated by modern drivers.
> > > We do not have a modern driver term in the spec.
> > > We have the legacy driver and the transitional driver in spec.
> > > The modern driver is the way of Linux implementation as far as I understand
> > that binds to transitional and nontransitional devices.
> >
> > Technically, non-transitional:
> >
> > Devices or drivers with no legacy compatibility are referred to as
> > non-transitional devices and drivers, respectively.
> >
> Right.
> So the movement by this patch aligns to what you described above.
>
> >
> > > > The text that covers using modern interfaces belongs in the regular section.
> > > >
> > > What do you mean by modern interfaces in the context of spec?
> > >
> > > Spec at beginning says "Requirements pertaining to transitional devices and
> > drivers is contained in sections named 'Legacy Interface'
> > > like this one."
> >
> > yes, but also:
> >
> > When device is used through the legacy interface, transitional
> > devices and transitional drivers MUST operate according to the
> > requirements documented within these legacy interface sections.
> > Specification text within these sections generally does not apply
> > to non-transitional devices.
> >
> o.k. transitional device related description is moved to the legacy interfaces section.
>
>
> >
> > > So the content I moved is for the "transitional device" to the Legacy interface
> > section.
> > >
> > > A Linux implementation is free to implement a modern driver that probes
> > transitional and non-transitional devices.
> >
> > Let's not confuse things please. Legacy sections talk about the legacy interface.
> Yes, it talks about legacy interface.
> But not limited to only legacy interface.
> It describes the transitional device interface to like the below revision id example.
No, rev id 0 is a legacy requirement.
transitional and non-transitional drivers cope with any revision just
fine.
> > If something applies when device is not used through the legacy interface then
> > it does not belong in the legacy section.
> >
> > What you are missing is that a non-transitional driver must work with a
> > transitional device. Similarly a non-transitional device must work with a
> > transitional driver.
> > Things you are trying to move are relevant for this.
> >
> >
> A description of device id vs revision id for a transitional device in the different section is weird.
> This patch brings them under same section.
And that is not a good idea IMO.
> >
> > > > Legacy devices and drivers are covered in separate legacy sections
> > > > which are non-normative (not because they have to, but simply
> > > > because writing normative sections for legacy devices would be extra
> > effort).
> > > >
> > > > Take this example. Modern drivers ignore revision, but transitional
> > > > ones need to have 0 because this is what legacy drivers expect.
> > > > Reporting 0 in revision this belongs in legacy section.
> > > >
> > > Sure. And that is how the spec is documented as you have described.
> > >
> > > "Transitional devices MUST have a PCI Revision ID of 0.".
> >
> > And that's in the legacy section.
> >
> Right. And similarly Transitional device id also now with this patch in legacy section.
The logic is this: people who do not care about legacy interface should be able to ignore
legacy sections.
Your patch moves statements relevant for people with modern drivers
utilizing transitional devices and vice versa to legacy sections.
Not good.
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-02-27 7:24 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-24 23:12 [PATCH 0/2] Move transitional dev req to legacy interface Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-24 23:12 ` [virtio-comment] [PATCH 1/2] transport-pci: Use capital alphabets Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-25 17:45 ` Michael S. Tsirkin
2023-02-25 17:45 ` [virtio-dev] " Michael S. Tsirkin
2023-02-25 21:40 ` [virtio-dev] " Parav Pandit
2023-02-24 23:12 ` [PATCH 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2023-02-24 23:12 ` [virtio-dev] " Parav Pandit
2023-02-25 17:26 ` Michael S. Tsirkin
2023-02-25 17:26 ` [virtio-dev] " Michael S. Tsirkin
2023-02-25 21:38 ` Parav Pandit
2023-02-25 21:38 ` [virtio-dev] " Parav Pandit
2023-02-25 22:58 ` Michael S. Tsirkin
2023-02-25 22:58 ` [virtio-dev] " Michael S. Tsirkin
2023-02-27 2:48 ` Parav Pandit
2023-02-27 2:48 ` [virtio-dev] " Parav Pandit
2023-02-27 7:24 ` Michael S. Tsirkin
2023-02-27 7:24 ` [virtio-dev] " Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox