* [PATCH v1 0/2] Move transitional dev req to legacy interface
@ 2023-02-25 22:06 Parav Pandit
2023-02-25 22:06 ` [virtio-dev] " Parav Pandit
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 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 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.
patch summary:
patch-1 use capital alphabets to define device id
patch-2 move pci device id normative statements adjacent to other
requirements
changelog:
1. use lowercase letters
2. add missing '.'
Parav Pandit (2):
transport-pci: Use lowecase alphabets
transport-pci: Move transitional device id to legacy section
transport-pci.tex | 82 ++++++++++++++++++++++++-----------------------
1 file changed, 42 insertions(+), 40 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [virtio-dev] [PATCH v1 0/2] Move transitional dev req to legacy interface
2023-02-25 22:06 [PATCH v1 0/2] Move transitional dev req to legacy interface Parav Pandit
@ 2023-02-25 22:06 ` Parav Pandit
2023-02-25 22:06 ` [PATCH v1 1/2] transport-pci: Use lowecase alphabets Parav Pandit
2023-02-25 22:06 ` [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section Parav Pandit
2 siblings, 0 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 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 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.
patch summary:
patch-1 use capital alphabets to define device id
patch-2 move pci device id normative statements adjacent to other
requirements
changelog:
1. use lowercase letters
2. add missing '.'
Parav Pandit (2):
transport-pci: Use lowecase alphabets
transport-pci: Move transitional device id to legacy section
transport-pci.tex | 82 ++++++++++++++++++++++++-----------------------
1 file changed, 42 insertions(+), 40 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] 12+ messages in thread
* [PATCH v1 1/2] transport-pci: Use lowecase alphabets
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 ` 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
2 siblings, 1 reply; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Use uniformly lowercase alphabets to write PCI vendor id and device id.
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
changelog:
v0->v1:
- use all lowercase letters to define device and vedor id
---
transport-pci.tex | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 0642107..9f9f076 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -18,8 +18,8 @@ \section{Virtio Over PCI Bus}\label{sec:Virtio Transport Options / Virtio Over P
\subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-Any PCI device with PCI Vendor ID 0x1AF4, and PCI Device ID 0x1000 through
-0x107F inclusive is a virtio device. The actual value within this range
+Any PCI device with PCI Vendor ID 0x1af4, and PCI Device ID 0x1000 through
+0x107f inclusive is a virtio device. The actual value within this range
indicates which virtio device is supported by the device.
The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
@@ -28,7 +28,7 @@ \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 have the PCI Vendor ID 0x1af4.
Devices MUST either have the PCI Device ID calculated 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,
@@ -69,13 +69,13 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
to drive the device.
\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
+Drivers MUST match devices with the PCI Vendor ID 0x1af4 and
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
Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-MUST match devices with the PCI Vendor ID 0x1AF4 and
+MUST match devices with the PCI Vendor ID 0x1af4 and
the Transitional PCI Device ID indicated in section
\ref{sec:Virtio
Transport Options / Virtio Over PCI Bus / PCI Device Discovery}.
@@ -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.
@@ -688,7 +688,7 @@ \subsubsection{Vendor data capability}\label{sec:Virtio
Devices CAN present multiple Vendor data capabilities with
either different or identical \field{vendor_id} values.
-The value \field{vendor_id} MUST NOT equal 0x1AF4.
+The value \field{vendor_id} MUST NOT equal 0x1af4.
The size of the Vendor data capability MUST be a multiple of 4 bytes.
--
2.26.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [virtio-dev] [PATCH v1 1/2] transport-pci: Use lowecase alphabets
2023-02-25 22:06 ` [PATCH v1 1/2] transport-pci: Use lowecase alphabets Parav Pandit
@ 2023-02-25 22:06 ` Parav Pandit
0 siblings, 0 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 UTC (permalink / raw)
To: mst, virtio-dev, cohuck; +Cc: virtio-comment, shahafs, Parav Pandit
Use uniformly lowercase alphabets to write PCI vendor id and device id.
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
changelog:
v0->v1:
- use all lowercase letters to define device and vedor id
---
transport-pci.tex | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 0642107..9f9f076 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -18,8 +18,8 @@ \section{Virtio Over PCI Bus}\label{sec:Virtio Transport Options / Virtio Over P
\subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-Any PCI device with PCI Vendor ID 0x1AF4, and PCI Device ID 0x1000 through
-0x107F inclusive is a virtio device. The actual value within this range
+Any PCI device with PCI Vendor ID 0x1af4, and PCI Device ID 0x1000 through
+0x107f inclusive is a virtio device. The actual value within this range
indicates which virtio device is supported by the device.
The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
@@ -28,7 +28,7 @@ \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 have the PCI Vendor ID 0x1af4.
Devices MUST either have the PCI Device ID calculated 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,
@@ -69,13 +69,13 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
to drive the device.
\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
+Drivers MUST match devices with the PCI Vendor ID 0x1af4 and
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
Transport Options / Virtio Over PCI Bus / PCI Device Discovery}
-MUST match devices with the PCI Vendor ID 0x1AF4 and
+MUST match devices with the PCI Vendor ID 0x1af4 and
the Transitional PCI Device ID indicated in section
\ref{sec:Virtio
Transport Options / Virtio Over PCI Bus / PCI Device Discovery}.
@@ -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.
@@ -688,7 +688,7 @@ \subsubsection{Vendor data capability}\label{sec:Virtio
Devices CAN present multiple Vendor data capabilities with
either different or identical \field{vendor_id} values.
-The value \field{vendor_id} MUST NOT equal 0x1AF4.
+The value \field{vendor_id} MUST NOT equal 0x1af4.
The size of the Vendor data capability MUST be a multiple of 4 bytes.
--
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] 12+ messages in thread
* [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
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 ` Parav Pandit
2023-02-25 22:06 ` [virtio-dev] " Parav Pandit
2023-02-25 22:59 ` Michael S. Tsirkin
2 siblings, 2 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 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>
---
changelog:
v0->v1:
- rebased to lowercase device id notation
- added missing '.'
---
transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
1 file changed, 38 insertions(+), 36 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 9f9f076..5d22e6f 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -24,50 +24,28 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
Additionally, devices MAY utilize a Transitional PCI Device ID range,
-0x1000 to 0x103F depending on the device type.
+0x1000 to 0x103f depending on the device type.
\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,11 +63,35 @@ \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.
+the range 0x1000 to 0x103f.
This is to match legacy drivers.
--
2.26.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [virtio-dev] [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
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 ` Parav Pandit
2023-02-25 22:59 ` Michael S. Tsirkin
1 sibling, 0 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-25 22:06 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>
---
changelog:
v0->v1:
- rebased to lowercase device id notation
- added missing '.'
---
transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
1 file changed, 38 insertions(+), 36 deletions(-)
diff --git a/transport-pci.tex b/transport-pci.tex
index 9f9f076..5d22e6f 100644
--- a/transport-pci.tex
+++ b/transport-pci.tex
@@ -24,50 +24,28 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
as indicated in section \ref{sec:Device Types}.
Additionally, devices MAY utilize a Transitional PCI Device ID range,
-0x1000 to 0x103F depending on the device type.
+0x1000 to 0x103f depending on the device type.
\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,11 +63,35 @@ \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.
+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] 12+ messages in thread
* Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
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
1 sibling, 2 replies; 12+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 22:59 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
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.
> ---
> changelog:
> v0->v1:
> - rebased to lowercase device id notation
> - added missing '.'
> ---
> transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
> 1 file changed, 38 insertions(+), 36 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index 9f9f076..5d22e6f 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -24,50 +24,28 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
> as indicated in section \ref{sec:Device Types}.
> Additionally, devices MAY utilize a Transitional PCI Device ID range,
> -0x1000 to 0x103F depending on the device type.
> +0x1000 to 0x103f depending on the device type.
>
> \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,11 +63,35 @@ \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.
> +the range 0x1000 to 0x103f.
>
> This is to match legacy drivers.
>
> --
> 2.26.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [virtio-dev] Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
2023-02-25 22:59 ` Michael S. Tsirkin
@ 2023-02-25 22:59 ` Michael S. Tsirkin
2023-02-27 2:54 ` Parav Pandit
1 sibling, 0 replies; 12+ messages in thread
From: Michael S. Tsirkin @ 2023-02-25 22:59 UTC (permalink / raw)
To: Parav Pandit; +Cc: virtio-dev, cohuck, virtio-comment, shahafs
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.
> ---
> changelog:
> v0->v1:
> - rebased to lowercase device id notation
> - added missing '.'
> ---
> transport-pci.tex | 74 ++++++++++++++++++++++++-----------------------
> 1 file changed, 38 insertions(+), 36 deletions(-)
>
> diff --git a/transport-pci.tex b/transport-pci.tex
> index 9f9f076..5d22e6f 100644
> --- a/transport-pci.tex
> +++ b/transport-pci.tex
> @@ -24,50 +24,28 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> The PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID,
> as indicated in section \ref{sec:Device Types}.
> Additionally, devices MAY utilize a Transitional PCI Device ID range,
> -0x1000 to 0x103F depending on the device type.
> +0x1000 to 0x103f depending on the device type.
>
> \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,11 +63,35 @@ \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.
> +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 [flat|nested] 12+ messages in thread
* RE: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
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
1 sibling, 2 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-27 2:54 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 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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [virtio-dev] RE: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 2:54 ` Parav Pandit
@ 2023-02-27 2:54 ` Parav Pandit
2023-02-27 7:29 ` Michael S. Tsirkin
1 sibling, 0 replies; 12+ messages in thread
From: Parav Pandit @ 2023-02-27 2:54 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 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.
---------------------------------------------------------------------
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] 12+ messages in thread
* Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 2:54 ` Parav Pandit
2023-02-27 2:54 ` [virtio-dev] " Parav Pandit
@ 2023-02-27 7:29 ` Michael S. Tsirkin
2023-02-27 7:29 ` [virtio-dev] " Michael S. Tsirkin
1 sibling, 1 reply; 12+ messages in thread
From: Michael S. Tsirkin @ 2023-02-27 7:29 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: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
^ permalink raw reply [flat|nested] 12+ messages in thread
* [virtio-dev] Re: [PATCH v1 2/2] transport-pci: Move transitional device id to legacy section
2023-02-27 7:29 ` Michael S. Tsirkin
@ 2023-02-27 7:29 ` Michael S. Tsirkin
0 siblings, 0 replies; 12+ messages in thread
From: Michael S. Tsirkin @ 2023-02-27 7:29 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: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
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-02-27 7:30 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2023-02-27 7:29 ` [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