public inbox for virtio-comment@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
@ 2025-10-27 17:47 Parav Pandit
  2025-10-27 17:47 ` [PATCH 1/4] edit: remove old changelog Parav Pandit
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 17:47 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar; +Cc: shahafs, Parav Pandit

Hi All,

This short series prepares the specification for release 1.4 version
from the master branch.

note:
makediffpdf.sh still have fails and needs resolution. WIP.

Parav Pandit (4):
  edit: remove old changelog
  edit: add changelog for 1.4
  edit: Remove annotation of special character
  REVISION: update to 1.4

 REVISION      |    2 +-
 REVISION-DATE |    2 +-
 cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
 cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
 4 files changed, 3407 insertions(+), 1322 deletions(-)
 create mode 100644 cl-cs05.tex

-- 
2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/4] edit: remove old changelog
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
@ 2025-10-27 17:47 ` Parav Pandit
  2025-10-27 17:47 ` [PATCH 2/4] edit: add changelog for 1.4 Parav Pandit
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 17:47 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar; +Cc: shahafs, Parav Pandit

Prepare the changelog file for 1.4, so remove old change log and
move it to cl-cs05.tex.

Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 cl-cs05.tex | 2120 +++++++++++++++++++++++++++++++++++++++++++++++++++
 cl-os.tex   | 2120 ---------------------------------------------------
 2 files changed, 2120 insertions(+), 2120 deletions(-)
 create mode 100644 cl-cs05.tex

diff --git a/cl-cs05.tex b/cl-cs05.tex
new file mode 100644
index 0000000..77727e5
--- /dev/null
+++ b/cl-cs05.tex
@@ -0,0 +1,2120 @@
+5da7c1414e7e & 13 Jun 2022 & Stefan Hajnoczi & {\noindent virtio-blk: document that the capacity field can change\vspace{\baselineskip}
+
+
+Block devices can change size during operation. A configuration change
+notification is sent by the device and the driver detects that the field
+has changed. Document this behavior that has already been implemented in
+Linux and QEMU since 2011.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/136}
+
+Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Block Device / Device Operation}.
+ } \\
+\hline
+ad2e1674bb69 & 13 Jun 2022 & Laura Loghin & {\noindent vsock: add documentation about len header field\vspace{\baselineskip}
+
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/137}
+
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+
+Signed-off-by: Laura Loghin <lauralg@amazon.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Socket Device / Device Operation}.
+ } \\
+\hline
+fca015771bc9 & 13 Jun 2022 & Xuan Zhuo & {\noindent virtio-net: support reset queue\vspace{\baselineskip}
+
+
+A separate reset queue function introduced by Virtqueue Reset.
+
+However, it is currently not defined what to do if the destination queue is
+being reset when virtio-net is steering in multi-queue mode.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/138}
+
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+
+Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode},
+and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Receive-side scaling (RSS) / Setting RSS parameters}.
+ } \\
+\hline
+6328f51e21b5 & 24 Jun 2022 & Yuri Benditovich & {\noindent virtio-net: define guest USO features\vspace{\baselineskip}
+
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/120}
+
+Add definition for large UDP packets device-to-driver.
+
+Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Feature bits},
+\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
+\ref{sec:Device Types / Network Device / Device Initialization},
+\ref{sec:Device Types / Network Device / Device Operation / Setting Up Receive Buffers},
+\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets},
+and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration / Setting Offloads State}.
+ } \\
+\hline
+49ff7805924c & 24 Jun 2022 & Anton Yakovlev & {\noindent virtio-snd: add support for audio controls\vspace{\baselineskip}
+
+
+This patch extends the virtio sound device specification by adding
+support for audio controls. Audio controls can be used to set the volume
+level, mute/unmute the audio signal, switch different modes/states of
+the virtual sound device, etc.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/107}
+
+Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Driver Conformance / Sound Driver Conformance},
+\ref{sec:Conformance / Device Conformance / Sound Device Conformance},
+\ref{sec:Device Types / Sound Device / Feature Bits},
+\ref{sec:Device Types / Sound Device / Device Configuration Layout},
+\ref{sec:Device Types / Sound Device / Device Operation},
+and \ref{sec:Device Types / Sound Device / Device Operation / Control Elements}.
+ } \\
+\hline
+4d9068effa81 & 11 Jul 2022 & Alvaro Karsz & {\noindent Introduction of Virtio Network device notifications coalescing feature.\vspace{\baselineskip}
+
+
+Control a network device notifications coalescing parameters using the control virtqueue.
+A new control class was added: VIRTIO_NET_CTRL_NOTF_COAL.
+
+This class provides 2 commands:
+
+\begin{itemize}
+\item VIRTIO_NET_CTRL_NOTF_COAL_TX_SET:
+  Ask the network device to change the tx_usecs and tx_max_packets parameters.
+
+\begin{itemize}
+  \item tx_usecs: Maximum number of usecs to delay a TX notification.
+
+  \item tx_max_packets: Maximum number of packets to send before a TX notification.
+\end{itemize}
+
+
+\item VIRTIO_NET_CTRL_NOTF_COAL_RX_SET:
+  Ask the network device to change the rx_usecs and rx_max_packets parameters.
+
+\begin{itemize}
+  \item rx_usecs: Maximum number of usecs to delay a RX notification.
+
+  \item rx_max_packets: Maximum number of packets to receive before a RX notification.
+\end{itemize}
+\end{itemize}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/141}
+
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+
+Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
+
+[CH: fixed commit message]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Driver Conformance / Network Driver Conformance},
+\ref{sec:Conformance / Device Conformance / Network Device Conformance},
+\ref{sec:Device Types / Network Device / Feature bits},
+\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
+and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Notifications Coalescing}.
+ } \\
+\hline
+abbe8afda8db & 03 Aug 2022 & Lei He & {\noindent virtio-crypto: introduce akcipher service\vspace{\baselineskip}
+
+
+Introduce akcipher (asymmetric key cipher) service type, several
+asymmetric algorithms and relevent information:
+
+  - RSA(padding algorithm, ASN.1 schema definition)
+
+  - ECDSA(ECC algorithm)
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/129}
+
+Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
+
+Signed-off-by: Lei He <helei.sig11@bytedance.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Normative References},
+\ref{sec:Device Types / Crypto Device},
+\ref{sec:Device Types / Crypto Device / Feature bits},
+\ref{sec:Device Types / Crypto Device / Feature bit requirements},
+\ref{sec:Device Types / Crypto Device / Supported crypto services},
+\ref{sec: Device Types / Crypto Device / Supported crypto services / AKCIPHER services},
+\ref{sec:Device Types / Crypto Device / Device configuration layout},
+\ref{sec:Device Types / Crypto Device / Device Operation / Operation status},
+\ref{sec:Device Types / Crypto Device / Device Operation / Control Virtqueue},
+\ref{sec:Device Types / Crypto Device / Device Operation / Control Virtqueue / Session operation / Session operation: AKCIPHER session},
+\ref{sec:Device Types / Crypto Device / Device Operation / Data Virtqueue},
+and \ref{sec:Device Types / Crypto Device / Device Operation / AKCIPHER Service Operation}.
+ } \\
+\hline
+26ed30ccb049 & 03 Aug 2022 & Stefano Garzarella & {\noindent virtio-vsock: add VIRTIO_VSOCK_F_NO_IMPLIED_STREAM feature bit\vspace{\baselineskip}
+
+
+Initially virtio-vsock only supported the stream type, which is why
+there was no feature. Later we added the seqpacket type and in the future
+we may have other types (e.g. datagram).
+
+seqpacket is an extension of stream, so it might be implied that if
+seqpacket is supported, stream is too, but this might not be true for
+other types.
+
+As we discussed here [1] should be better to add a new
+VIRTIO_VSOCK_F_NO_IMPLIED_STREAM feature bit to avoid this implication.
+
+Let's also add normative sections to better define the behavior when
+VIRTIO_VSOCK_F_NO_IMPLIED_STREAM is negotiated or not.
+
+[1] \url{http://markmail.org/message/2s3qd74drgjxkvte}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/142}
+
+Suggested-by: Michael S. Tsirkin <mst@redhat.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance},
+\ref{sec:Conformance / Device Conformance / Socket Device Conformance},
+and \ref{sec:Device Types / Socket Device / Feature bits}.
+ } \\
+\hline
+a7251b0cb4d9 & 14 Nov 2022 & Hrishivarya Bhageeradhan & {\noindent content: reserve device ID 43 for Camera device\vspace{\baselineskip}
+
+
+The virtio-camera device allows to stream a camera video with
+ability to change controls, formats and get camera captures.
+This patch is to reserve the next available device ID for
+virtio-camera.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/148}
+
+Signed-off-by: Hrishivarya Bhageeradhan <hrishivarya.bhageeradhan@opensynergy.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types}.
+ } \\
+\hline
+b4e8efa0fa6c & 05 Dec 2022 & Dmitry Fomichev & {\noindent virtio-blk: add zoned block device specification\vspace{\baselineskip}
+
+
+Introduce support for Zoned Block Devices to virtio.
+
+Zoned Block Devices (ZBDs) aim to achieve a better capacity, latency
+and/or cost characteristics compared to commonly available block
+devices by getting the entire LBA space of the device divided to block
+regions that are much larger than the LBA size. These regions are
+called zones and they can only be written sequentially. More details
+about ZBDs can be found at
+
+\url{https://zonedstorage.io/docs/introduction/zoned-storage} .
+
+In its current form, the virtio protocol for block devices (virtio-blk)
+is not aware of ZBDs but it allows the driver to successfully scan a
+host-managed drive provided by the virtio block device. As the result,
+the host-managed drive is recognized by virtio driver as a regular,
+non-zoned drive that will operate erroneously under the most common
+write workloads. Host-aware ZBDs are currently usable, but their
+performance may not be optimal because the driver can only see them as
+non-zoned block devices.
+
+To fix this, the virtio-blk protocol needs to be extended to add the
+capabilities to convey the zone characteristics of ZBDs at the device
+side to the driver and to provide support for ZBD-specific commands -
+Report Zones, four zone operations (Open, Close, Finish and Reset) and
+(optionally) Zone Append. The proposed standard extension aims to
+define this new functionality.
+
+This patch extends the virtio-blk section of virtio specification with
+the minimum set of requirements that are necessary to support ZBDs.
+The resulting device model is a subset of the models defined in ZAC/ZBC
+and ZNS standards documents. The included functionality mirrors
+the existing Linux kernel block layer ZBD support and should be
+sufficient to handle the host-managed and host-aware HDDs that are on
+the market today as well as ZNS SSDs that are entering the market at
+the time of submission of this patch.
+
+I would like to thank the following people for their useful feedback
+and suggestions while working on the initial iterations of this patch.
+
+Damien Le Moal <damien.lemoal@opensource.wdc.com>
+
+Matias Bjørling <Matias.Bjorling@wdc.com>
+
+Niklas Cassel <Niklas.Cassel@wdc.com>
+
+Hans Holmberg <Hans.Holmberg@wdc.com>
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/143}
+
+Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Block Device / Feature bits},
+\ref{sec:Device Types / Block Device / Device configuration layout},
+\ref{sec:Device Types / Block Device / Device Initialization},
+and \ref{sec:Device Types / Block Device / Device Operation}.
+ } \\
+\hline
+985bbf397db4 & 07 Dec 2022 & Xuan Zhuo & {\noindent content: reserve device ID 44 for ISM device\vspace{\baselineskip}
+
+
+The virtio-ism device provides the ability to share memory between
+different guests on a host. A guest's memory got from ism device can be
+shared with multiple peers at the same time. This shared relationship
+can be dynamically created and released.
+
+The shared memory obtained from the device is divided into multiple ism
+regions for share. ISM device provides a mechanism to notify other ism
+region referrers of content update events.
+
+This patch is to reserve the next available device ID for virtio-ism.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/150}
+
+Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+
+Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
+
+Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
+
+Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
+
+Signed-off-by: Helin Guo <helinguo@linux.alibaba.com>
+
+Signed-off-by: Hans Zhang <hans@linux.alibaba.com>
+
+Signed-off-by: He Rongguang <herongguang@linux.alibaba.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types}.
+ } \\
+\hline
+f2b28698a28a & 30 Jan 2023 & Parav Pandit & {\noindent virtio-net: Maintain network device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio network device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device},
+\ref{sec:Conformance / Device Conformance / Network Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}.
+ } \\
+\hline
+81694cddc4c1 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-net: Fix spelling errors\vspace{\baselineskip}
+
+
+Fix two spelling errors in the virtio network device specification.
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Initialization},
+and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+335342f5cd88 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-blk: Maintain block device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio block device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Block Device},
+\ref{sec:Conformance / Device Conformance / Block Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}.
+ } \\
+\hline
+d3d06187eabb & 30 Jan 2023 & Parav Pandit & {\noindent virtio-console: Maintain console device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio console device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Console Device},
+\ref{sec:Conformance / Device Conformance / Console Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}.
+ } \\
+\hline
+c71e88e86d35 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-entropy: Maintain entropy device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio entropy device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Entropy Device},
+\ref{sec:Conformance / Device Conformance / Entropy Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}.
+ } \\
+\hline
+c06f3b670dd6 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-balloon: Maintain mem balloon device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio memory balloon device specification to its own file
+similar to recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Memory Balloon Device},
+\ref{sec:Conformance / Device Conformance / Traditional Memory Balloon Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance}.
+ } \\
+\hline
+d404f1c4e886 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-scsi: Maintain scsi host device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio SCSI host device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / SCSI Host Device},
+\ref{sec:Conformance / Device Conformance / SCSI Host Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}.
+ } \\
+\hline
+442bb643a9ad & 30 Jan 2023 & Parav Pandit & {\noindent virtio-gpu: Maintain gpu device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio gpu device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / GPU Device Conformance}.
+ } \\
+\hline
+c9686f241819 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-input: Maintain input device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio input device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / Input Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Input Driver Conformance}.
+ } \\
+\hline
+8463bba27c79 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-crypto: Maintain crypto device spec in separate directory\vspace{\baselineskip}
+
+
+Move virtio crypto device specification to its own file similar to
+recent virtio devices.
+While at it, place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / Crypto Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Crypto Driver Conformance}.
+ } \\
+\hline
+828754b98e3b & 30 Jan 2023 & Parav Pandit & {\noindent virtio-vsock: Maintain socket device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / Socket Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance}.
+ } \\
+\hline
+8632f80e251f & 30 Jan 2023 & Parav Pandit & {\noindent virtio-fs: Maintain file system device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / File System Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / File System Driver Conformance}.
+ } \\
+\hline
+b067de47a506 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-rpmb: Maintain rpmb device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / RPMB Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / RPMB Driver Conformance}.
+ } \\
+\hline
+b1cf73e96173 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-iommu: Maintain iommu device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / IOMMU Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / IOMMU Driver Conformance}.
+ } \\
+\hline
+6813e3cc271e & 30 Jan 2023 & Parav Pandit & {\noindent virtio-sound: Maintain sound device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / Sound Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Sound Driver Conformance}.
+ } \\
+\hline
+5042a5031502 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-mem: Maintain memory device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / Memory Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / Memory Driver Conformance}.
+ } \\
+\hline
+00b9935238bf & 30 Jan 2023 & Parav Pandit & {\noindent virtio-i2c: Maintain i2c device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / I2C Adapter Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / I2C Adapter Driver Conformance}.
+ } \\
+\hline
+674489b191ab & 30 Jan 2023 & Parav Pandit & {\noindent virtio-scmi: Maintain scmi device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / SCMI Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / SCMI Driver Conformance}.
+ } \\
+\hline
+6c9c04d2bf5e & 30 Jan 2023 & Parav Pandit & {\noindent virtio-gpio: Maintain gpio device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / GPIO Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / GPIO Driver Conformance}.
+ } \\
+\hline
+d04d253b1055 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-pmem: Maintain pmem device spec in separate directory\vspace{\baselineskip}
+
+
+Place device specification, its driver and device
+conformance into its own directory to have self contained device
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Conformance / Device Conformance / PMEM Device Conformance},
+and \ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance}.
+ } \\
+\hline
+b1fb6b62495f & 02 Feb 2023 & Parav Pandit & {\noindent virtio-net: Clarify VLAN filter table configuration\vspace{\baselineskip}
+
+
+The filtering behavior of the VLAN filter commands is not very clear as
+discussed in thread [1].
+
+Hence, add the command description and device requirements for it.
+
+[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00210.html}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/147}
+
+Suggested-by: Si-Wei Liu <si-wei.liu@oracle.com>
+
+Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering},
+\ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue},
+and \ref{sec:Conformance / Device Conformance / Network Device Conformance}.
+ } \\
+\hline
+53b0cb13169c & 02 Feb 2023 & Parav Pandit & {\noindent virtio-net: Avoid confusing device configuration text\vspace{\baselineskip}
+
+
+The added text in commit of Fixes tag was redundant and
+confusing in context of VLAN filtering description.
+
+Hence remove it as discussed in [1] and [2].
+
+[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00282.html}
+[2] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00286.html}
+
+\vspace{\baselineskip}
+Fixes: 296303444f6b ("virtio-net: Clarify VLAN filter table configuration")
+
+Suggested-by: Halil Pasic <pasic@linux.ibm.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+[CH: applied as editorial change]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+3b9b6acb0936 & 09 Feb 2023 & Michael S. Tsirkin & {\noindent audio->sound\vspace{\baselineskip}
+
+
+Spec calls the device "sound device". Make the name in the
+ID section match.
+
+\vspace{\baselineskip}
+MST: applied as editorial change.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types}.
+ } \\
+\hline
+0ce03bc6995a & 14 Feb 2023 & Parav Pandit & {\noindent virtio-net: Avoid confusion between a card and a device\vspace{\baselineskip}
+
+
+Historically virtio network device is documented as an Ethernet card.
+A modern card in the industry has one to multiple ports, one to multiple
+PCI functions. However the virtio network device is usually just a
+single link/port network interface controller.
+
+Hence, avoid this confusing term 'card' and align the specification
+to adhere to widely used specification term as 'device' used for all
+virtio device types.
+
+Replaced 'card' with 'network interface controller'.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/154}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery},
+\ref{sec:Device Types},
+\ref{sec:Device Types / Network Device},
+\ref{sec:Device Types / Network Device / Feature bits},
+and \ref{sec:Device Types / Network Device / Device Initialization}.
+ } \\
+\hline
+be2ce1ee17e0 & 15 Feb 2023 & Parav Pandit & {\noindent content.tex Fix Driver notifications label\vspace{\baselineskip}
+
+
+Driver notifications section is under "Basic Facilities of a Virtio
+Device". However, the label is placed under "Virtqueues" section.
+
+Fix the label references.
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+[CH: pushed as an editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications}.
+ } \\
+\hline
+2ea4627093fb & 20 Feb 2023 & Alvaro Karsz & {\noindent virtio-net: Mention VIRTIO_NET_F_HASH_REPORT dependency on VIRTIO_NET_F_CTRL_VQ\vspace{\baselineskip}
+
+
+If the VIRTIO_NET_F_HASH_REPORT feature is negotiated, the driver may
+send VIRTIO_NET_CTRL_MQ_HASH_CONFIG commands, thus, the control VQ
+feature should be negotiated.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/158}
+
+Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device configuration layout}.
+ } \\
+\hline
+73ce5bb02003 & 01 Mar 2023 & Alvaro Karsz & {\noindent virtio-net: Fix and update VIRTIO_NET_F_NOTF_COAL feature\vspace{\baselineskip}
+
+
+This patch makes several improvements to the notification coalescing
+feature, including:
+
+\begin{itemize}
+
+\item Consolidating virtio_net_ctrl_coal_tx and virtio_net_ctrl_coal_rx
+  into a single struct, virtio_net_ctrl_coal, as they are identical.
+
+\item Emphasizing that the coalescing commands are best-effort.
+
+\item Defining the behavior of coalescing with regards to delivering
+  notifications when a change occur.
+
+\item Stating that the commands should apply to all the receive/transmit
+  virtqueues.
+
+\item Stating that every receive/transmit virtqueue should count it's own
+  packets.
+
+\item A new intro explaining the entire coalescing operation.
+
+\end{itemize}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/159}
+
+Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+3508347769af & 01 Mar 2023 & Parav Pandit & {\noindent virtio-net: Improve introductory description\vspace{\baselineskip}
+
+
+The control VQ of the virtio network device is used beyond advance
+steering control. The control VQ dynamically changes multiple features
+of the initialized device.
+
+Hence, update this area of control VQ introductory description at few
+places and also place the link to its description.
+
+Also update the introduction section to better describe receive and
+transmit virtqueues.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/156}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device},
+\ref{sec:Device Types / Network Device / Virtqueues},
+and \ref{sec:Device Types / Network Device / Device Operation}.
+ } \\
+\hline
+91a469991433 & 10 Mar 2023 & Parav Pandit & {\noindent transport-pci: Split PCI transport to its own file\vspace{\baselineskip}
+
+
+Place PCI transport specification in its own file to better maintain it.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus}.
+ } \\
+\hline
+9e88ba9c47d0 & 10 Mar 2023 & Parav Pandit & {\noindent transport-mmio: Split MMIO transport to its own file\vspace{\baselineskip}
+
+
+Place MMIO transport specification in its own file to better maintain it.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO}.
+ } \\
+\hline
+0af264f9d4ea & 10 Mar 2023 & Parav Pandit & {\noindent transport-ccw: Split Channel IO transport to its own file\vspace{\baselineskip}
+
+
+Place Channel IO transport specification in its own file to
+better maintain it.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over Channel I/O}.
+ } \\
+\hline
+deb0aa0c7faa & 10 Mar 2023 & Parav Pandit & {\noindent transport-pci: Fix spellings and white spaces\vspace{\baselineskip}
+
+
+Now that we have individual files, fix reported spelling errors.
+
+While at it, remove trailing white spaces.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus},
+\ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / ISR status capability},
+and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization}.
+ } \\
+\hline
+ca97719ea35e & 10 Mar 2023 & Parav Pandit & {\noindent transport-mmio: Fix spellings and white spaces\vspace{\baselineskip}
+
+
+Now that we have individual files, fix reported spelling errors.
+
+While at it, remove trailing white spaces.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
+and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
+ } \\
+\hline
+8797f4d4e410 & 10 Mar 2023 & Parav Pandit & {\noindent transport-ccw: Fix spellings and white spaces\vspace{\baselineskip}
+
+
+Now that we have individual files, fix reported spelling errors.
+
+While at it, remove extra white spaces.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Basic Concepts},
+\ref{sec:Virtio Transport Options / Virtio over channel I/O / Basic Concepts/ Notifications},
+\ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators},
+and \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification}.
+ } \\
+\hline
+d3f832b6605d & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Describe dev cfg fields read only\vspace{\baselineskip}
+
+
+Device configuration fields are read only. Avoid duplicating this
+description for multiple fields.
+
+Instead describe it one time and do it in the driver requirements
+section.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/161}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device configuration layout}.
+ } \\
+\hline
+115ceb97f813 & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Define cfg fields before description\vspace{\baselineskip}
+
+
+Currently some fields of the virtio_net_config structure are defined
+before introducing the structure and some are defined after.
+Better to define the configuration layout first followed by
+description of all the fields.
+
+Device configuration fields are described in the section. Change wording
+from 'listed' to 'described' as suggested in patch [1].
+
+[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202302/msg00004.html}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/161}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device configuration layout}.
+ } \\
+\hline
+2d1d8dfa3474 & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Fix virtqueues spelling error\vspace{\baselineskip}
+
+
+Correct spelling from virtqueus to virtqueues.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Jiri Pirko <jiri@nvidia.com>
+
+[CH: pushed as editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+2d5495083c12 & 15 Mar 2023 & Parav Pandit & {\noindent transport-pci: Remove duplicate word structure\vspace{\baselineskip}
+
+
+Remove duplicate word structure.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Reviewed-by: Jiri Pirko <jiri@nvidia.com>
+
+[CH: pushed as editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Legacy Interfaces: A Note on PCI Device Layout}.
+ } \\
+\hline
+b0414098602f & 15 Mar 2023 & Parav Pandit & {\noindent virtio-blk: Define dev cfg layout before its fields\vspace{\baselineskip}
+
+
+Define device configuration layout structure before describing its
+individual fields.
+
+This is an editorial change.
+
+Suggested-by: Cornelia Huck <cohuck@redhat.com>
+
+Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device configuration layout}.
+ } \\
+\hline
+380ed02bdb88 & 04 Apr 2023 & Parav Pandit & {\noindent transport-pci: Remove empty line at end of file\vspace{\baselineskip}
+
+
+Remove empty line at end of file.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus}.
+ } \\
+\hline
+1ed0754c6134 & 11 Apr 2023 & Heng Qi & {\noindent virtio-net: support the virtqueue coalescing moderation\vspace{\baselineskip}
+
+
+Currently, coalescing parameters are grouped for all transmit and receive
+virtqueues. This patch supports setting or getting the parameters for a
+specified virtqueue, and a typical application of this function is netdim[1].
+
+When the traffic between virtqueues is unbalanced, for example, one virtqueue
+is busy and another virtqueue is idle, then it will be very useful to
+control coalescing parameters at the virtqueue granularity.
+
+[1] \url{https://docs.kernel.org/networking/net_dim.html}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/166}
+
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Feature bits},
+\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
+and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Notifications Coalescing}.
+ } \\
+\hline
+362ebd007271 & 11 Apr 2023 & Alvaro Karsz & {\noindent virtio-net: define the VIRTIO_NET_F_CTRL_RX_EXTRA feature bit\vspace{\baselineskip}
+
+
+The VIRTIO_NET_F_CTRL_RX_EXTRA feature bit is mentioned in the spec
+since version 1.0, but it's not properly defined.
+
+This patch defines the feature bit and defines the dependency on VIRTIO_NET_F_CTRL_VQ.
+
+Since this dependency is missing in previous versions, we add it now as
+a "SHOULD".
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/162}
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Feature bits},
+and \ref{sec:Device Types / Network Device / Device configuration layout}.
+ } \\
+\hline
+d3b2a19bc369 & 21 Apr 2023 & Parav Pandit & {\noindent device-types/multiple: replace queues with enqueues\vspace{\baselineskip}
+
+
+Queue is a verb and noun both. Replacing it with enqueue avoids
+ambiguity around plural queues noun vs verb; similar to virtio fs device
+description.
+
+\vspace{\baselineskip}
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+[CH: pushed as editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Block Device / Device Operation},
+\ref{sec:Device Types / GPIO Device / requestq Operation / Message Flow},
+\ref{sec:Device Types / GPIO Device / eventq Operation},
+\ref{sec:Device Types / I2C Adapter Device / Device Operation: Request Queue},
+\ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: Request Queues},
+and \ref{sec:Device Types / Socket Device / Device Operation / Receive and Transmit}.
+ } \\
+\hline
+aadefe688680 & 19 May 2023 & Michael S. Tsirkin & {\noindent virtio: document forward compatibility guarantees\vspace{\baselineskip}
+
+
+Feature negotiation forms the basis of forward compatibility
+guarantees of virtio but has never been properly documented.
+Do it now.
+
+\vspace{\baselineskip}
+Suggested-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Feature Bits}.
+ } \\
+\hline
+f3ce853c8a91 & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce device group and related concepts\vspace{\baselineskip}
+
+
+Each device group has a type. For now, define one initial group type:
+
+SR-IOV type - PCI SR-IOV virtual functions (VFs) of a given
+PCI SR-IOV physical function (PF). This group may contain zero or more
+virtio devices according to NumVFs configured.
+
+Each device within a group has a unique identifier. This identifier
+is the group member identifier.
+
+Note: one can argue both ways whether the new device group handling
+functionality (this and following patches) is closer
+to a new device type or a new transport type.
+
+However, it's expected that we will add more features in the near
+future. To facilitate this as much as possible of the text is located in
+the new admin chapter.
+
+Effort was made to minimize transport-specific text.
+
+There's a bit of duplication with 0x1 repeated twice and
+no special section for group type identifiers.
+It seems ok to defer adding these until we have more group
+types.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups}.
+ } \\
+\hline
+2cbaaa19b15a & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce group administration commands\vspace{\baselineskip}
+
+
+This introduces a general structure for group administration commands,
+used to control device groups through their owner.
+
+Following patches will introduce specific commands and an interface for
+submitting these commands to the owner.
+
+Note that the commands are focused on controlling device groups:
+this is why group related fields are in the generic part of
+the structure.
+Without this the admin vq would become a "whatever" vq which does not do
+anything specific at all, just a general transport like thing.
+I feel going this way opens the design space to the point where
+we no longer know what belongs in e.g. config space
+what in the control q and what in the admin q.
+As it is, whatever deals with groups is in the admin q; other
+things not in the admin q.
+
+There are specific exceptions such as query but that's an exception that
+proves the rule ;)
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
+and \ref{sec:Normative References}.
+ } \\
+\hline
+5f1a8ac61c15 & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce virtio admin virtqueues\vspace{\baselineskip}
+
+
+The admin virtqueues will be the first interface used to issue admin commands.
+
+Currently the virtio specification defines control virtqueue to manipulate
+features and configuration of the device it operates on:
+virtio-net, virtio-scsi, etc all have existing control virtqueues. However,
+control virtqueue commands are device type specific, which makes it very
+difficult to extend for device agnostic commands.
+
+Keeping the device-specific virtqueue separate from the admin virtqueue
+is simpler and has fewer potential problems. I don't think creating
+common infrastructure for device-specific control virtqueues across
+device types worthwhile or within the scope of this patch series.
+
+To support this requirement in a more generic way, this patch introduces
+a new admin virtqueue interface.
+The admin virtqueue can be seen as the virtqueue analog to a transport.
+The admin queue thus does nothing device type-specific (net, scsi, etc)
+and instead focuses on transporting the admin commands.
+
+We also support more than one admin virtqueue, for QoS and
+scalability requirements.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Administration Virtqueues},
+\ref{sec:Basic Facilities of a Virtio Device / Feature Bits},
+and \ref{sec:Reserved Feature Bits}.
+ } \\
+\hline
+677aeaebf6a7 & 19 May 2023 & Michael S. Tsirkin & {\noindent pci: add admin vq registers to virtio over pci\vspace{\baselineskip}
+
+
+Add new registers to the PCI common configuration structure.
+
+These registers will be used for querying the indices of the admin
+virtqueues of the owner device. To configure, reset or enable the admin
+virtqueues, the driver should follow existing queue configuration/setup
+sequence.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Reserved Feature Bits},
+and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
+ } \\
+\hline
+a9a59f70be46 & 19 May 2023 & Michael S. Tsirkin & {\noindent mmio: document ADMIN_VQ as reserved\vspace{\baselineskip}
+
+
+Adding relevant registers needs more work and it's not
+clear what the use-case will be as currently only
+the PCI transport is supported. But let's keep the
+door open on this.
+We already say it's reserved in a central place, but it
+does not hurt to remind implementers to mask it.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO / Features reserved for future use}.
+ } \\
+\hline
+325046c1460e & 19 May 2023 & Michael S. Tsirkin & {\noindent ccw: document ADMIN_VQ as reserved\vspace{\baselineskip}
+
+
+Adding relevant registers needs more work and it's not
+clear what the use-case will be as currently only
+the PCI transport is supported. But let's keep the
+door open on this.
+We already say it's reserved in a central place, but it
+does not hurt to remind implementers to mask it.
+
+Note: there are more features to add to this list.
+Will be done later with a patch on top.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Features reserved for future use}.
+ } \\
+\hline
+3dc7196cba2d & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: command list discovery\vspace{\baselineskip}
+
+
+Add commands to find out which commands does each group support,
+as well as enable their use by driver.
+This will be especially useful once we have multiple group types.
+
+An alternative is per-type VQs. This is possible but will
+require more per-transport work. Discovery through the vq
+helps keep things contained.
+
+e.g. lack of support for some command can switch to a legacy mode
+
+note that commands are expected to be avolved by adding new
+fields to command specific data at the tail, so
+we generally do not need feature bits for compatibility.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
+ } \\
+\hline
+bf1d6b0d24ae & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: conformance clauses\vspace{\baselineskip}
+
+
+Add conformance clauses for admin commands and admin virtqueues.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/171}
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
+\ref{sec:Basic Facilities of a Virtio Device / Administration Virtqueues},
+and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
+ } \\
+\hline
+b04be31f0bf0 & 19 May 2023 & Michael S. Tsirkin & {\noindent ccw: document more reserved features\vspace{\baselineskip}
+
+
+vq reset and shared memory are unsupported, too.
+
+\vspace{\baselineskip}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/160}
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
+
+See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Features reserved for future use}.
+ } \\
+\hline
+619f60ae4ccf & 19 May 2023 & Parav Pandit & {\noindent admin: Fix reference and table formation\vspace{\baselineskip}
+
+
+This patch brings three fixes.
+
+\begin{enumerate}
+
+\item Opcode table has 3 columns, only two were enumerated. Due to this
+pdf generation script stops. Fix it and also have resizeable description
+column as it needs wrap.
+
+\item Status description column content needs to wrap. Without it pdf
+   does not read good. Fix it by having resizeable description column.
+
+\item Fix the broken link to the Device groups.
+
+\end{enumerate}
+
+\vspace{\baselineskip}
+Fixes: 2cbaaa1 ("admin: introduce group administration commands")
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
+ } \\
+\hline
+c1cd68b97611 & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Improve config msix vector description\vspace{\baselineskip}
+
+
+config_msix_vector is the register that holds the MSI-X vector number
+for receiving configuration change related interrupts.
+
+It is not "for MSI-X".
+
+Hence, replace the confusing text with appropriate one.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/169}
+
+Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
+ } \\
+\hline
+0f433d62e81d & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Improve queue msix vector register desc\vspace{\baselineskip}
+
+
+queue_msix_vector register is for receiving virtqueue notification
+interrupts from the device for the virtqueue.
+
+"for MSI-X" is confusing term.
+
+Also it is the register that driver "writes" to, similar to
+many other registers such as queue_desc, queue_driver etc.
+
+Hence, replace the verb from use to write.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/169}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
+ } \\
+\hline
+b0fbccd4062f & 19 May 2023 & Parav Pandit & {\noindent content: Add vq index text\vspace{\baselineskip}
+
+
+Introduce vq index and its range so that subsequent patches can refer
+to it.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues}.
+ } \\
+\hline
+362f1cac2516 & 19 May 2023 & Parav Pandit & {\noindent content.tex Replace virtqueue number with index\vspace{\baselineskip}
+
+
+Replace virtqueue number with index to align to rest of the
+specification.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications}.
+ } \\
+\hline
+cc4a5604b259 & 19 May 2023 & Parav Pandit & {\noindent content: Rename confusing queue_notify_data and vqn names\vspace{\baselineskip}
+
+
+Currently queue_notify_data register indicates the device
+internal queue notification content. This register is
+meaningful only when feature bit VIRTIO_F_NOTIF_CONFIG_DATA is
+negotiated.
+
+However, above register name often get confusing association with
+very similar feature bit VIRTIO_F_NOTIFICATION_DATA.
+
+When VIRTIO_F_NOTIFICATION_DATA feature bit is negotiated,
+notification really involves sending additional queue progress
+related information (not queue identifier or index).
+
+Hence
+
+\begin{enumerate}
+
+\item  to avoid any misunderstanding and association of
+queue_notify_data with similar name VIRTIO_F_NOTIFICATION_DATA,
+
+and
+
+\item to reflect that queue_notify_data is the actual device
+internal virtqueue identifier/index/data/cookie,
+
+\end{enumerate}
+
+\begin{enumerate}[label=\alph*.]
+
+\item rename queue_notify_data to queue_notif_config_data.
+
+\item rename ambiguous vqn to a union of vq_index and vq_config_data
+
+\item The driver notification section assumes that queue notification contains
+vq index always. CONFIG_DATA feature bit introduction missed to
+update the driver notification section. Hence, correct it.
+
+\end{enumerate}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Acked-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications},
+\ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout},
+and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Available Buffer Notifications}.
+} \\
+\hline
+fbb119dad56d & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Avoid first vq index reference\vspace{\baselineskip}
+
+
+Drop reference to first virtqueue as it is already
+covered now by the generic section in first patch.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Acked-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization}.
+ } \\
+\hline
+a7a21e451987 & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Rename QueueNum register\vspace{\baselineskip}
+
+
+These are further named differently between pci and mmio transport.
+PCI transport indicates queue size as queue_size.
+
+To bring consistency between pci and mmio transport,
+rename the QueueNumMax and QueueNum
+registers to QueueSizeMax and QueueSize respectively.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+Reviewed-by: Jiri Pirko <jiri@nvidia.com>
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
+and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
+ } \\
+\hline
+9ddc59553984 & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Avoid referring to zero based index\vspace{\baselineskip}
+
+
+VQ range is already described in the first patch in basic virtqueue
+section. Hence remove the duplicate reference to it.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Acked-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
+and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
+ } \\
+\hline
+e7a764f66598 & 19 May 2023 & Parav Pandit & {\noindent transport-ccw: Rename queue depth/size to other transports\vspace{\baselineskip}
+
+
+max_num field reflects the maximum queue size/depth. Hence align name of
+this field with similar field in PCI and MMIO transport to
+max_queue_size.
+Similarly rename 'num' to 'size'.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Configuring a Virtqueue}.
+ } \\
+\hline
+c3092410ac51 & 19 May 2023 & Parav Pandit & {\noindent transport-ccw: Refer to the vq by its index\vspace{\baselineskip}
+
+
+Currently specification uses virtqueue index and
+number interchangeably to refer to the virtqueue.
+
+Instead refer to it by its index.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification}.
+ } \\
+\hline
+d6f310dbb3bf & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Avoid duplicate receive queue example\vspace{\baselineskip}
+
+
+Receive queue number/index example is duplicate which is already defined
+in the Setting RSS parameters section.
+
+Hence, avoid such duplicate example and prepare it for the subsequent
+patch to describe using receive queue handle.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+da0e16928d0b & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Describe RSS using rss rq id\vspace{\baselineskip}
+
+
+The content of the indirection table and unclassified_queue were
+originally described based on mathematical operations. In order to
+make it easier to understand and to avoid intermixing the array
+index with the vq index, introduce a structure
+rss_rq_id (RSS receive queue
+ID) and use it to describe the unclassified_queue and
+indirection_table fields.
+
+As part of it, have the example that uses non-zero virtqueue
+index which helps to have better mapping between receiveX
+object with virtqueue index and the actual value in the
+indirection table.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+f9ff777fba59 & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Update vqn to vq_index for cvq cmds\vspace{\baselineskip}
+
+
+Replace field name vqn to vq_index for recent virtqueue level commands.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
+
+Reviewed-by: David Edmondson <david.edmondson@oracle.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
+ } \\
+\hline
+74460ef69d5f & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Replace virtual queue with virtqueue\vspace{\baselineskip}
+
+
+Basic facilities define the virtqueue construct for device <-> driver
+communication.
+
+PCI transport and individual devices description also refers to it as
+virtqueue.
+
+MMIO refers to it as 'virtual queue'.
+
+Align MMIO transport description to call such object a virtqueue.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/168}
+
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
+\ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Virtqueue Configuration},
+and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
+ } \\
+\hline
+6724756eaf0a & 07 Jul 2023 & Parav Pandit & {\noindent admin: Split opcode table rows with a line\vspace{\baselineskip}
+
+
+Currently all opcode appears to be in a single row.
+Separate them with a line similar to other tables.
+
+\vspace{\baselineskip}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+[CH: pushed as editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
+ } \\
+\hline
+1518c9ce2cde & 07 Jul 2023 & Parav Pandit & {\noindent admin: Fix section numbering\vspace{\baselineskip}
+
+
+Requirements are put one additional level down. Fix it.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+
+[CH: pushed as editorial update]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
+ } \\
+\hline
+9c3ba1ec6acb & 14 Jul 2023 & Heng Qi & {\noindent virtio-net: support inner header hash\vspace{\baselineskip}
+
+\begin{enumerate}
+
+\item Currently, a received encapsulated packet has an outer and an inner header, but
+the virtio device is unable to calculate the hash for the inner header. The same
+flow can traverse through different tunnels, resulting in the encapsulated
+packets being spread across multiple receive queues (refer to the figure below).
+However, in certain scenarios, we may need to direct these encapsulated packets of
+the same flow to a single receive queue. This facilitates the processing
+of the flow by the same CPU to improve performance (warm caches, less locking, etc.).
+
+\begin{lstlisting}
+               client1                    client2
+                  |        +-------+         |
+                  +------->|tunnels|<--------+
+                           +-------+
+                              |  |
+                              v  v
+                      +-----------------+
+                      | monitoring host |
+                      +-----------------+
+\end{lstlisting}
+
+To achieve this, the device can calculate a symmetric hash based on the inner headers
+of the same flow.
+
+\item  For legacy systems, they may lack entropy fields which modern protocols have in
+the outer header, resulting in multiple flows with the same outer header but
+different inner headers being directed to the same receive queue. This results in
+poor receive performance.
+
+To address this limitation, inner header hash can be used to enable the device to advertise
+the capability to calculate the hash for the inner packet, regaining better receive performance.
+
+\end{enumerate}
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/173}
+
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+
+[CH: added missing lstlisting and hyperref escapes, fixed references]
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types / Network Device / Feature bits},
+\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
+\ref{sec:Device Types / Network Device / Device configuration layout},
+\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets},
+\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets / Inner Header Hash},
+\ref{sec:Conformance / Device Conformance / Network Device Conformance},
+\ref{sec:Conformance / Driver Conformance / Network Driver Conformance},
+and \ref{sec:Normative References}.
+ } \\
+\hline
+73c2fd96af96 & 17 Jul 2023 & Haixu Cui & {\noindent virtio-spi: define the DEVICE ID for virtio SPI master\vspace{\baselineskip}
+
+
+Define the DEVICE ID of virtio SPI master device as 45.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/174}
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Device Types}.
+ } \\
+\hline
+03c2d32e5093 & 21 Jul 2023 & Parav Pandit & {\noindent admin: Add group member legacy register access commands\vspace{\baselineskip}
+
+
+Introduce group member legacy common configuration and legacy device
+configuration access read/write commands.
+
+Group member legacy registers access commands enable group owner driver
+software to access legacy registers on behalf of the guest virtual
+machine.
+
+\vspace{\baselineskip}
+Usecase:
+
+========
+
+\begin{enumerate}
+
+\item A hypervisor/system needs to provide transitional
+   virtio devices to the guest VM at scale of thousands,
+   typically, one to eight devices per VM.
+
+\item A hypervisor/system needs to provide such devices using a
+   vendor agnostic driver in the hypervisor system.
+
+\item A hypervisor system prefers to have single stack regardless of
+   virtio device type (net/blk) and be future compatible with a
+   single vfio stack using SR-IOV or other scalable device
+   virtualization technology to map PCI devices to the guest VM.
+   (as transitional or otherwise)
+
+\end{enumerate}
+
+\vspace{\baselineskip}
+Motivation/Background:
+
+=====================
+
+The existing virtio transitional PCI device is missing support for
+PCI SR-IOV based devices. Currently it does not work beyond
+PCI PF, or as software emulated device in reality. Currently it
+has below cited system level limitations:
+
+[a] PCIe spec citation:
+VFs do not support I/O Space and thus VF BARs shall not indicate I/O Space.
+
+[b] cpu arch citiation:
+Intel 64 and IA-32 Architectures Software Developer’s Manual:
+The processor’s I/O address space is separate and distinct from
+the physical-memory address space. The I/O address space consists
+of 64K individually addressable 8-bit I/O ports, numbered 0 through FFFFH.
+
+[c] PCIe spec citation:
+If a bridge implements an I/O address range,...I/O address range will be
+aligned to a 4 KB boundary.
+
+\vspace{\baselineskip}
+Overview:
+
+=========
+
+Above usecase requirements is solved by PCI PF group owner accessing
+its group member PCI VFs legacy registers using the administration
+commands of the group owner PCI PF.
+
+Two types of administration commands are added which read/write PCI VF
+registers.
+
+Software usage example:
+
+=======================
+\vspace{\baselineskip}
+
+1. One way to use and map to the guest VM is by using vfio driver
+framework in Linux kernel.
+
+...
+}\\
+\hline
+ & & & {\noindent
+...
+
+\begin{lstlisting}
+
+                +----------------------+
+                |pci_dev_id = 0x100X   |
++---------------|pci_rev_id = 0x0      |-----+
+|vfio device    |BAR0 = I/O region     |     |
+|               |Other attributes      |     |
+|               +----------------------+     |
+|                                            |
++   +--------------+     +-----------------+ |
+|   |I/O BAR to AQ |     | Other vfio      | |
+|   |rd/wr mapper\& |     | functionalities | |
+|   | forwarder    |     |                 | |
+|   +--------------+     +-----------------+ |
+|                                            |
++------+-------------------------+-----------+
+       |                         |
+   Config region                 |
+     access                Driver notifications
+       |                         |
+  +----+------------+       +----+------------+
+  | +-----+         |       | PCI VF device A |
+  | | AQ  |-------------+---->+-------------+ |
+  | +-----+         |   |   | | legacy regs | |
+  | PCI PF device   |   |   | +-------------+ |
+  +-----------------+   |   +-----------------+
+                        |
+                        |   +----+------------+
+                        |   | PCI VF device N |
+                        +---->+-------------+ |
+                            | | legacy regs | |
+                            | +-------------+ |
+                            +-----------------+
+\end{lstlisting}
+
+2. Continue to use the virtio pci driver to bind to the
+   listed device id and use it as in the host.
+
+3. Use it in a light weight hypervisor to run bare-metal OS.
+
+\vspace{\baselineskip}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/167}
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Legacy Interface},
+\ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
+and \ref{sec:Conformance / Conformance Targets}.
+ } \\
+\hline
diff --git a/cl-os.tex b/cl-os.tex
index 77727e5..e69de29 100644
--- a/cl-os.tex
+++ b/cl-os.tex
@@ -1,2120 +0,0 @@
-5da7c1414e7e & 13 Jun 2022 & Stefan Hajnoczi & {\noindent virtio-blk: document that the capacity field can change\vspace{\baselineskip}
-
-
-Block devices can change size during operation. A configuration change
-notification is sent by the device and the driver detects that the field
-has changed. Document this behavior that has already been implemented in
-Linux and QEMU since 2011.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/136}
-
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Block Device / Device Operation}.
- } \\
-\hline
-ad2e1674bb69 & 13 Jun 2022 & Laura Loghin & {\noindent vsock: add documentation about len header field\vspace{\baselineskip}
-
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/137}
-
-Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
-
-Signed-off-by: Laura Loghin <lauralg@amazon.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Socket Device / Device Operation}.
- } \\
-\hline
-fca015771bc9 & 13 Jun 2022 & Xuan Zhuo & {\noindent virtio-net: support reset queue\vspace{\baselineskip}
-
-
-A separate reset queue function introduced by Virtqueue Reset.
-
-However, it is currently not defined what to do if the destination queue is
-being reset when virtio-net is steering in multi-queue mode.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/138}
-
-Reviewed-by: Jason Wang <jasowang@redhat.com>
-
-Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode},
-and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Receive-side scaling (RSS) / Setting RSS parameters}.
- } \\
-\hline
-6328f51e21b5 & 24 Jun 2022 & Yuri Benditovich & {\noindent virtio-net: define guest USO features\vspace{\baselineskip}
-
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/120}
-
-Add definition for large UDP packets device-to-driver.
-
-Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Feature bits},
-\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
-\ref{sec:Device Types / Network Device / Device Initialization},
-\ref{sec:Device Types / Network Device / Device Operation / Setting Up Receive Buffers},
-\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets},
-and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration / Setting Offloads State}.
- } \\
-\hline
-49ff7805924c & 24 Jun 2022 & Anton Yakovlev & {\noindent virtio-snd: add support for audio controls\vspace{\baselineskip}
-
-
-This patch extends the virtio sound device specification by adding
-support for audio controls. Audio controls can be used to set the volume
-level, mute/unmute the audio signal, switch different modes/states of
-the virtual sound device, etc.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/107}
-
-Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Driver Conformance / Sound Driver Conformance},
-\ref{sec:Conformance / Device Conformance / Sound Device Conformance},
-\ref{sec:Device Types / Sound Device / Feature Bits},
-\ref{sec:Device Types / Sound Device / Device Configuration Layout},
-\ref{sec:Device Types / Sound Device / Device Operation},
-and \ref{sec:Device Types / Sound Device / Device Operation / Control Elements}.
- } \\
-\hline
-4d9068effa81 & 11 Jul 2022 & Alvaro Karsz & {\noindent Introduction of Virtio Network device notifications coalescing feature.\vspace{\baselineskip}
-
-
-Control a network device notifications coalescing parameters using the control virtqueue.
-A new control class was added: VIRTIO_NET_CTRL_NOTF_COAL.
-
-This class provides 2 commands:
-
-\begin{itemize}
-\item VIRTIO_NET_CTRL_NOTF_COAL_TX_SET:
-  Ask the network device to change the tx_usecs and tx_max_packets parameters.
-
-\begin{itemize}
-  \item tx_usecs: Maximum number of usecs to delay a TX notification.
-
-  \item tx_max_packets: Maximum number of packets to send before a TX notification.
-\end{itemize}
-
-
-\item VIRTIO_NET_CTRL_NOTF_COAL_RX_SET:
-  Ask the network device to change the rx_usecs and rx_max_packets parameters.
-
-\begin{itemize}
-  \item rx_usecs: Maximum number of usecs to delay a RX notification.
-
-  \item rx_max_packets: Maximum number of packets to receive before a RX notification.
-\end{itemize}
-\end{itemize}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/141}
-
-Reviewed-by: Jason Wang <jasowang@redhat.com>
-
-Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
-
-[CH: fixed commit message]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Driver Conformance / Network Driver Conformance},
-\ref{sec:Conformance / Device Conformance / Network Device Conformance},
-\ref{sec:Device Types / Network Device / Feature bits},
-\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
-and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Notifications Coalescing}.
- } \\
-\hline
-abbe8afda8db & 03 Aug 2022 & Lei He & {\noindent virtio-crypto: introduce akcipher service\vspace{\baselineskip}
-
-
-Introduce akcipher (asymmetric key cipher) service type, several
-asymmetric algorithms and relevent information:
-
-  - RSA(padding algorithm, ASN.1 schema definition)
-
-  - ECDSA(ECC algorithm)
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/129}
-
-Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
-
-Signed-off-by: Lei He <helei.sig11@bytedance.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Normative References},
-\ref{sec:Device Types / Crypto Device},
-\ref{sec:Device Types / Crypto Device / Feature bits},
-\ref{sec:Device Types / Crypto Device / Feature bit requirements},
-\ref{sec:Device Types / Crypto Device / Supported crypto services},
-\ref{sec: Device Types / Crypto Device / Supported crypto services / AKCIPHER services},
-\ref{sec:Device Types / Crypto Device / Device configuration layout},
-\ref{sec:Device Types / Crypto Device / Device Operation / Operation status},
-\ref{sec:Device Types / Crypto Device / Device Operation / Control Virtqueue},
-\ref{sec:Device Types / Crypto Device / Device Operation / Control Virtqueue / Session operation / Session operation: AKCIPHER session},
-\ref{sec:Device Types / Crypto Device / Device Operation / Data Virtqueue},
-and \ref{sec:Device Types / Crypto Device / Device Operation / AKCIPHER Service Operation}.
- } \\
-\hline
-26ed30ccb049 & 03 Aug 2022 & Stefano Garzarella & {\noindent virtio-vsock: add VIRTIO_VSOCK_F_NO_IMPLIED_STREAM feature bit\vspace{\baselineskip}
-
-
-Initially virtio-vsock only supported the stream type, which is why
-there was no feature. Later we added the seqpacket type and in the future
-we may have other types (e.g. datagram).
-
-seqpacket is an extension of stream, so it might be implied that if
-seqpacket is supported, stream is too, but this might not be true for
-other types.
-
-As we discussed here [1] should be better to add a new
-VIRTIO_VSOCK_F_NO_IMPLIED_STREAM feature bit to avoid this implication.
-
-Let's also add normative sections to better define the behavior when
-VIRTIO_VSOCK_F_NO_IMPLIED_STREAM is negotiated or not.
-
-[1] \url{http://markmail.org/message/2s3qd74drgjxkvte}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/142}
-
-Suggested-by: Michael S. Tsirkin <mst@redhat.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance},
-\ref{sec:Conformance / Device Conformance / Socket Device Conformance},
-and \ref{sec:Device Types / Socket Device / Feature bits}.
- } \\
-\hline
-a7251b0cb4d9 & 14 Nov 2022 & Hrishivarya Bhageeradhan & {\noindent content: reserve device ID 43 for Camera device\vspace{\baselineskip}
-
-
-The virtio-camera device allows to stream a camera video with
-ability to change controls, formats and get camera captures.
-This patch is to reserve the next available device ID for
-virtio-camera.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/148}
-
-Signed-off-by: Hrishivarya Bhageeradhan <hrishivarya.bhageeradhan@opensynergy.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types}.
- } \\
-\hline
-b4e8efa0fa6c & 05 Dec 2022 & Dmitry Fomichev & {\noindent virtio-blk: add zoned block device specification\vspace{\baselineskip}
-
-
-Introduce support for Zoned Block Devices to virtio.
-
-Zoned Block Devices (ZBDs) aim to achieve a better capacity, latency
-and/or cost characteristics compared to commonly available block
-devices by getting the entire LBA space of the device divided to block
-regions that are much larger than the LBA size. These regions are
-called zones and they can only be written sequentially. More details
-about ZBDs can be found at
-
-\url{https://zonedstorage.io/docs/introduction/zoned-storage} .
-
-In its current form, the virtio protocol for block devices (virtio-blk)
-is not aware of ZBDs but it allows the driver to successfully scan a
-host-managed drive provided by the virtio block device. As the result,
-the host-managed drive is recognized by virtio driver as a regular,
-non-zoned drive that will operate erroneously under the most common
-write workloads. Host-aware ZBDs are currently usable, but their
-performance may not be optimal because the driver can only see them as
-non-zoned block devices.
-
-To fix this, the virtio-blk protocol needs to be extended to add the
-capabilities to convey the zone characteristics of ZBDs at the device
-side to the driver and to provide support for ZBD-specific commands -
-Report Zones, four zone operations (Open, Close, Finish and Reset) and
-(optionally) Zone Append. The proposed standard extension aims to
-define this new functionality.
-
-This patch extends the virtio-blk section of virtio specification with
-the minimum set of requirements that are necessary to support ZBDs.
-The resulting device model is a subset of the models defined in ZAC/ZBC
-and ZNS standards documents. The included functionality mirrors
-the existing Linux kernel block layer ZBD support and should be
-sufficient to handle the host-managed and host-aware HDDs that are on
-the market today as well as ZNS SSDs that are entering the market at
-the time of submission of this patch.
-
-I would like to thank the following people for their useful feedback
-and suggestions while working on the initial iterations of this patch.
-
-Damien Le Moal <damien.lemoal@opensource.wdc.com>
-
-Matias Bjørling <Matias.Bjorling@wdc.com>
-
-Niklas Cassel <Niklas.Cassel@wdc.com>
-
-Hans Holmberg <Hans.Holmberg@wdc.com>
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/143}
-
-Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Block Device / Feature bits},
-\ref{sec:Device Types / Block Device / Device configuration layout},
-\ref{sec:Device Types / Block Device / Device Initialization},
-and \ref{sec:Device Types / Block Device / Device Operation}.
- } \\
-\hline
-985bbf397db4 & 07 Dec 2022 & Xuan Zhuo & {\noindent content: reserve device ID 44 for ISM device\vspace{\baselineskip}
-
-
-The virtio-ism device provides the ability to share memory between
-different guests on a host. A guest's memory got from ism device can be
-shared with multiple peers at the same time. This shared relationship
-can be dynamically created and released.
-
-The shared memory obtained from the device is divided into multiple ism
-regions for share. ISM device provides a mechanism to notify other ism
-region referrers of content update events.
-
-This patch is to reserve the next available device ID for virtio-ism.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/150}
-
-Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
-
-Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
-
-Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
-
-Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
-
-Signed-off-by: Helin Guo <helinguo@linux.alibaba.com>
-
-Signed-off-by: Hans Zhang <hans@linux.alibaba.com>
-
-Signed-off-by: He Rongguang <herongguang@linux.alibaba.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types}.
- } \\
-\hline
-f2b28698a28a & 30 Jan 2023 & Parav Pandit & {\noindent virtio-net: Maintain network device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio network device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device},
-\ref{sec:Conformance / Device Conformance / Network Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Network Driver Conformance}.
- } \\
-\hline
-81694cddc4c1 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-net: Fix spelling errors\vspace{\baselineskip}
-
-
-Fix two spelling errors in the virtio network device specification.
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Initialization},
-and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-335342f5cd88 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-blk: Maintain block device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio block device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Block Device},
-\ref{sec:Conformance / Device Conformance / Block Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Block Driver Conformance}.
- } \\
-\hline
-d3d06187eabb & 30 Jan 2023 & Parav Pandit & {\noindent virtio-console: Maintain console device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio console device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Console Device},
-\ref{sec:Conformance / Device Conformance / Console Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Console Driver Conformance}.
- } \\
-\hline
-c71e88e86d35 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-entropy: Maintain entropy device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio entropy device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Entropy Device},
-\ref{sec:Conformance / Device Conformance / Entropy Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Entropy Driver Conformance}.
- } \\
-\hline
-c06f3b670dd6 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-balloon: Maintain mem balloon device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio memory balloon device specification to its own file
-similar to recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Memory Balloon Device},
-\ref{sec:Conformance / Device Conformance / Traditional Memory Balloon Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Traditional Memory Balloon Driver Conformance}.
- } \\
-\hline
-d404f1c4e886 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-scsi: Maintain scsi host device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio SCSI host device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / SCSI Host Device},
-\ref{sec:Conformance / Device Conformance / SCSI Host Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / SCSI Host Driver Conformance}.
- } \\
-\hline
-442bb643a9ad & 30 Jan 2023 & Parav Pandit & {\noindent virtio-gpu: Maintain gpu device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio gpu device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / GPU Device Conformance}.
- } \\
-\hline
-c9686f241819 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-input: Maintain input device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio input device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / Input Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Input Driver Conformance}.
- } \\
-\hline
-8463bba27c79 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-crypto: Maintain crypto device spec in separate directory\vspace{\baselineskip}
-
-
-Move virtio crypto device specification to its own file similar to
-recent virtio devices.
-While at it, place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / Crypto Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Crypto Driver Conformance}.
- } \\
-\hline
-828754b98e3b & 30 Jan 2023 & Parav Pandit & {\noindent virtio-vsock: Maintain socket device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / Socket Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Socket Driver Conformance}.
- } \\
-\hline
-8632f80e251f & 30 Jan 2023 & Parav Pandit & {\noindent virtio-fs: Maintain file system device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / File System Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / File System Driver Conformance}.
- } \\
-\hline
-b067de47a506 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-rpmb: Maintain rpmb device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / RPMB Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / RPMB Driver Conformance}.
- } \\
-\hline
-b1cf73e96173 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-iommu: Maintain iommu device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / IOMMU Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / IOMMU Driver Conformance}.
- } \\
-\hline
-6813e3cc271e & 30 Jan 2023 & Parav Pandit & {\noindent virtio-sound: Maintain sound device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / Sound Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Sound Driver Conformance}.
- } \\
-\hline
-5042a5031502 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-mem: Maintain memory device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / Memory Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / Memory Driver Conformance}.
- } \\
-\hline
-00b9935238bf & 30 Jan 2023 & Parav Pandit & {\noindent virtio-i2c: Maintain i2c device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / I2C Adapter Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / I2C Adapter Driver Conformance}.
- } \\
-\hline
-674489b191ab & 30 Jan 2023 & Parav Pandit & {\noindent virtio-scmi: Maintain scmi device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / SCMI Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / SCMI Driver Conformance}.
- } \\
-\hline
-6c9c04d2bf5e & 30 Jan 2023 & Parav Pandit & {\noindent virtio-gpio: Maintain gpio device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / GPIO Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / GPIO Driver Conformance}.
- } \\
-\hline
-d04d253b1055 & 30 Jan 2023 & Parav Pandit & {\noindent virtio-pmem: Maintain pmem device spec in separate directory\vspace{\baselineskip}
-
-
-Place device specification, its driver and device
-conformance into its own directory to have self contained device
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/153}
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Conformance / Device Conformance / PMEM Device Conformance},
-and \ref{sec:Conformance / Driver Conformance / PMEM Driver Conformance}.
- } \\
-\hline
-b1fb6b62495f & 02 Feb 2023 & Parav Pandit & {\noindent virtio-net: Clarify VLAN filter table configuration\vspace{\baselineskip}
-
-
-The filtering behavior of the VLAN filter commands is not very clear as
-discussed in thread [1].
-
-Hence, add the command description and device requirements for it.
-
-[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00210.html}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/147}
-
-Suggested-by: Si-Wei Liu <si-wei.liu@oracle.com>
-
-Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering},
-\ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue},
-and \ref{sec:Conformance / Device Conformance / Network Device Conformance}.
- } \\
-\hline
-53b0cb13169c & 02 Feb 2023 & Parav Pandit & {\noindent virtio-net: Avoid confusing device configuration text\vspace{\baselineskip}
-
-
-The added text in commit of Fixes tag was redundant and
-confusing in context of VLAN filtering description.
-
-Hence remove it as discussed in [1] and [2].
-
-[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00282.html}
-[2] \url{https://lists.oasis-open.org/archives/virtio-dev/202301/msg00286.html}
-
-\vspace{\baselineskip}
-Fixes: 296303444f6b ("virtio-net: Clarify VLAN filter table configuration")
-
-Suggested-by: Halil Pasic <pasic@linux.ibm.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-[CH: applied as editorial change]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-3b9b6acb0936 & 09 Feb 2023 & Michael S. Tsirkin & {\noindent audio->sound\vspace{\baselineskip}
-
-
-Spec calls the device "sound device". Make the name in the
-ID section match.
-
-\vspace{\baselineskip}
-MST: applied as editorial change.
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types}.
- } \\
-\hline
-0ce03bc6995a & 14 Feb 2023 & Parav Pandit & {\noindent virtio-net: Avoid confusion between a card and a device\vspace{\baselineskip}
-
-
-Historically virtio network device is documented as an Ethernet card.
-A modern card in the industry has one to multiple ports, one to multiple
-PCI functions. However the virtio network device is usually just a
-single link/port network interface controller.
-
-Hence, avoid this confusing term 'card' and align the specification
-to adhere to widely used specification term as 'device' used for all
-virtio device types.
-
-Replaced 'card' with 'network interface controller'.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/154}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Discovery},
-\ref{sec:Device Types},
-\ref{sec:Device Types / Network Device},
-\ref{sec:Device Types / Network Device / Feature bits},
-and \ref{sec:Device Types / Network Device / Device Initialization}.
- } \\
-\hline
-be2ce1ee17e0 & 15 Feb 2023 & Parav Pandit & {\noindent content.tex Fix Driver notifications label\vspace{\baselineskip}
-
-
-Driver notifications section is under "Basic Facilities of a Virtio
-Device". However, the label is placed under "Virtqueues" section.
-
-Fix the label references.
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-[CH: pushed as an editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications}.
- } \\
-\hline
-2ea4627093fb & 20 Feb 2023 & Alvaro Karsz & {\noindent virtio-net: Mention VIRTIO_NET_F_HASH_REPORT dependency on VIRTIO_NET_F_CTRL_VQ\vspace{\baselineskip}
-
-
-If the VIRTIO_NET_F_HASH_REPORT feature is negotiated, the driver may
-send VIRTIO_NET_CTRL_MQ_HASH_CONFIG commands, thus, the control VQ
-feature should be negotiated.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/158}
-
-Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device configuration layout}.
- } \\
-\hline
-73ce5bb02003 & 01 Mar 2023 & Alvaro Karsz & {\noindent virtio-net: Fix and update VIRTIO_NET_F_NOTF_COAL feature\vspace{\baselineskip}
-
-
-This patch makes several improvements to the notification coalescing
-feature, including:
-
-\begin{itemize}
-
-\item Consolidating virtio_net_ctrl_coal_tx and virtio_net_ctrl_coal_rx
-  into a single struct, virtio_net_ctrl_coal, as they are identical.
-
-\item Emphasizing that the coalescing commands are best-effort.
-
-\item Defining the behavior of coalescing with regards to delivering
-  notifications when a change occur.
-
-\item Stating that the commands should apply to all the receive/transmit
-  virtqueues.
-
-\item Stating that every receive/transmit virtqueue should count it's own
-  packets.
-
-\item A new intro explaining the entire coalescing operation.
-
-\end{itemize}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/159}
-
-Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-3508347769af & 01 Mar 2023 & Parav Pandit & {\noindent virtio-net: Improve introductory description\vspace{\baselineskip}
-
-
-The control VQ of the virtio network device is used beyond advance
-steering control. The control VQ dynamically changes multiple features
-of the initialized device.
-
-Hence, update this area of control VQ introductory description at few
-places and also place the link to its description.
-
-Also update the introduction section to better describe receive and
-transmit virtqueues.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/156}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device},
-\ref{sec:Device Types / Network Device / Virtqueues},
-and \ref{sec:Device Types / Network Device / Device Operation}.
- } \\
-\hline
-91a469991433 & 10 Mar 2023 & Parav Pandit & {\noindent transport-pci: Split PCI transport to its own file\vspace{\baselineskip}
-
-
-Place PCI transport specification in its own file to better maintain it.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus}.
- } \\
-\hline
-9e88ba9c47d0 & 10 Mar 2023 & Parav Pandit & {\noindent transport-mmio: Split MMIO transport to its own file\vspace{\baselineskip}
-
-
-Place MMIO transport specification in its own file to better maintain it.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO}.
- } \\
-\hline
-0af264f9d4ea & 10 Mar 2023 & Parav Pandit & {\noindent transport-ccw: Split Channel IO transport to its own file\vspace{\baselineskip}
-
-
-Place Channel IO transport specification in its own file to
-better maintain it.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over Channel I/O}.
- } \\
-\hline
-deb0aa0c7faa & 10 Mar 2023 & Parav Pandit & {\noindent transport-pci: Fix spellings and white spaces\vspace{\baselineskip}
-
-
-Now that we have individual files, fix reported spelling errors.
-
-While at it, remove trailing white spaces.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus},
-\ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / ISR status capability},
-and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization}.
- } \\
-\hline
-ca97719ea35e & 10 Mar 2023 & Parav Pandit & {\noindent transport-mmio: Fix spellings and white spaces\vspace{\baselineskip}
-
-
-Now that we have individual files, fix reported spelling errors.
-
-While at it, remove trailing white spaces.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
-and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
- } \\
-\hline
-8797f4d4e410 & 10 Mar 2023 & Parav Pandit & {\noindent transport-ccw: Fix spellings and white spaces\vspace{\baselineskip}
-
-
-Now that we have individual files, fix reported spelling errors.
-
-While at it, remove extra white spaces.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/157}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Basic Concepts},
-\ref{sec:Virtio Transport Options / Virtio over channel I/O / Basic Concepts/ Notifications},
-\ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Setting Up Indicators},
-and \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification}.
- } \\
-\hline
-d3f832b6605d & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Describe dev cfg fields read only\vspace{\baselineskip}
-
-
-Device configuration fields are read only. Avoid duplicating this
-description for multiple fields.
-
-Instead describe it one time and do it in the driver requirements
-section.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/161}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device configuration layout}.
- } \\
-\hline
-115ceb97f813 & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Define cfg fields before description\vspace{\baselineskip}
-
-
-Currently some fields of the virtio_net_config structure are defined
-before introducing the structure and some are defined after.
-Better to define the configuration layout first followed by
-description of all the fields.
-
-Device configuration fields are described in the section. Change wording
-from 'listed' to 'described' as suggested in patch [1].
-
-[1] \url{https://lists.oasis-open.org/archives/virtio-dev/202302/msg00004.html}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/161}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device configuration layout}.
- } \\
-\hline
-2d1d8dfa3474 & 15 Mar 2023 & Parav Pandit & {\noindent virtio-net: Fix virtqueues spelling error\vspace{\baselineskip}
-
-
-Correct spelling from virtqueus to virtqueues.
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Jiri Pirko <jiri@nvidia.com>
-
-[CH: pushed as editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-2d5495083c12 & 15 Mar 2023 & Parav Pandit & {\noindent transport-pci: Remove duplicate word structure\vspace{\baselineskip}
-
-
-Remove duplicate word structure.
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Reviewed-by: Jiri Pirko <jiri@nvidia.com>
-
-[CH: pushed as editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Legacy Interfaces: A Note on PCI Device Layout}.
- } \\
-\hline
-b0414098602f & 15 Mar 2023 & Parav Pandit & {\noindent virtio-blk: Define dev cfg layout before its fields\vspace{\baselineskip}
-
-
-Define device configuration layout structure before describing its
-individual fields.
-
-This is an editorial change.
-
-Suggested-by: Cornelia Huck <cohuck@redhat.com>
-
-Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device configuration layout}.
- } \\
-\hline
-380ed02bdb88 & 04 Apr 2023 & Parav Pandit & {\noindent transport-pci: Remove empty line at end of file\vspace{\baselineskip}
-
-
-Remove empty line at end of file.
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus}.
- } \\
-\hline
-1ed0754c6134 & 11 Apr 2023 & Heng Qi & {\noindent virtio-net: support the virtqueue coalescing moderation\vspace{\baselineskip}
-
-
-Currently, coalescing parameters are grouped for all transmit and receive
-virtqueues. This patch supports setting or getting the parameters for a
-specified virtqueue, and a typical application of this function is netdim[1].
-
-When the traffic between virtqueues is unbalanced, for example, one virtqueue
-is busy and another virtqueue is idle, then it will be very useful to
-control coalescing parameters at the virtqueue granularity.
-
-[1] \url{https://docs.kernel.org/networking/net_dim.html}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/166}
-
-Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
-
-Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Feature bits},
-\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
-and \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Notifications Coalescing}.
- } \\
-\hline
-362ebd007271 & 11 Apr 2023 & Alvaro Karsz & {\noindent virtio-net: define the VIRTIO_NET_F_CTRL_RX_EXTRA feature bit\vspace{\baselineskip}
-
-
-The VIRTIO_NET_F_CTRL_RX_EXTRA feature bit is mentioned in the spec
-since version 1.0, but it's not properly defined.
-
-This patch defines the feature bit and defines the dependency on VIRTIO_NET_F_CTRL_VQ.
-
-Since this dependency is missing in previous versions, we add it now as
-a "SHOULD".
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/162}
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Alvaro Karsz <alvaro.karsz@solid-run.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Feature bits},
-and \ref{sec:Device Types / Network Device / Device configuration layout}.
- } \\
-\hline
-d3b2a19bc369 & 21 Apr 2023 & Parav Pandit & {\noindent device-types/multiple: replace queues with enqueues\vspace{\baselineskip}
-
-
-Queue is a verb and noun both. Replacing it with enqueue avoids
-ambiguity around plural queues noun vs verb; similar to virtio fs device
-description.
-
-\vspace{\baselineskip}
-Acked-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-[CH: pushed as editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Block Device / Device Operation},
-\ref{sec:Device Types / GPIO Device / requestq Operation / Message Flow},
-\ref{sec:Device Types / GPIO Device / eventq Operation},
-\ref{sec:Device Types / I2C Adapter Device / Device Operation: Request Queue},
-\ref{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: Request Queues},
-and \ref{sec:Device Types / Socket Device / Device Operation / Receive and Transmit}.
- } \\
-\hline
-aadefe688680 & 19 May 2023 & Michael S. Tsirkin & {\noindent virtio: document forward compatibility guarantees\vspace{\baselineskip}
-
-
-Feature negotiation forms the basis of forward compatibility
-guarantees of virtio but has never been properly documented.
-Do it now.
-
-\vspace{\baselineskip}
-Suggested-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Feature Bits}.
- } \\
-\hline
-f3ce853c8a91 & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce device group and related concepts\vspace{\baselineskip}
-
-
-Each device group has a type. For now, define one initial group type:
-
-SR-IOV type - PCI SR-IOV virtual functions (VFs) of a given
-PCI SR-IOV physical function (PF). This group may contain zero or more
-virtio devices according to NumVFs configured.
-
-Each device within a group has a unique identifier. This identifier
-is the group member identifier.
-
-Note: one can argue both ways whether the new device group handling
-functionality (this and following patches) is closer
-to a new device type or a new transport type.
-
-However, it's expected that we will add more features in the near
-future. To facilitate this as much as possible of the text is located in
-the new admin chapter.
-
-Effort was made to minimize transport-specific text.
-
-There's a bit of duplication with 0x1 repeated twice and
-no special section for group type identifiers.
-It seems ok to defer adding these until we have more group
-types.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups}.
- } \\
-\hline
-2cbaaa19b15a & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce group administration commands\vspace{\baselineskip}
-
-
-This introduces a general structure for group administration commands,
-used to control device groups through their owner.
-
-Following patches will introduce specific commands and an interface for
-submitting these commands to the owner.
-
-Note that the commands are focused on controlling device groups:
-this is why group related fields are in the generic part of
-the structure.
-Without this the admin vq would become a "whatever" vq which does not do
-anything specific at all, just a general transport like thing.
-I feel going this way opens the design space to the point where
-we no longer know what belongs in e.g. config space
-what in the control q and what in the admin q.
-As it is, whatever deals with groups is in the admin q; other
-things not in the admin q.
-
-There are specific exceptions such as query but that's an exception that
-proves the rule ;)
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
-and \ref{sec:Normative References}.
- } \\
-\hline
-5f1a8ac61c15 & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: introduce virtio admin virtqueues\vspace{\baselineskip}
-
-
-The admin virtqueues will be the first interface used to issue admin commands.
-
-Currently the virtio specification defines control virtqueue to manipulate
-features and configuration of the device it operates on:
-virtio-net, virtio-scsi, etc all have existing control virtqueues. However,
-control virtqueue commands are device type specific, which makes it very
-difficult to extend for device agnostic commands.
-
-Keeping the device-specific virtqueue separate from the admin virtqueue
-is simpler and has fewer potential problems. I don't think creating
-common infrastructure for device-specific control virtqueues across
-device types worthwhile or within the scope of this patch series.
-
-To support this requirement in a more generic way, this patch introduces
-a new admin virtqueue interface.
-The admin virtqueue can be seen as the virtqueue analog to a transport.
-The admin queue thus does nothing device type-specific (net, scsi, etc)
-and instead focuses on transporting the admin commands.
-
-We also support more than one admin virtqueue, for QoS and
-scalability requirements.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Administration Virtqueues},
-\ref{sec:Basic Facilities of a Virtio Device / Feature Bits},
-and \ref{sec:Reserved Feature Bits}.
- } \\
-\hline
-677aeaebf6a7 & 19 May 2023 & Michael S. Tsirkin & {\noindent pci: add admin vq registers to virtio over pci\vspace{\baselineskip}
-
-
-Add new registers to the PCI common configuration structure.
-
-These registers will be used for querying the indices of the admin
-virtqueues of the owner device. To configure, reset or enable the admin
-virtqueues, the driver should follow existing queue configuration/setup
-sequence.
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Reserved Feature Bits},
-and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
- } \\
-\hline
-a9a59f70be46 & 19 May 2023 & Michael S. Tsirkin & {\noindent mmio: document ADMIN_VQ as reserved\vspace{\baselineskip}
-
-
-Adding relevant registers needs more work and it's not
-clear what the use-case will be as currently only
-the PCI transport is supported. But let's keep the
-door open on this.
-We already say it's reserved in a central place, but it
-does not hurt to remind implementers to mask it.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO / Features reserved for future use}.
- } \\
-\hline
-325046c1460e & 19 May 2023 & Michael S. Tsirkin & {\noindent ccw: document ADMIN_VQ as reserved\vspace{\baselineskip}
-
-
-Adding relevant registers needs more work and it's not
-clear what the use-case will be as currently only
-the PCI transport is supported. But let's keep the
-door open on this.
-We already say it's reserved in a central place, but it
-does not hurt to remind implementers to mask it.
-
-Note: there are more features to add to this list.
-Will be done later with a patch on top.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Features reserved for future use}.
- } \\
-\hline
-3dc7196cba2d & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: command list discovery\vspace{\baselineskip}
-
-
-Add commands to find out which commands does each group support,
-as well as enable their use by driver.
-This will be especially useful once we have multiple group types.
-
-An alternative is per-type VQs. This is possible but will
-require more per-transport work. Discovery through the vq
-helps keep things contained.
-
-e.g. lack of support for some command can switch to a legacy mode
-
-note that commands are expected to be avolved by adding new
-fields to command specific data at the tail, so
-we generally do not need feature bits for compatibility.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
- } \\
-\hline
-bf1d6b0d24ae & 19 May 2023 & Michael S. Tsirkin & {\noindent admin: conformance clauses\vspace{\baselineskip}
-
-
-Add conformance clauses for admin commands and admin virtqueues.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/171}
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
-\ref{sec:Basic Facilities of a Virtio Device / Administration Virtqueues},
-and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
- } \\
-\hline
-b04be31f0bf0 & 19 May 2023 & Michael S. Tsirkin & {\noindent ccw: document more reserved features\vspace{\baselineskip}
-
-
-vq reset and shared memory are unsupported, too.
-
-\vspace{\baselineskip}
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/160}
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Reviewed-by: Zhu Lingshan <lingshan.zhu@intel.com>
-
-See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Features reserved for future use}.
- } \\
-\hline
-619f60ae4ccf & 19 May 2023 & Parav Pandit & {\noindent admin: Fix reference and table formation\vspace{\baselineskip}
-
-
-This patch brings three fixes.
-
-\begin{enumerate}
-
-\item Opcode table has 3 columns, only two were enumerated. Due to this
-pdf generation script stops. Fix it and also have resizeable description
-column as it needs wrap.
-
-\item Status description column content needs to wrap. Without it pdf
-   does not read good. Fix it by having resizeable description column.
-
-\item Fix the broken link to the Device groups.
-
-\end{enumerate}
-
-\vspace{\baselineskip}
-Fixes: 2cbaaa1 ("admin: introduce group administration commands")
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
- } \\
-\hline
-c1cd68b97611 & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Improve config msix vector description\vspace{\baselineskip}
-
-
-config_msix_vector is the register that holds the MSI-X vector number
-for receiving configuration change related interrupts.
-
-It is not "for MSI-X".
-
-Hence, replace the confusing text with appropriate one.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/169}
-
-Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
- } \\
-\hline
-0f433d62e81d & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Improve queue msix vector register desc\vspace{\baselineskip}
-
-
-queue_msix_vector register is for receiving virtqueue notification
-interrupts from the device for the virtqueue.
-
-"for MSI-X" is confusing term.
-
-Also it is the register that driver "writes" to, similar to
-many other registers such as queue_desc, queue_driver etc.
-
-Hence, replace the verb from use to write.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/169}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout}.
- } \\
-\hline
-b0fbccd4062f & 19 May 2023 & Parav Pandit & {\noindent content: Add vq index text\vspace{\baselineskip}
-
-
-Introduce vq index and its range so that subsequent patches can refer
-to it.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues}.
- } \\
-\hline
-362f1cac2516 & 19 May 2023 & Parav Pandit & {\noindent content.tex Replace virtqueue number with index\vspace{\baselineskip}
-
-
-Replace virtqueue number with index to align to rest of the
-specification.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications}.
- } \\
-\hline
-cc4a5604b259 & 19 May 2023 & Parav Pandit & {\noindent content: Rename confusing queue_notify_data and vqn names\vspace{\baselineskip}
-
-
-Currently queue_notify_data register indicates the device
-internal queue notification content. This register is
-meaningful only when feature bit VIRTIO_F_NOTIF_CONFIG_DATA is
-negotiated.
-
-However, above register name often get confusing association with
-very similar feature bit VIRTIO_F_NOTIFICATION_DATA.
-
-When VIRTIO_F_NOTIFICATION_DATA feature bit is negotiated,
-notification really involves sending additional queue progress
-related information (not queue identifier or index).
-
-Hence
-
-\begin{enumerate}
-
-\item  to avoid any misunderstanding and association of
-queue_notify_data with similar name VIRTIO_F_NOTIFICATION_DATA,
-
-and
-
-\item to reflect that queue_notify_data is the actual device
-internal virtqueue identifier/index/data/cookie,
-
-\end{enumerate}
-
-\begin{enumerate}[label=\alph*.]
-
-\item rename queue_notify_data to queue_notif_config_data.
-
-\item rename ambiguous vqn to a union of vq_index and vq_config_data
-
-\item The driver notification section assumes that queue notification contains
-vq index always. CONFIG_DATA feature bit introduction missed to
-update the driver notification section. Hence, correct it.
-
-\end{enumerate}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Acked-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Driver notifications},
-\ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common configuration structure layout},
-and \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Available Buffer Notifications}.
-} \\
-\hline
-fbb119dad56d & 19 May 2023 & Parav Pandit & {\noindent transport-pci: Avoid first vq index reference\vspace{\baselineskip}
-
-
-Drop reference to first virtqueue as it is already
-covered now by the generic section in first patch.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Acked-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Device Initialization}.
- } \\
-\hline
-a7a21e451987 & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Rename QueueNum register\vspace{\baselineskip}
-
-
-These are further named differently between pci and mmio transport.
-PCI transport indicates queue size as queue_size.
-
-To bring consistency between pci and mmio transport,
-rename the QueueNumMax and QueueNum
-registers to QueueSizeMax and QueueSize respectively.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-Reviewed-by: Jiri Pirko <jiri@nvidia.com>
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
-and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
- } \\
-\hline
-9ddc59553984 & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Avoid referring to zero based index\vspace{\baselineskip}
-
-
-VQ range is already described in the first patch in basic virtqueue
-section. Hence remove the duplicate reference to it.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Acked-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
-and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
- } \\
-\hline
-e7a764f66598 & 19 May 2023 & Parav Pandit & {\noindent transport-ccw: Rename queue depth/size to other transports\vspace{\baselineskip}
-
-
-max_num field reflects the maximum queue size/depth. Hence align name of
-this field with similar field in PCI and MMIO transport to
-max_queue_size.
-Similarly rename 'num' to 'size'.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Initialization / Configuring a Virtqueue}.
- } \\
-\hline
-c3092410ac51 & 19 May 2023 & Parav Pandit & {\noindent transport-ccw: Refer to the vq by its index\vspace{\baselineskip}
-
-
-Currently specification uses virtqueue index and
-number interchangeably to refer to the virtqueue.
-
-Instead refer to it by its index.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio over channel I/O / Device Operation / Guest->Host Notification}.
- } \\
-\hline
-d6f310dbb3bf & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Avoid duplicate receive queue example\vspace{\baselineskip}
-
-
-Receive queue number/index example is duplicate which is already defined
-in the Setting RSS parameters section.
-
-Hence, avoid such duplicate example and prepare it for the subsequent
-patch to describe using receive queue handle.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-da0e16928d0b & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Describe RSS using rss rq id\vspace{\baselineskip}
-
-
-The content of the indirection table and unclassified_queue were
-originally described based on mathematical operations. In order to
-make it easier to understand and to avoid intermixing the array
-index with the vq index, introduce a structure
-rss_rq_id (RSS receive queue
-ID) and use it to describe the unclassified_queue and
-indirection_table fields.
-
-As part of it, have the example that uses non-zero virtqueue
-index which helps to have better mapping between receiveX
-object with virtqueue index and the actual value in the
-indirection table.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-f9ff777fba59 & 19 May 2023 & Parav Pandit & {\noindent virtio-net: Update vqn to vq_index for cvq cmds\vspace{\baselineskip}
-
-
-Replace field name vqn to vq_index for recent virtqueue level commands.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/163}
-
-Reviewed-by: David Edmondson <david.edmondson@oracle.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Device Operation / Control Virtqueue}.
- } \\
-\hline
-74460ef69d5f & 19 May 2023 & Parav Pandit & {\noindent transport-mmio: Replace virtual queue with virtqueue\vspace{\baselineskip}
-
-
-Basic facilities define the virtqueue construct for device <-> driver
-communication.
-
-PCI transport and individual devices description also refers to it as
-virtqueue.
-
-MMIO refers to it as 'virtual queue'.
-
-Align MMIO transport description to call such object a virtqueue.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/168}
-
-Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-See \ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout},
-\ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Virtqueue Configuration},
-and \ref{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}.
- } \\
-\hline
-6724756eaf0a & 07 Jul 2023 & Parav Pandit & {\noindent admin: Split opcode table rows with a line\vspace{\baselineskip}
-
-
-Currently all opcode appears to be in a single row.
-Separate them with a line similar to other tables.
-
-\vspace{\baselineskip}
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-[CH: pushed as editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
- } \\
-\hline
-1518c9ce2cde & 07 Jul 2023 & Parav Pandit & {\noindent admin: Fix section numbering\vspace{\baselineskip}
-
-
-Requirements are put one additional level down. Fix it.
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Reviewed-by: Cornelia Huck <cohuck@redhat.com>
-
-[CH: pushed as editorial update]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands}.
- } \\
-\hline
-9c3ba1ec6acb & 14 Jul 2023 & Heng Qi & {\noindent virtio-net: support inner header hash\vspace{\baselineskip}
-
-\begin{enumerate}
-
-\item Currently, a received encapsulated packet has an outer and an inner header, but
-the virtio device is unable to calculate the hash for the inner header. The same
-flow can traverse through different tunnels, resulting in the encapsulated
-packets being spread across multiple receive queues (refer to the figure below).
-However, in certain scenarios, we may need to direct these encapsulated packets of
-the same flow to a single receive queue. This facilitates the processing
-of the flow by the same CPU to improve performance (warm caches, less locking, etc.).
-
-\begin{lstlisting}
-               client1                    client2
-                  |        +-------+         |
-                  +------->|tunnels|<--------+
-                           +-------+
-                              |  |
-                              v  v
-                      +-----------------+
-                      | monitoring host |
-                      +-----------------+
-\end{lstlisting}
-
-To achieve this, the device can calculate a symmetric hash based on the inner headers
-of the same flow.
-
-\item  For legacy systems, they may lack entropy fields which modern protocols have in
-the outer header, resulting in multiple flows with the same outer header but
-different inner headers being directed to the same receive queue. This results in
-poor receive performance.
-
-To address this limitation, inner header hash can be used to enable the device to advertise
-the capability to calculate the hash for the inner packet, regaining better receive performance.
-
-\end{enumerate}
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/173}
-
-Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
-
-Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
-
-Reviewed-by: Parav Pandit <parav@nvidia.com>
-
-[CH: added missing lstlisting and hyperref escapes, fixed references]
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types / Network Device / Feature bits},
-\ref{sec:Device Types / Network Device / Feature bits / Feature bit requirements},
-\ref{sec:Device Types / Network Device / Device configuration layout},
-\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets},
-\ref{sec:Device Types / Network Device / Device Operation / Processing of Incoming Packets / Inner Header Hash},
-\ref{sec:Conformance / Device Conformance / Network Device Conformance},
-\ref{sec:Conformance / Driver Conformance / Network Driver Conformance},
-and \ref{sec:Normative References}.
- } \\
-\hline
-73c2fd96af96 & 17 Jul 2023 & Haixu Cui & {\noindent virtio-spi: define the DEVICE ID for virtio SPI master\vspace{\baselineskip}
-
-
-Define the DEVICE ID of virtio SPI master device as 45.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/174}
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Device Types}.
- } \\
-\hline
-03c2d32e5093 & 21 Jul 2023 & Parav Pandit & {\noindent admin: Add group member legacy register access commands\vspace{\baselineskip}
-
-
-Introduce group member legacy common configuration and legacy device
-configuration access read/write commands.
-
-Group member legacy registers access commands enable group owner driver
-software to access legacy registers on behalf of the guest virtual
-machine.
-
-\vspace{\baselineskip}
-Usecase:
-
-========
-
-\begin{enumerate}
-
-\item A hypervisor/system needs to provide transitional
-   virtio devices to the guest VM at scale of thousands,
-   typically, one to eight devices per VM.
-
-\item A hypervisor/system needs to provide such devices using a
-   vendor agnostic driver in the hypervisor system.
-
-\item A hypervisor system prefers to have single stack regardless of
-   virtio device type (net/blk) and be future compatible with a
-   single vfio stack using SR-IOV or other scalable device
-   virtualization technology to map PCI devices to the guest VM.
-   (as transitional or otherwise)
-
-\end{enumerate}
-
-\vspace{\baselineskip}
-Motivation/Background:
-
-=====================
-
-The existing virtio transitional PCI device is missing support for
-PCI SR-IOV based devices. Currently it does not work beyond
-PCI PF, or as software emulated device in reality. Currently it
-has below cited system level limitations:
-
-[a] PCIe spec citation:
-VFs do not support I/O Space and thus VF BARs shall not indicate I/O Space.
-
-[b] cpu arch citiation:
-Intel 64 and IA-32 Architectures Software Developer’s Manual:
-The processor’s I/O address space is separate and distinct from
-the physical-memory address space. The I/O address space consists
-of 64K individually addressable 8-bit I/O ports, numbered 0 through FFFFH.
-
-[c] PCIe spec citation:
-If a bridge implements an I/O address range,...I/O address range will be
-aligned to a 4 KB boundary.
-
-\vspace{\baselineskip}
-Overview:
-
-=========
-
-Above usecase requirements is solved by PCI PF group owner accessing
-its group member PCI VFs legacy registers using the administration
-commands of the group owner PCI PF.
-
-Two types of administration commands are added which read/write PCI VF
-registers.
-
-Software usage example:
-
-=======================
-\vspace{\baselineskip}
-
-1. One way to use and map to the guest VM is by using vfio driver
-framework in Linux kernel.
-
-...
-}\\
-\hline
- & & & {\noindent
-...
-
-\begin{lstlisting}
-
-                +----------------------+
-                |pci_dev_id = 0x100X   |
-+---------------|pci_rev_id = 0x0      |-----+
-|vfio device    |BAR0 = I/O region     |     |
-|               |Other attributes      |     |
-|               +----------------------+     |
-|                                            |
-+   +--------------+     +-----------------+ |
-|   |I/O BAR to AQ |     | Other vfio      | |
-|   |rd/wr mapper\& |     | functionalities | |
-|   | forwarder    |     |                 | |
-|   +--------------+     +-----------------+ |
-|                                            |
-+------+-------------------------+-----------+
-       |                         |
-   Config region                 |
-     access                Driver notifications
-       |                         |
-  +----+------------+       +----+------------+
-  | +-----+         |       | PCI VF device A |
-  | | AQ  |-------------+---->+-------------+ |
-  | +-----+         |   |   | | legacy regs | |
-  | PCI PF device   |   |   | +-------------+ |
-  +-----------------+   |   +-----------------+
-                        |
-                        |   +----+------------+
-                        |   | PCI VF device N |
-                        +---->+-------------+ |
-                            | | legacy regs | |
-                            | +-------------+ |
-                            +-----------------+
-\end{lstlisting}
-
-2. Continue to use the virtio pci driver to bind to the
-   listed device id and use it as in the host.
-
-3. Use it in a light weight hypervisor to run bare-metal OS.
-
-\vspace{\baselineskip}
-Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/167}
-
-Signed-off-by: Parav Pandit <parav@nvidia.com>
-
-Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-
-Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-
-See \ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands / Legacy Interface},
-\ref{sec:Basic Facilities of a Virtio Device / Device groups / Group administration commands},
-and \ref{sec:Conformance / Conformance Targets}.
- } \\
-\hline
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/4] edit: add changelog for 1.4
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
  2025-10-27 17:47 ` [PATCH 1/4] edit: remove old changelog Parav Pandit
@ 2025-10-27 17:47 ` Parav Pandit
  2025-10-27 17:47 ` [PATCH 3/4] edit: Remove annotation of special character Parav Pandit
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 17:47 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar; +Cc: shahafs, Parav Pandit

Add the changelog for 1.4.

Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 cl-os.tex | 2092 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 2092 insertions(+)

diff --git a/cl-os.tex b/cl-os.tex
index e69de29..c5100f7 100644
--- a/cl-os.tex
+++ b/cl-os.tex
@@ -0,0 +1,2092 @@
+3abace8 & 27 Sep 2023 & Cornelia Huck & { remove enumerate usage that makes the tool unhappy
+
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+db68dc0 & 28 Sep 2023 & Cornelia Huck & { Revert "remove enumerate usage that makes the tool unhappy"
+
+
+This reverts commit 3abace87db23ddceaf9688a405dd3fd540023977.
+
+We can fix it properly instead.
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+c7bef01 & 28 Sep 2023 & Michael S. Tsirkin & { html: add missing enumitem package
+
+
+makediffhtml.sh currently fails with:
+
+! Missing number, treated as zero.
+<to be read again>
+                   \textbackslash c@*
+l.25850 \textbackslash begin\{enumerate\}[label=\textbackslash alph*
+                                      .]
+?
+! Emergency stop.
+<to be read again>
+                   \textbackslash c@*
+l.25850 \textbackslash begin\{enumerate\}[label=\textbackslash alph*
+                                      .]
+
+Some web searches turned up suggestions to use enumitem and in fact,
+virtio.tex already does this - but virtio-html.tex doesn't.
+
+Adding \textbackslash usepackage\{enumitem\} in virtio-html.tex too fixes the issue.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+3fdaa17 & 30 Oct 2023 & jeshwank & { virtio-tee: Reserve device ID 46 for TEE device
+
+
+In a virtual environment, an application running in guest VM may want
+to delegate security sensitive tasks to a Trusted Application (TA)
+running within a Trusted Execution Environment (TEE). A TEE is a trusted
+OS running in some secure environment, for example, TrustZone on ARM
+CPUs, or a separate secure co-processor etc.
+
+A virtual TEE device emulates a TEE within a guest VM. Such a virtual
+TEE device supports multiple operations such as:
+
+VIRTIO_TEE_CMD_OPEN_DEVICE – Open a communication channel with virtio
+                             TEE device.
+VIRTIO_TEE_CMD_CLOSE_DEVICE – Close communication channel with virtio
+                              TEE device.
+VIRTIO_TEE_CMD_GET_VERSION – Get version of virtio TEE.
+VIRTIO_TEE_CMD_OPEN_SESSION – Open a session to communicate with
+                              trusted application running in TEE.
+VIRTIO_TEE_CMD_CLOSE_SESSION – Close a session to end communication
+                               with trusted application running in TEE.
+VIRTIO_TEE_CMD_INVOKE_FUNC – Invoke a command or function in trusted
+                             application running in TEE.
+VIRTIO_TEE_CMD_CANCEL_REQ – Cancel an ongoing command within TEE.
+VIRTIO_TEE_CMD_REGISTER_MEM - Register shared memory with TEE.
+VIRTIO_TEE_CMD_UNREGISTER_MEM - Unregister shared memory from TEE.
+
+We would like to reserve device ID 46 for Virtio-TEE device.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/175}
+
+Signed-off-by: Jeshwanth Kumar <jeshwanthkumar.nk@amd.com>
+Reviewed-by: Rijo Thomas <Rijo-john.Thomas@amd.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Sumit Garg <sumit.garg@linaro.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+42f3899 & 30 Oct 2023 & Xuan Zhuo & { virtio-net: support device stats
+
+
+This patch allows the driver to obtain some statistics from the device.
+
+In the device implementation, we can count a lot of such information,
+which can be used for debugging and judging the running status of the
+device. We hope to directly display it to the user through ethtool.
+
+To get stats atomically, try to get stats for all/multiple queue pairs
+in one command.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/180}
+
+Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Suggested-by: Michael S. Tsirkin <mst@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+925b42e & 30 Oct 2023 & Parav Pandit & { conformance: Add missing virtqueue reset conformance references
+
+
+Add the missing references to the virtqueue reset related conformance
+requirements.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+[CH: pushed as an editorial change]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+68d5cc4 & 30 Oct 2023 & Parav Pandit & { packed-ring: Change host,guest to device,driver
+
+
+Rest of the packed ring description already uses the device
+and driver terminology. Change the introductory line as well from
+host and guest to device and driver respectively.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+[CH: pushed as an editorial update]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+c8249d7 & 30 Oct 2023 & Cornelia Huck & { editorial: allow for longer device id table
+
+
+Move to "longtable" to allow the table to span multiple pages (it
+became too long to fit on one page with the latest addition.)
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+eb16e33 & 03 Nov 2023 & Cornelia Huck & { editorial: various fixes for 1.3-csd01
+
+
+
+- Set approval date to 06 October 2023. (applies to front page subtitle,
+citation format, PDF page footers)
+
+- Set filenames and URIs to show csd01 instead of wd01 (also PDF footers)
+
+- Set "Previous stage" to "N/A" (don't list a different numbered Version)
+
+- In "Related work", change (3x) text - "Latest version" to "Latest stage"
+
+- In "Notices", set the copyright year to 2023.
+
+
+- In the first line of Appendix D. Revision History, replace "the previous
+version" with "Version 1.2"
+
+
+- In Section 1.3, apply the current IETF-recommended text:
+"The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+"OPTIONAL" in this document are to be interpreted as described in BCP 14
+[[RFC2119](\#link)] and [[RFC8174](\#link)] when, and only when, they appear
+in all capitals, as shown here."
+
+- Also, add the RFC 8174 reference:
+[RFC8174]
+Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP
+14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
+\url{https://www.rfc-editor.org/info/rfc8174.}
+
+Reported-by: Paul Knight <paul.knight@oasis-open.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+43a948e & 03 Nov 2023 & Cornelia Huck & { editorial: update "Computer Language Definitions" URL
+
+
+Split out from the other fixes for 1.3-csd01 so that we can fixup the
+diff.
+
+
+- In "Status", (fourth paragraph) change the hyperlink under (Computer
+Language Definitions) to be "
+\url{https://www.oasis-open.org/policies-guidelines/tc-process-2017-05-26/\#wpComponentsCompLang}
+"
+
+Reported-by: Paul Knight <paul.knight@oasis-open.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+5fc35a7 & 03 Nov 2023 & Cornelia Huck & { makediff: update list of cherry-picks
+
+
+We don't need to apply the old commits anymore, but we have to apply
+the URL update to work around a not-yet-debugged latexdiff problem.
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+4cb03b1 & 17 Nov 2023 & Parav Pandit & { description: Avoid splitting the word virtqueue
+
+
+Don't split the word virtqueue.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+[CH: applied as editorial]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+878a5e7 & 13 Feb 2024 & Shujun Xue & { Define the DEVICE ID of Virtio Cpu balloon device as 47.
+
+
+The Virtio CPU balloon device is a primitive device for managing guest
+CPU capacity: the device asks for certain CPU cores to be online,
+offline or throttled, and the driver performs the requested operation.
+This allows the guest to adapt to changes in allowance of underlying
+CPU capacity.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/187}
+
+Signed-off-by: Shujun Xue <shujunxue@google.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+07bb9f7 & 13 Feb 2024 & Harald Mommer & { virtio-can: Device specification.
+
+
+virtio-can is a virtual CAN device. It provides a way to give access to
+a CAN controller from a driver guest. The device is aimed to be used by
+driver guests running a HLOS as well as by driver guests running a
+typical RTOS as used in controller environments.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/186}
+
+Signed-off-by: Harald Mommer <Harald.Mommer@opensynergy.com>
+Signed-off-by: Mikhail Golubev-Ciuchea <Mikhail.Golubev-Ciuchea@opensynergy.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+193daee & 13 Feb 2024 & Heng Qi & { virtio-net: support the RSS context
+
+
+Commit 84a1d9c48200 ("net: ethtool: extend RXNFC API to support RSS spreading of
+filter matches") adds support for RSS context as a destination for receive flow filters
+(see WIP work: \url{https://lists.oasis-open.org/archives/virtio-comment/202308/msg00194.html).}
+
+An RSS context consists of configurable parameters specified by receive-side scaling.
+
+Some use cases:
+1. When users want some data flows to be steered to specific multiple rxqs, they can set
+   receive flow filter rules for these data flows to an RSS context with desired rxqs.
+2. Traffic isolation. Used when users want the traffic of certain applications to occupy
+   several queues without being distubed.
+
+How to set/configure an RSS context:
+Assuming no RSS context has been created before.
+1. ethtool -X eth0 context new start 5 equal 8
+
+This command creates an RSS context with an id=1 for eth0, and fills in the indirection
+table with rxq indexes 5-8 circularly. The hash key and hash types reuse the default
+RSS configuration.
+
+Then, we can use 'ethtool -x eth0 context 1' to query the above configuration.
+
+2. ethtool -X eth0 context new start 6 equal 7 \textbackslash 
+   hkey 8f:bf:dd:11:23:58:d2:8a:00:31:d0:32:a3:b5:1f:\textbackslash 
+   1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3
+
+This command creates an RSS context with an id=2 for eth0, and fills in the indirection
+table with rxq indexes 6-7 circularly. The hash key is 8f:bf:dd:11:23:58:d2:8a:00:31:d0\textbackslash 
+:32:a3:b5:1f:1f:e4:d1:fe:47:7f:64:42:fd:d0:61:16:b8:b0:f9:71:e8:2d:36:7f:18:dd:4d:c8:f3.
+Hash types reuse the default RSS configuration.
+
+3. ethtool -N eth0 rx-flow-hash tcp4 sdfn context 1
+
+This command specifies the hash types for the RSS context whose id=1 on eth0.
+Now this RSS context only has the hash key to reuse the default RSS configuration.
+
+4. ethtool -N eth0 flow-type udp4 src-ip 1.1.1.1 context 1
+
+This command configures a receive flow filter rule for eth0, and the data flow matching
+this rule will continue to select the final rxq according to the RSS context configuration
+with id=1.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/178}
+
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Acked-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+bb11bf9 & 13 Feb 2024 & Haixu Cui & { content: Rename SPI master to SPI controller
+
+
+SPI master is an outdated term and should use SPI controller.
+
+Signed-off-by: Haixu Cui <quic_haixcui@quicinc.com>
+Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+a402acc & 13 Feb 2024 & Haixu Cui & { virtio-spi: add the device specification
+
+
+The Virtio SPI (Serial Peripheral Interface) device is a virtual
+SPI controller that allows the driver to operate and use the SPI
+controller under the control of the host.
+
+This patch adds the specification for virtio-spi.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/189}
+
+Signed-off-by: Haixu Cui <quic_haixcui@quicinc.com>
+Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+37c6a40 & 16 Feb 2024 & Pape, Andreas (ADITG/ESS3) & { sound: add sampling rates 12000Hz and 24000Hz
+
+
+24kHz is used for 'super wideband' voice transmission 12kHz is added 'for completeness'
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/184}
+
+Signed-off-by: Andreas Pape <apape@de.adit-jv.com>
+Reviewed-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+
+ } \\
+\hline
+71fe8e9 & 21 May 2024 & Michael S. Tsirkin & { README.md: update mailing list info
+
+
+As approved by the TC, we are moving to a less formal
+way of discussing the specification, on the mailing lists
+provided by the Linux Foundation:
+
+\url{https://groups.oasis-open.org/higherlogic/ws/public/ballot?id=3820}
+
+Update README.md, CONTRIBUTING.md and newdevice.tex accordingly.
+
+Use this opportunity to explain when and how to use each
+mailing list.
+
+Oh yes, and device numbers are reserved through virtio-comment
+not through virtio-dev. Correct that.
+
+Message-Id: <8f5db33c96d685fcebca3579b05d09b64dd720d9.1715766697.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+6678bbf & 11 Jul 2024 & Parav Pandit & { Add link for the feature bits section
+
+
+Device common feature bits overview in the basic facilities and
+their actual description are apart by 24 chapters.
+
+Help reader to directly reach out to feature bits definitions from
+the basic chapter.
+
+MST: merged as a trivial editorial change
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240612073522.2571082-1-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+550b760 & 11 Jul 2024 & Michael S. Tsirkin & { can: drop a broken conformance link
+
+
+CAN device has a single device conformance section, drop
+a link to a non-existent section, fixing a Latex error.
+
+Fixes: 07bb9f7 ("virtio-can: Device specification.")
+Message-ID: <87a6c3c4463e9f304cdd5dd5fac2194a95a8bcd2.1720724591.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+d7c486b & 11 Jul 2024 & Michael S. Tsirkin & { introduction: fix label
+
+
+label to rfc8174 is incorrect, leading to undefined reference
+and multiple defined reference latex errors.
+
+Fix it up.
+
+Message-Id: <52b6fc16793e3b24284aefafda94322c739b9f7f.1720725332.git.mst@redhat.com>
+Fixes: eb16e33 ("editorial: various fixes for 1.3-csd01")
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+7e454b6 & 11 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick label change
+
+
+label changes tend to trip up makediff - this one
+causes an undefined reference from deleted section.
+To fix, cherry-pick it.
+
+Message-Id: <216774e3fa811e0a6e994a3815f0804ddfc0bb03.1720731399.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+b495841 & 11 Jul 2024 & Michael S. Tsirkin & { transport-mmio: fix up makediff from 1.2
+
+
+we fixed a typo in label name: in the diff old links become
+undefined. Add the old label back for now, we can drop it
+down the road.
+
+Message-Id: <fc98549666e0fe74e890a7a62ca71248e709712b.1720731329.git.mst@redhat.com>
+Fixes: ca97719 ("transport-mmio: Fix spellings and white spaces")
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+75086cb & 11 Jul 2024 & Michael S. Tsirkin & { Merge tag 'v1.3-wd02' into virtio-1.4
+
+
+Merge fixes from master branch (1.3) up to tag v1.3-wd02
+commit b495841 ("transport-mmio: fix up makediff from 1.2")
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+61b65cb & 11 Jul 2024 & Cornelia Huck & { editorial: allow for longer device id table: makediff 1.3
+
+
+Move to "longtable" to allow the table to span multiple pages (it
+became too long to fit on one page with the latest addition.)
+
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+(cherry picked from commit c8249d73d2fdbbfd38e8bf45c8492057bc2485e9)
+
+ } \\
+\hline
+6fa0087 & 11 Jul 2024 & Michael S. Tsirkin & { Merge tag 'v1.3-wd02-makediff' into virtio-1.4
+
+
+this is just so makediff can cherry pick a workaround
+for latexdiff.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+79b04be & 11 Jul 2024 & Michael S. Tsirkin & { makediff: update base version to 1.3
+
+
+might cause minor conflicts if we merge 1.3 branch
+again, but seems cleaner than seeing full diff here.
+
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+18e47c0 & 11 Jul 2024 & Parav Pandit & { virtio-blk: Fix data type of num_queues field
+
+
+Correct the endianness of num_queues field to be little endian.
+
+Suggested-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+Message-Id: <20240521122119.2004071-1-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+0080681 & 11 Jul 2024 & Parav Pandit & { virtio-net: Fix receive buffer size calculation text
+
+
+Receive buffer size calculation is based on the following
+negotiated features.
+
+The text has wrong calculation for IPv6 and also it has missed
+VIRTIO_NET_F_HASH_REPORT.
+
+The problem of igorance of VIRTIO_NET_F_HASH_REPORT is reported
+in [1], however fix for ipv6 payload length must also be
+considered.
+
+Since for the both the fixes touching same requirements, a
+new issue is created as [2].
+
+This patch brings following fixes.
+
+1. Fix annotating struct virtio_net_hdr as field
+2. Fix receive buffer calculation for guest GSO cases to consider
+   ipv6 payload length
+3. small grammar corrections for article
+4. reword the requirement to consider the virtio_ndr_hdr which is
+   depends on the negotiated feature, hence first clarify the
+   struct virtio_net_hdr size
+
+[1] \url{https://github.com/oasis-tcs/virtio-spec/issues/170}
+[2] \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/170}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-2-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+bf0fdf8 & 11 Jul 2024 & Parav Pandit & { virtio-net: Clarify the size of the struct virtio_net_hdr for tx
+
+
+The feature VIRTIO_NET_F_HASH_REPORT only applies to the receive side.
+However, when VIRTIO_NET_F_HASH_REPORT feature was introduced, it was
+not clarified that the size of the struct virtio_net_hdr on the packet
+transmission also uses higher size when VIRTIO_NET_F_HASH_REPORT is
+negotiated.
+
+Explicitly clarify this.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-3-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+6abd42f & 11 Jul 2024 & Parav Pandit & { virtio-net: Annotate virtio_net_hdr as field
+
+
+At several places struct virtio_net_hdr missed out the field
+annotation. Add it.
+
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-4-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+fdd39cf & 11 Jul 2024 & Parav Pandit & { admin: Introduce self group
+
+
+Define self group to control the self device itself.
+
+Subsequent patches introduces the concept of device capabilities
+and device resources which utilizes the self group to access
+capabilities and uses device resources to refer to the device itself.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-2-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+bfe175d & 11 Jul 2024 & Parav Pandit & { admin: Use already defined names for the legacy commands
+
+
+Instead of description, use the existing name for defining the legacy
+commands. While at it, prefer the shorter label names which
+are already unique and refer them as hyperreference in the table
+for quick naviation.
+
+This is editorial change to align to subsequent patches.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-3-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+88a24d2 & 11 Jul 2024 & Parav Pandit & { admin: Add theory of operation for capability admin commands
+
+
+Device capability indicates the supported functionality and
+resources of the device to the driver.
+
+Driver capability indicates the supported functionality
+and resources which driver will be using. Driver capability is
+subset of the device capability.
+
+Add theory of operation describing it.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-4-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+72a91e6 & 11 Jul 2024 & Parav Pandit & { admin: Prepare table for multipage listing
+
+
+If the table spans across two pages, it is not readable.
+Make use of xltabular package that supports table spanning
+across multiple pages.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-5-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+d60a390 & 11 Jul 2024 & Parav Pandit & { admin: Add capability admin commands
+
+
+Add three capabilities related administration commands.
+First to get the device capability.
+Second to set the driver capability.
+Third for the driver to discover which capabilities can be accessed.
+
+Even though the current series restricts device capability reading
+to the self group type, same structure and command format etc will
+be reusable in future to read the capability from the owner device
+and also to set the device capability via owner device using
+new DEV_CAP_SET command.
+
+Resource objects are introduced in subsequent patch which utilizes
+the capability, however some description around resource object
+limit is covered in this patch to keep things simple.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-6-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+738f0a2 & 11 Jul 2024 & Parav Pandit & { admin: Add theory of operation for device resource objects
+
+
+The driver controls the device by means of device resource objects.
+These operations include create, query, modify, and destroy the device
+resource objects.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-7-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+5040f36 & 11 Jul 2024 & Parav Pandit & { admin: Add device resource objects admin commands
+
+
+Add generic administration commands create, modify, query and destroy
+device resource object.
+
+Each resource object defines resource specific attributes for the commands.
+Once the resource object is created by the driver, it can be query/modify or
+destroyed by the driver.
+
+Each resource object is identified using a unique resource id per
+resource type.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-8-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+7b3bdd6 & 11 Jul 2024 & Parav Pandit & { virtio-net: Add theory of operation for flow filter
+
+
+Currently packet allow/drop interface has following limitations.
+
+1. Driver can either select which MAC and VLANs to consider
+for allowing/dropping packets, here, the driver has a
+limitation that driver needs to supply full mac
+table or full vlan table for each type. Driver cannot add or
+delete an individual entry.
+
+2. Driver cannot select mac+vlan combination for which
+to allow/drop packet.
+
+3. Driver cannot not set other commonly used packet match fields
+such as IP header fields, TCP, UDP, SCP header fields.
+
+4. Driver cannot steer specific packets based on the match
+fields to specific receiveq.
+
+5. Driver do not have multiple or dedicated virtqueues to
+   perform flow filter requests in accelerated manner in
+   the device.
+
+Flow filter as a generic framework overcome above limitations.
+
+As starting point it is useful to support at least two use cases.
+a. ARFS
+b. ethtool ntuple steering
+
+In future it can be further extended for usecases such as
+switching device, connection tracking or may be more.
+
+The flow filter has following properties.
+
+1. It is an extendible object that driver can create, destroy.
+2. It belongs to a flow filter group.
+3. Each flow filter rule is identified using a unique id,
+   has priority, match key, destination(rq) and action(allow/drop).
+4. Flow filter key also refers to the mask to learn which fields
+   of the packets to match.
+
+This patch adds theory of operation for flow filter functionality.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-9-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+899bb0c & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter capability
+
+
+Add first flow filter capability that indicates device resource
+limits such as number of flow filter rules, groups and selectors.
+
+add second capability that indicates supported selectors defining
+which packet headers and their fields supported.
+
+[Parav Pandit: resolve conflict: editorial: in spec links]
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-10-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+224e98b & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter group, classifier and rule resource objects
+
+
+Flow filter rules depend on the flow filter group resource object.
+The device can have one or more flow filter groups. Each flow filter
+group has its own order. The group order defines the packet
+processing order in the flow filter domain.
+
+Define flow filter classifier object which consists of one
+or multiple types of packet header fields to consider
+for matching. A mask can match on partial field or whole
+field if the device supports partial masking for a given
+mask type.
+
+Define flow filter rule resource which consists of
+match key, reference to group and mask objects and
+an action.
+
+Currently it covers the most common filter types and value
+of Ethernet header, IPV4 and IPV6 headers and TCP and UDP headers.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-11-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+3b7b737 & 11 Jul 2024 & Parav Pandit & { virtio-net: Add flow filter device and driver requirements
+
+
+Add device and driver flow filter requirements.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/179}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
+Acked-by: Satananda Burla <sburla@marvell.com>
+Message-Id: <20240604132903.2093195-12-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+9b3129f & 12 Jul 2024 & Martin Kröning & { virtio_pci_cap64: specify offset_hi, length_hi endianness
+
+
+While the capability introduction says "This virtio structure capability uses little-endian format,"
+it might be preferrable to be explicit about the endianness of offset_hi and length_hi.
+
+Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/196}
+Message-Id: <DF89BB0F-6BA4-4DAB-AEC3-03AAF858EC8E@eonerc.rwth-aachen.de>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+67141d1 & 12 Jul 2024 & Parav Pandit & { admin: Add theory of operation for device parts
+
+
+A device can get and set the state of the device which is
+organized as multiple device parts. This can be useful
+in cases of VM snapshot, VM migration, debug or some other use
+cases.
+
+Add the theory of operations on how to get/set device parts
+and how it affects when the device is stopped or resumed.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176}
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240601145042.2074739-2-parav@nvidia.com>
+
+ } \\
+\hline
+a1281ad & 12 Jul 2024 & Parav Pandit & { admin: Extend resource objects for sr-iov group type
+
+
+occasionally the group owner device accesses the device parts
+of the member device. Extend the usage of resource objects
+for member device parts access.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240601145042.2074739-3-parav@nvidia.com>
+
+ } \\
+\hline
+aa4f6f0 & 12 Jul 2024 & Parav Pandit & { admin: Add admin commands for device parts
+
+
+Add administration commands to handle device parts such as
+get/set device parts, get metadata of the device parts,
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240601145042.2074739-4-parav@nvidia.com>
+
+ } \\
+\hline
+617aa2d & 12 Jul 2024 & Parav Pandit & { admin: Define common device parts
+
+
+Define common device parts that represents the state of the device.
+The driver can get and set these device parts using administration
+commands.
+
+[Parav Pandit: resolve conflict: editorial: empty blank line at end of file newdevice.tex]
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240601145042.2074739-5-parav@nvidia.com>
+
+ } \\
+\hline
+52d320c & 12 Jul 2024 & Parav Pandit & { admin: Add requirements of device parts commands
+
+
+Add device and driver side requirements for the device parts
+related commands.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/176}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240601145042.2074739-6-parav@nvidia.com>
+
+ } \\
+\hline
+24e93e1 & 15 Jul 2024 & Parav Pandit & { editorial: replace hyperref with ref
+
+
+Replace hyperreference with the name reference.
+Fix the broken reference link for the DEVICE_STATUS part.
+
+Fixes: aa4f6f069ab3 ("admin: Add admin commands for device parts")
+Fixes: 617aa2d62a88 ("admin: Define common device parts")
+Suggested-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240714144023.3291803-1-parav@vr-arch-host06.mtvr.labs.mlnx>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+7379354 & 15 Jul 2024 & Michael S. Tsirkin & { makediff: look in subjects only
+
+
+We currently use rev-list with -F to find commits.
+This helps if commit subject has any special characters
+but means that pattern can apply anywhere in the line.
+In particular, a common Fixes: (hash) "subject" pattern
+we started using implies that fixups are picked up
+instead of the commit.
+
+For now, just switch to using regexp (dropping -F)
+and add "^" in front to only look for the string at
+beginning of the line.
+
+We'll worry about more elaborate logic later, if it's ever
+needed.
+
+Message-Id: <1130700f4ae71a93d9887af35cf105731219f057.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+98ad5fc & 15 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick table env change
+
+
+latexdiff can not cope with environment name changes.
+cherry pick to avoid confusing it.
+
+Fixes: 72a91e6 ("admin: Prepare table for multipage listing")
+Message-Id: <c210d1bf4c64145ad3aae7155ef6050433f23346.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+849b421 & 15 Jul 2024 & Michael S. Tsirkin & { admin: switch to tabularx
+
+
+xltabular seems to confuse htlatex. Switch to an older
+tabularx which seems to be sufficient for our purposes.
+
+Message-Id: <29ebb999f6d3808edbf32cd6e95b69fefc1a6e34.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+8e81624 & 15 Jul 2024 & Michael S. Tsirkin & { admin-cmds-device-parts: switch to tabularx
+
+
+xltabular seems to confuse htlatex. Switch to an older
+tabularx which seems to be sufficient for our purposes.
+
+Message-Id: <bd3cf4e620485271d777f9cfc51d1ae9ee1b8169.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+886fc33 & 15 Jul 2024 & Michael S. Tsirkin & { device-parts: switch to tabularx
+
+
+xltabular seems to confuse htlatex. Switch to an older
+tabularx which seems to be sufficient for our purposes.
+
+Message-Id: <00f72154c624fbbe8c3da9dbdb4e4369c36b7f10.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+a5fb7b5 & 15 Jul 2024 & Michael S. Tsirkin & { admin-cmds-resource-objects: switch to tabularx
+
+
+xltabular seems to confuse htlatex. Switch to an older
+tabularx which seems to be sufficient for our purposes.
+
+Message-Id: <3f7be88a42af0a384621ef07b65c7a31755ef42e.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+459f1aa & 15 Jul 2024 & Michael S. Tsirkin & { virtio: replace xltabular with ltablex
+
+
+now that we only use tabularx, switch to ltablex to
+make tabularx tables paginate properly.
+
+Message-Id: <15b11ce5ac9bbe1aaa7818403b999ff39c74a479.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+e48de84 & 15 Jul 2024 & Michael S. Tsirkin & { makediff: cherry pick switch to tabularx
+
+
+Message-Id: <88cdb7020f5b2771a6d201b1f65005da97e54f16.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+6c23405 & 15 Jul 2024 & Michael S. Tsirkin & { admin: get rid of _ in labels
+
+
+it's not the 1st time we find out underscores in labels confuse
+latexdiff machinery when generating html.
+Errors look like this:
+
+! Missing \textbackslash endcsname inserted.
+<to be read again>
+                   \textbackslash unhbox
+....
+
+?
+! Emergency stop.
+<to be read again>
+                   \textbackslash unhbox
+
+To fix, convert underscores in labels to dashes.
+
+Message-Id: <3e773fcfd4246e66e6f39d3be95d2c0335e34532.1721062136.git.mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+
+ } \\
+\hline
+2a5a957 & 23 Oct 2024 & Viresh Kumar & { virtio-transport: Add a section to define mandatory transport requirements
+
+
+The current Virtio documentation lacks a set of generic requirements
+applicable to all transports. Defining these generic requirements could
+be beneficial when integrating support for a new transport.
+
+This section outlines the essential requirements that any transport
+method must adhere to.
+
+Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/201}
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+Link: \url{https://lore.kernel.org/r/4c24ede14e2545b2e9c69e7d9b79dc15744fd965.1723647318.git.viresh.kumar@linaro.org}
+
+ } \\
+\hline
+1d38844 & 23 Oct 2024 & Parav Pandit & { device-parts: editorial: Add missing struct keyword
+
+
+'struct' keyword was missing in the definition.
+Add it.
+
+Branch: virtio-1.4
+Fixes: aa4f6f06 ("admin: Add admin commands for device parts")
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-2-parav@nvidia.com}
+
+ } \\
+\hline
+9081da1 & 23 Oct 2024 & Parav Pandit & { device-parts: editorial: Fix metadata type name
+
+
+The description is for the type VIRTIO_ADMIN_CMD_DEV_PARTS_METADATA_TYPE_LIST;
+however, it referred to a non-existent definition. Correct it.
+
+Branch: virtio-1.4
+Fixes: aa4f6f069ab3 ("admin: Add admin commands for device parts")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-3-parav@nvidia.com}
+
+ } \\
+\hline
+b820c61 & 23 Oct 2024 & Parav Pandit & { crypto: editorial: Fix spelling errors
+
+
+Fix spelling errors.
+
+Branch: virtio-1.4
+Fixes: a385dd3366a2 ("virtio-crypto: Add virtio crypto device specification")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-4-parav@nvidia.com}
+
+ } \\
+\hline
+ec1845b & 23 Oct 2024 & Parav Pandit & { gpu: editorial: Fix spelling errors
+
+
+Fix spelling errors.
+
+Branch: virtio-1.4
+Fixes: fed64230bf31 ("Add virtio gpu device specification.")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-5-parav@nvidia.com}
+
+ } \\
+\hline
+9d60d84 & 23 Oct 2024 & Parav Pandit & { common: editorial: Fix spelling errors
+
+
+Fix spelling errors.
+
+Branch: virtio-1.4
+Fixes: 5f1a8ac61c15 ("admin: introduce virtio admin virtqueues")
+Fixes: 68f66ff7a3d9 ("content: define what an exported object is")
+Fixes: ef16b644cc25 ("content.tex: spec text converted to latex")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-6-parav@nvidia.com}
+
+ } \\
+\hline
+e98070a & 03 Nov 2024 & Albert Esteve & { content: Reserve ID for media device
+
+
+Reserve device ID 49 for media device.
+Compatible with video encoder, video decoder,
+and capture devices.
+
+Signed-off-by: Albert Esteve <aesteve@redhat.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/202}
+Link: \url{https://lore.kernel.org/r/20240906070833.1949727-1-aesteve@redhat.com}
+
+ } \\
+\hline
+417fb28 & 03 Nov 2024 & Parav Pandit & { virtio-gpu: Fix spelling error
+
+
+Fix spelling error.
+
+Fixes: fed64230bf31 ("Add virtio gpu device specification.")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/192}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+
+ } \\
+\hline
+d17c70a & 03 Nov 2024 & Parav Pandit & { Revert "virtio-gpu: Fix spelling error"
+
+
+This reverts commit 417fb28849c6ecac3b18a35e8a154c03f8dba66f.
+Reverted due to missing Link in commit log.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+ } \\
+\hline
+4a5df40 & 03 Nov 2024 & Parav Pandit & { virtio-gpu: Fix spelling error
+
+
+Fix spelling error.
+
+Fixes: fed64230bf31 ("Add virtio gpu device specification.")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/192}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20241027044457.495730-1-parav@nvidia.com}
+
+ } \\
+\hline
+a1849e3 & 25 Nov 2024 & Juraj Marcin & { virtio-mem: introduce VIRTIO_MEM_F_PERSISTENT_SUSPEND
+
+
+Before, the behavior while suspending to a deep sleep state and waking
+up was not specified. For example, in x86 QEMU VM all devices receive a
+reset request during wake-up. This would lead to unplugging of all the
+plugged memory blocks. Due to this, suspending is disallowed in the
+Linux Kernel, when plugged memory is present and
+VIRTIO_MEM_F_PERSISTENT_SUSPEND feature flag is not advertised by the
+virtio-mem device.
+
+This new flag should signal to the guest driver, that the device can
+correctly suspend to a deep sleep state and then wake up without
+disrupting the plugged memory blocks. This feature flag is already
+supported in the Linux Kernel [1] and also supported in QEMU [2].
+
+[1]: \url{https://lore.kernel.org/all/20240318120645.105664-1-david@redhat.com/}
+[2]: \url{https://lore.kernel.org/all/20240904103722.946194-1-jmarcin@redhat.com/}
+
+Reviewed-by: David Hildenbrand <david@redhat.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Juraj Marcin <jmarcin@redhat.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/207}
+Link: \url{https://lore.kernel.org/r/20241009090202.10544-2-jmarcin@redhat.com}
+
+ } \\
+\hline
+c8c01f2 & 25 Nov 2024 & Parav Pandit & { device-parts: editorial: Replace duplicated part type
+
+
+Device part type VIRTIO_DEV_PART_VQ_CFG was duplicated in
+the description; it is supposed to be VIRTIO_DEV_PART_VQ_NOTIFY_CFG.
+Fix it.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209}
+Fixes: 617aa2d62a88 ("Signed-off-by: Parav Pandit <parav@nvidia.com>")
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20241020114141.451478-2-parav@nvidia.com}
+
+ } \\
+\hline
+f21f831 & 25 Nov 2024 & Parav Pandit & { device-parts: Add device type specific raw selector
+
+
+The subsequent patch defines the device-type-specific parts. For
+these parts, the raw selector format is defined to ensure that
+each device type can specify its format accurately.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209}
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20241020114141.451478-3-parav@nvidia.com}
+Note: Merged with tab replaced with white spaces.
+
+ } \\
+\hline
+b2990c8 & 25 Nov 2024 & Parav Pandit & { virtio-net: Define cvq configuration related device parts
+
+
+virtio net driver sends the control virtqueue commands for
+device configuration. Such driver configuration is currently
+not captured in the device parts.
+
+This series adds several of such device parts which represents
+the network device specific configuration.
+
+It is done by utilizing the existing device parts structure.
+A new generic selector format is added to enable device type
+specific device parts.
+
+This series also reuses the existing control virtqueue command
+structures, fields, and values to define the network device parts.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/209}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20241020114141.451478-4-parav@nvidia.com}
+
+ } \\
+\hline
+8e443f4 & 20 Jan 2025 & Paolo Abeni & { virtio-net: clarify NEEDS_CSUM semantic for GSO packats.
+
+
+The current wording is a bit unclear hinting to possible additional
+nested headers. For GSO packets virtio net (currently) supports
+offload for the checksum of single transport header, explicitly state
+that in both the driver and device sections.
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/81034d9f4b12f7bd7aa6f7f5266cb6d551d0823c.1732699986.git.pabeni@redhat.com}
+
+ } \\
+\hline
+95c085b & 20 Jan 2025 & Paolo Abeni & { virtio-net: clarify DATA_VALID semantic for encap protos.
+
+
+DATA_VALID allows offloading a single checksum level, leaving
+unspecified which header checksum is offloaded when one or more
+encapsulated protocols are present.
+
+In such a case, the only option usable from the guest OS is
+offloading the outermost checksum. That also matches the existing
+implementation.
+
+Explicitly state such the constraint, to remove any ambiguity and
+make later changes more straightforward.
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/ec6fdbfba2c4fc1969d83799836ebb694a01fb30.1732699986.git.pabeni@redhat.com}
+
+ } \\
+\hline
+8cd457d & 20 Jan 2025 & Paolo Abeni & { virtio-net: define UDP tunnel segmentation offload feature
+
+
+The VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV\{4,6\} are two gso_type flags
+allowing respectively GSO over UDPv4 tunnel and GSO over UDPv6 tunnel.
+They can be negotiated on both the host and guest sides.
+
+One constraint addressed here is that the virtio side (either device or
+driver) receiving a UDP tunneled GSO packet must be able to reconstruct
+completely the inner and outer headers offset - to allow for later GSO.
+
+To accommodate such need, new fields are introduced in the virtio_net
+header: outer_th_offset and inner_nh_offset.
+They map directly to the corresponding header information. The inner
+transport header is implied by the (inner) checksum offload.
+
+Those fields are required because a virtio device H/W implementation
+performing segmentation for UDP tunneled packet will need to touch
+the outer transport protocol (for the UDP length filed), the
+inner network protocol (for the total length field, in the IPv4
+case).
+
+Note that segmentation will additionally need to touch
+the outer network protocol and the inner transport protocol. The first
+is implied/easily found with trivial parsing, the latter is identified
+by the existing csum_start field.
+
+Note that there is no concept of UDP tunnel type negotiation (e.g.
+vxlan, geneve, vxlan-gpe, etc.), as a virtio device H/W implementation
+can perform segmentation for every possible UDP-tunnel given the
+specified new fields.
+In the reverse direction, if a virtio device H/W implementation receives
+some traffic for an unknown or unsupported UDP tunnel, it will simply
+not aggregate the wire packet in a GSO one.
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Link: \url{https://lore.kernel.org/r/3e1c45071c8cf4efc7ca0ecc7b52a73c6bf983fe.1732699986.git.pabeni@redhat.com}
+
+ } \\
+\hline
+3fea589 & 20 Jan 2025 & Paolo Abeni & { virtio-net: define UDP tunnel checksum offload feature
+
+
+This complements the previous change, additionally
+introducing the UDP tunnel checksum offload feature.
+
+Differently from the plain checksum offload feature, this
+depends on UDP tunnel segmentation being available, as outer checksum
+computation for non GSO packets is cheap and H/W implementation of
+such a feature is complex.
+
+UDP tunnel checksum offload does not introduce additional fields,
+instead it leverages the outer transport offset introduced by the
+UDP tunnel segmentation feature to locate the outer checksum
+inside the packet.
+
+When UDP tunnel checksum offload is negotiated:
+
+- the driver requests the outer UDP checksum offload setting the
+VIRTIO_NET_HDR_F_UDP_TUNNEL_CSUM bit in the flag field. Such bit
+is not allocated inside the gso_type field to prevent space
+exhaustion there.
+
+- in the device -> driver direction, the VIRTIO_NET_HDR_F_DATA_VALID
+bit semantic is extended, covering both the inner and the outer
+checksum validation.
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Link: \url{https://lore.kernel.org/r/e87cf0c61f5ea3783cea0bcc4ea74f6e73f453d7.1732699986.git.pabeni@redhat.com}
+
+ } \\
+\hline
+14d3f88 & 03 Feb 2025 & Parav Pandit & { virtio-net: Fix to avoid using reserved feature bits
+
+
+Listed patches in the fixes tag, incorrectly used the reserved feature bits.
+Fix them to use the well defined device specific range.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/212}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/213}
+Fixes: 8cd457d8aa82 ("virtio-net: define UDP tunnel segmentation offload feature")
+Fixes: 3fea589bd7c6 ("virtio-net: define UDP tunnel checksum offload feature")
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250126062058.13695-1-parav@nvidia.com}
+
+ } \\
+\hline
+124fcd0 & 24 Feb 2025 & Steffen Trumtrar & { virtio-net: Fix receive buffer size typo
+
+
+The commit 00806815385340dd411cc67df3f6837935bb5e26 introduced a slight
+typo in the struct virtio_net_hdr size calculation depending on
+VIRTIO_NET_F_HASH_REPORT negotiation.
+
+Without VIRTIO_NET_F_HASH_REPORT the struct is smaller than with the
+feature. This mix up only occurs in one instance; sizes are correct in
+all other occurences.
+
+Fix this typo.
+
+Fixes: 008068153853 ("virtio-net: Fix receive buffer size calculation text")
+Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/216}
+Link: \url{https://lore.kernel.org/r/20250207-v1-4-topic-virtio-net-receive-buffer-fix-v1-1-efcef167d6bc@pengutronix.de}
+
+ } \\
+\hline
+a9b942e & 10 Mar 2025 & Parav Pandit & { virtio-net: Rename selectors_limit to classifiers_limit
+
+
+A classifier object consists of one or more selectors. The number of
+selectors per classifier object is already annotated in the field
+selectors_per_classifier_limit.
+
+The field selectors_limit is intended to reflect the limit of
+classifier objects. Hence, rename it to classifiers_limit.
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/215}
+Fixes: 3b7b7371dbed ("virtio-net: Add flow filter device and driver requirements")
+Fixes: 899bb0ca24d8 ("virtio-net: Add flow filter capability")
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250215061158.21053-1-parav@nvidia.com}
+
+ } \\
+\hline
+4c73a70 & 10 Apr 2025 & Parav Pandit & { conformance: Add missing virtqueue reset conformance references
+
+
+Add the missing references to the virtqueue reset related conformance
+requirements.
+
+(cherry picked from commit 925b42e3f72fdd113a5e4cc219b739c2c74dba23)
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+[CH: pushed as an editorial change]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-2-mvaralar@redhat.com}
+
+ } \\
+\hline
+82b4313 & 10 Apr 2025 & Parav Pandit & { packed-ring: Change host,guest to device,driver
+
+
+Rest of the packed ring description already uses the device
+and driver terminology. Change the introductory line as well from
+host and guest to device and driver respectively.
+
+(cherry picked from commit 68d5cc4fe4081a49235885005647b095b7965c0b)
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+[CH: pushed as an editorial update]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-3-mvaralar@redhat.com}
+
+ } \\
+\hline
+32a7417 & 10 Apr 2025 & Parav Pandit & { description: Avoid splitting the word virtqueue
+
+
+Don't split the word virtqueue.
+
+(cherry picked from commit 4cb03b12dc951f0152cd2cd9c79b24492e174e43)
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+[CH: applied as editorial]
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-4-mvaralar@redhat.com}
+
+ } \\
+\hline
+36e9060 & 10 Apr 2025 & Haixu Cui & { content: Rename SPI master to SPI controller
+
+
+SPI master is an outdated term and should use SPI controller.
+
+(cherry picked from commit bb11bf9b25cc86c6ff02bf9f243da55b0d383a32)
+
+Signed-off-by: Haixu Cui <quic_haixcui@quicinc.com>
+Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-5-mvaralar@redhat.com}
+
+ } \\
+\hline
+8297084 & 10 Apr 2025 & Parav Pandit & { virtio-blk: Fix data type of num_queues field
+
+
+Correct the endianness of num_queues field to be little endian.
+
+(cherry picked from commit 18e47c01207b2983a7dfd1e2c7de1bdc408d391a)
+
+Suggested-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+Message-Id: <20240521122119.2004071-1-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-6-mvaralar@redhat.com}
+
+ } \\
+\hline
+a22cd3e & 10 Apr 2025 & Parav Pandit & { virtio-net: Fix receive buffer size calculation text
+
+
+Receive buffer size calculation is based on the following
+negotiated features.
+
+The text has wrong calculation for IPv6 and also it has missed
+VIRTIO_NET_F_HASH_REPORT.
+
+The problem of igorance of VIRTIO_NET_F_HASH_REPORT is reported
+in [1], however fix for ipv6 payload length must also be
+considered.
+
+Since for the both the fixes touching same requirements, a
+new issue is created as [2].
+
+This patch brings following fixes.
+
+1. Fix annotating struct virtio_net_hdr as field
+2. Fix receive buffer calculation for guest GSO cases to consider
+   ipv6 payload length
+3. small grammar corrections for article
+4. reword the requirement to consider the virtio_ndr_hdr which is
+   depends on the negotiated feature, hence first clarify the
+   struct virtio_net_hdr size
+
+[1] \url{https://github.com/oasis-tcs/virtio-spec/issues/170}
+[2] \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+
+(cherry picked from commit 00806815385340dd411cc67df3f6837935bb5e26)
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/170}
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-2-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-7-mvaralar@redhat.com}
+
+ } \\
+\hline
+25d8101 & 10 Apr 2025 & Parav Pandit & { virtio-net: Clarify the size of the struct virtio_net_hdr for tx
+
+
+The feature VIRTIO_NET_F_HASH_REPORT only applies to the receive side.
+However, when VIRTIO_NET_F_HASH_REPORT feature was introduced, it was
+not clarified that the size of the struct virtio_net_hdr on the packet
+transmission also uses higher size when VIRTIO_NET_F_HASH_REPORT is
+negotiated.
+
+Explicitly clarify this.
+
+(cherry picked from commit bf0fdf8ba828b694a22c44d45cb3fd34cf813e99)
+
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/183}
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-3-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-8-mvaralar@redhat.com}
+
+ } \\
+\hline
+fb926ab & 10 Apr 2025 & Parav Pandit & { virtio-net: Annotate virtio_net_hdr as field
+
+
+At several places struct virtio_net_hdr missed out the field
+annotation. Add it.
+
+(cherry picked from commit 6abd42fd2398718ff689dc51fa93d38ede97be8f)
+
+Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Message-Id: <20240606102014.2103986-4-parav@nvidia.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-9-mvaralar@redhat.com}
+
+ } \\
+\hline
+b16f382 & 10 Apr 2025 & Martin Kröning & { virtio_pci_cap64: specify offset_hi, length_hi endianness
+
+
+While the capability introduction says "This virtio structure capability uses little-endian format,"
+it might be preferrable to be explicit about the endianness of offset_hi and length_hi.
+
+(cherry picked from commit 9b3129fe72360a78e76b6dd890d3abc5a45fa915)
+
+Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/196}
+Message-Id: <DF89BB0F-6BA4-4DAB-AEC3-03AAF858EC8E@eonerc.rwth-aachen.de>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-10-mvaralar@redhat.com}
+
+ } \\
+\hline
+376348f & 10 Apr 2025 & Parav Pandit & { gpu: editorial: Fix spelling errors
+
+
+Fix spelling errors.
+
+(cherry picked from commit ec1845bd5a0261a65e29137f949ba03bf2fb44e2)
+
+Branch: virtio-1.4
+Fixes: fed64230bf31 ("Add virtio gpu device specification.")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/205}
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/20240916030835.68178-5-parav@nvidia.com}
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-11-mvaralar@redhat.com}
+
+ } \\
+\hline
+12289b0 & 10 Apr 2025 & Paolo Abeni & { virtio-net: clarify NEEDS_CSUM semantic for GSO packats.
+
+
+The current wording is a bit unclear hinting to possible additional
+nested headers. For GSO packets virtio net (currently) supports
+offload for the checksum of single transport header, explicitly state
+that in both the driver and device sections.
+
+(cherry picked from commit 8e443f483843c3d42a4128778f1c7548a02c48bf)
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/81034d9f4b12f7bd7aa6f7f5266cb6d551d0823c.1732699986.git.pabeni@redhat.com}
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-12-mvaralar@redhat.com}
+
+ } \\
+\hline
+d3c2f14 & 10 Apr 2025 & Paolo Abeni & { virtio-net: clarify DATA_VALID semantic for encap protos.
+
+
+DATA_VALID allows offloading a single checksum level, leaving
+unspecified which header checksum is offloaded when one or more
+encapsulated protocols are present.
+
+In such a case, the only option usable from the guest OS is
+offloading the outermost checksum. That also matches the existing
+implementation.
+
+Explicitly state such the constraint, to remove any ambiguity and
+make later changes more straightforward.
+
+(cherry picked from commit 95c085b2f16de4bcdcae9c42d7828d9b8efc7836)
+
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Link: \url{https://lore.kernel.org/r/ec6fdbfba2c4fc1969d83799836ebb694a01fb30.1732699986.git.pabeni@redhat.com}
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-13-mvaralar@redhat.com}
+
+ } \\
+\hline
+16718cb & 10 Apr 2025 & Steffen Trumtrar & { virtio-net: Fix receive buffer size typo
+
+
+The commit 00806815385340dd411cc67df3f6837935bb5e26 introduced a slight
+typo in the struct virtio_net_hdr size calculation depending on
+VIRTIO_NET_F_HASH_REPORT negotiation.
+
+Without VIRTIO_NET_F_HASH_REPORT the struct is smaller than with the
+feature. This mix up only occurs in one instance; sizes are correct in
+all other occurences.
+
+Fix this typo.
+
+(cherry picked from commit 124fcd0e97f209aab19639e7369116d99ede22a2)
+
+Fixes: 008068153853 ("virtio-net: Fix receive buffer size calculation text")
+Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Acked-by: Michael S. Tsirkin <mst@redhat.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/216}
+Link: \url{https://lore.kernel.org/r/20250207-v1-4-topic-virtio-net-receive-buffer-fix-v1-1-efcef167d6bc@pengutronix.de}
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250401133543.801184-14-mvaralar@redhat.com}
+
+ } \\
+\hline
+8d76f64 & 20 May 2025 & Kommula Shiva Shankar & { virtio-net: Introduce a new field to indicate outer network header offset
+
+
+This patch introduces a new field in the virtio_net_hdr called outer_nh_offset, along with a new net device feature, VIRTIO_NET_F_OUT_NET_HEADER.
+
+Currently, drivers lack a dedicated field to signal the start of the network header to the device when performing checksum offload
+and segmentation offload. This requires the device to read the packet in data path, which significantly affects performance.
+Additionally, some hardware implementations require knowledge of the outer L3 offset (aka L2 length) for inline IPsec hardware acceleration.
+
+To address this limitation, we propose to introduce a new field in the virtio_net_hdr called
+outer_nh_offset.
+
+The outer_nh_offset represents the start byte offset of the outer network header from the beginning of the packet.
+
+This issue was briefly discussed on the mailing list in a different thread, which can be found here.
+\url{https://lore.kernel.org/all/DM4PR18MB4269FAAC3CFC7E57E25DFBD2DF8B2@DM4PR18MB4269.namprd18.prod.outlook.com/}
+
+v4->v5
+ - Added padding bytes to virtio_net_hdr to ensure 64b alignment
+ - Addressed pending review comments
+v4:\url{https://lore.kernel.org/virtio-comment/20250304075955.208450-1-kshankar@marvell.com/}
+
+v3 -> v4
+ - Removed the union of new flag with existing flags. Added as a separate field
+   in the virtio net header
+ - Renamed out_nh_offset to outer_nh_offset to maintain consistency with other fields
+ - Spellchecks in commit message description
+v3:\url{https://lore.kernel.org/all/20250217172509.107212-1-kshankar@marvell.com}
+
+v2 -> v3:
+ - Rebase to virtio-1.4
+ - Addressed pending review comments related to wording.
+v2:\url{https://lore.kernel.org/all/20250128142152.3662988-1-kshankar@marvell.com/}
+
+v1 -> v2:
+ - explicitly state that the out_nh_offset can be set only when a valid network header is present.
+ - updated out_nh_offset usage in the RX direction.
+ - minor word cleanup.
+v1: \url{https://lore.kernel.org/virtio-comment/20250114171636.3175670-1-kshankar@marvell.com/}
+
+Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/222}
+Link: \url{https://lore.kernel.org/r/20250401195655.486230-1-kshankar@marvell.com}
+
+ } \\
+\hline
+fa12149 & 20 May 2025 & Aiswarya Cyriac & { Reserve device ID 49 for Virtio USB controller device
+
+
+Virtio USB controller device is a dual role device, which
+can function as a USB host controller or a USB device
+controller or support both roles. Additionally, device provides
+support for switching of roles between USB host and device.
+
+Signed-off-by: Aiswarya Cyriac <quic_acyriac@quicinc.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/211}
+Link: \url{https://lore.kernel.org/r/20241129111325.952-1-quic_acyriac@quicinc.com}
+
+ } \\
+\hline
+c7553a7 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add IPsec service operation and Capabilities
+
+
+This commit introduces the IPsec service operation to the Crypto
+device, enabling offloading of IPsec processing.
+
+Capabilities:
+
+1. IPsec Resource Capability (VIRTIO_CRYPTO_IPSEC_RESOURCE_CAP):
+   Indicates the device's IPsec resource limits, such as the number of
+   outbound and inbound Security Associations (SAs).
+2. IPsec SA Capability (VIRTIO_CRYPTO_IPSEC_SA_CAP): Specifies the
+   supported IPsec modes, along with the supported cryptographic
+   algorithms, authentication algorithms, IPsec options and
+   anti-replay window size.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226}
+Link: \url{https://lore.kernel.org/r/20250429131953.1949757-2-schalla@marvell.com}
+
+ } \\
+\hline
+9d2cf8d & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add resource objects for IPsec outbound and inbound SAs
+
+
+This commit introduces resource objects to enable the driver/device to
+create IPsec Security Associations (SAs) for both inbound and outbound
+directions.
+
+The IPsec SA objects include essential parameters required for packet
+outbound and inbound processing, such as SPI, tunnel headers, IPsec mode,
+IPsec options and cipher/authentication specific data.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226}
+Link: \url{https://lore.kernel.org/r/20250429131953.1949757-3-schalla@marvell.com}
+
+ } \\
+\hline
+4e0baa8 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add new IPsec opcodes to data request
+
+
+Adds new IPsec opcodes, VIRTIO_CRYPTO_IPSEC_OUTBOUND and
+VIRTIO_CRYPTO_IPSEC_INBOUND and defines opcode specific
+data structures for IPsec data processing.
+
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226}
+Link: \url{https://lore.kernel.org/r/20250429131953.1949757-4-schalla@marvell.com}
+
+ } \\
+\hline
+dac8e79 & 04 Jun 2025 & Srujana Challa & { virtio-crypto: Add device and driver requirements for IPsec operation
+
+
+Add device and driver requirements for IPsec Operation.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/226}
+Link: \url{https://lore.kernel.org/r/20250429131953.1949757-5-schalla@marvell.com}
+
+ } \\
+\hline
+45809a3 & 04 Jun 2025 & Srujana Challa & { virtio-net: Add IPsec operation, capabilities and resource objects
+
+
+This commit introduces the IPsec Operation to the Net device
+along with the capabilities and resource objects. This enables
+the offloading of IPsec processing, both before transmission
+and after reception, thereby providing inline offload
+capabilities.
+
+Capbilities:
+
+1. IPsec Resource Capability (VIRTIO_CRYPTO_IPSEC_RESOURCE_CAP):
+   Indicates the device's IPsec resource limits, such as the number of
+   encryption and decryption Security Associations (SAs).
+2. IPsec SA Capability (VIRTIO_CRYPTO_IPSEC_SA_CAP): Specifies the
+   supported IPsec modes, along with the supported cryptographic
+   algorithms, authentication algorithms, IPsec options and
+   anti-replay window size.
+
+Resource objects:
+1. VIRTIO_NET_RESOURCE_OBJ_IPSEC_OUTB_SA
+2. VIRTIO_NET_RESOURCE_OBJ_IPSEC_INB_SA
+
+These IPsec SA resource objects encompass parameters necessary
+for packet encryption and decryption. These include the SPI,
+tunnel headers, IPsec mode, IPsec options, and metadata specific
+to cipher and authentication.
+
+This patch refers the Virtio-crypto IPsec service operation
+capabilities and resource objects data structures and crypto algorithm
+definitions to avoid duplication, however the admin command type vaule
+differs between Virtio-crypto and Virtio-net.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227}
+Link: \url{https://lore.kernel.org/r/20250520121924.2169258-2-schalla@marvell.com}
+
+ } \\
+\hline
+a9604fa & 04 Jun 2025 & Srujana Challa & { virtio-net: Add new flow filter selector and action for IPsec
+
+
+This update introduces a new flow filter selector to match
+the ESP header and adds a new flow filter action for IPsec
+processing.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227}
+Link: \url{https://lore.kernel.org/r/20250520121924.2169258-3-schalla@marvell.com}
+
+ } \\
+\hline
+fd15f89 & 04 Jun 2025 & Srujana Challa & { virtio-net: extend virtio_net_hdr for IPsec support
+
+
+Add IPsec resource object identifiers to the virtio_net_hdr for
+identifying encryption/decryption operations on tx and rx side
+respectively, along with flags.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227}
+Link: \url{https://lore.kernel.org/r/20250520121924.2169258-4-schalla@marvell.com}
+
+ } \\
+\hline
+a0b809a & 04 Jun 2025 & Srujana Challa & { virtio-net: Add IPsec operation device and driver requirements
+
+
+Add device and driver requirements for IPsec Operation.
+
+Signed-off-by: Srujana Challa <schalla@marvell.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/227}
+Link: \url{https://lore.kernel.org/r/20250520121924.2169258-5-schalla@marvell.com}
+
+ } \\
+\hline
+c5e5810 & 09 Jul 2025 & Albert Esteve & { virtio-media: Add virtio media device specification
+
+
+Virtio-media is an encapsulation of the V4L2 UAPI into
+virtio, able to virtualize any video device supported
+by V4L2.
+
+Note that virtio-media does not require the use of a
+V4L2 device driver on the host or guest side -
+V4L2 is only used as a host-guest protocol,
+and both sides are free to convert it from/to any
+model that they wish to use.
+
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Reviewed-by: Alexandre Courbot <gnurou@gmail.com>
+Signed-off-by: Albert Esteve <aesteve@redhat.com>
+
+ } \\
+\hline
+340d076 & 15 Jul 2025 & Zhu Lingshan & { virtio: re-order device status bits
+
+
+This commit re-arranges the device status bits,
+to list them in ascending order.
+
+Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229}
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250704101739.354522-2-lingshan.zhu@amd.com}
+
+ } \\
+\hline
+b1d6ef6 & 15 Jul 2025 & Zhu Lingshan & { virtio: document feature bit 42
+
+
+This commit documents feture bit 42
+VIRTIO_NET_F_GUEST_RSC6
+
+Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: 94384142 ("content: Declare virtio-net legacy feature bits 41-42")
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229}
+Reviewed-by: Jason Wang <jasowang@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250704101739.354522-3-lingshan.zhu@amd.com}
+
+ } \\
+\hline
+f219fef & 15 Jul 2025 & Zhu Lingshan & { virtio: introduce SUSPEND and RESUME feature
+
+
+This commit allows the driver to suspend the
+device through a new device status bit SUSPEND
+and resume the device running by re-setting
+DRIVER_OK bit in device status.
+
+Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com>
+Signed-off-by: Jason Wang <jasowang@redhat.com>
+Reviewed-by: Parav Pandit <parav@nvidia.com>
+Fixes: \url{https://github.com/oasis-tcs/virtio-spec/issues/229}
+Link: \url{https://lore.kernel.org/r/20250704101739.354522-4-lingshan.zhu@amd.com}
+
+ } \\
+\hline
+6275e11 & 15 Jul 2025 & Parav Pandit & { virtio-net: Fix ipsec broken conformance links
+
+
+Fix the broken conformance links for ipsec device and driver
+requirements.
+
+Fixes: a0b809a7ddbd ("virtio-net: Add IPsec operation device and driver requirements")
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+Reviewed-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250709140049.507870-1-parav@nvidia.com}
+
+ } \\
+\hline
+65645f2 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add initial device specification
+
+
+The virtio-rtc device provides information about current time through
+one or more clocks. As such, it is a Real-Time Clock (RTC) device.
+
+The normative statements for this device follow in the next patch.
+
+For this device, there is a Linux kernel driver patch series which is
+being upstreamed, and a proprietary device implementation.
+
+Miscellaneous
+
+-------------
+
+The spec does not specify how a driver should interpret clock readings,
+esp. also not how to perform clock synchronization.
+
+The device uses the former "Timer/Clock" device id which is already part
+of the specification. This device id was registered a long time ago and
+should be unused according to the author's information. The name "RTC"
+was determined to be the best for a device which focuses on current
+time.
+
+Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
+Link: \url{https://lore.kernel.org/r/20250710090648.1711-3-quic_philber@quicinc.com}
+
+ } \\
+\hline
+f111987 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add initial normative statements
+
+
+Add the normative statements for the initial device specification.
+
+Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
+Link: \url{https://lore.kernel.org/r/20250710090648.1711-4-quic_philber@quicinc.com}
+
+ } \\
+\hline
+0a6a441 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add alarm feature
+
+
+Add the VIRTIO_RTC_F_ALARM feature (without normative statements).
+
+The intended use case is: A driver needs to react when an alarm time has
+been reached, but at alarm time, the driver may be in a sleep state or
+powered off. The alarm feature can resume and notify the driver in this
+case. Alarms may be retained across device resets.
+
+Peculiarities
+
+-------------
+
+Unlike usual alarm clocks, a virtio-rtc alarm-capable clock may step
+autonomously at any time: An alarm may change back from "expired" to
+"not expired" before the driver has started processing an alarm
+notification.
+
+To address the above, and the device resets, define "alarm expiration"
+in such a way that the driver always has a chance to react to an alarm,
+and make the device always responsible for notifying the driver about an
+alarm expiration.
+
+The VIRTIO_RTC_REQ_SET_ALARM_ENABLED request is there so that the Linux
+ioctls RTC_AIE_ON and RTC_AIE_OFF only need to emit one request.
+
+Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
+Link: \url{https://lore.kernel.org/r/20250710090648.1711-5-quic_philber@quicinc.com}
+
+ } \\
+\hline
+f978e07 & 22 Sep 2025 & Peter Hilber & { virtio-rtc: Add normative statements for alarm feature
+
+
+Add the normative statements for the alarm feature added previously.
+
+Signed-off-by: Peter Hilber <quic_philber@quicinc.com>
+Link: \url{https://lore.kernel.org/r/20250710090648.1711-6-quic_philber@quicinc.com}
+
+ } \\
+\hline
+928d969 & 23 Sep 2025 & Matias Ezequiel Vara Larsen & { git-publish: add profile
+
+
+Add git-publish profile and document how to use it.
+
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
+Reviewed-by: Albert Esteve <aesteve@redhat.com>
+Acked-by: Cornelia Huck <cohuck@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250305164546.1484029-1-mvaralar@redhat.com}
+
+ } \\
+\hline
+d9742cb & 26 Sep 2025 & Matias Ezequiel Vara Larsen & { README.md: add example email for TC vote request
+
+
+Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
+Link: \url{https://lore.kernel.org/r/20250320114326.2075821-1-mvaralar@redhat.com}
+
+ } \\
+\hline
+63aaa4b & 13 Oct 2025 & Parav Pandit & { Merge branch 'virtio-1.4'
+
+
+Resolved conflict in net device description.
+
+Signed-off-by: Parav Pandit <parav@nvidia.com>
+
+ } \\
+\hline
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/4] edit: Remove annotation of special character
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
  2025-10-27 17:47 ` [PATCH 1/4] edit: remove old changelog Parav Pandit
  2025-10-27 17:47 ` [PATCH 2/4] edit: add changelog for 1.4 Parav Pandit
@ 2025-10-27 17:47 ` Parav Pandit
  2025-10-27 17:47 ` [PATCH 4/4] REVISION: update to 1.4 Parav Pandit
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 17:47 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar; +Cc: shahafs, Parav Pandit

PDF generation parsing complains when special character
annotation is listed in it. Remove such annotation in changelog.

Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 cl-os.tex | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/cl-os.tex b/cl-os.tex
index c5100f7..388a0ed 100644
--- a/cl-os.tex
+++ b/cl-os.tex
@@ -923,13 +923,6 @@
 we started using implies that fixups are picked up
 instead of the commit.
 
-For now, just switch to using regexp (dropping -F)
-and add "^" in front to only look for the string at
-beginning of the line.
-
-We'll worry about more elaborate logic later, if it's ever
-needed.
-
 Message-Id: <1130700f4ae71a93d9887af35cf105731219f057.1721062136.git.mst@redhat.com>
 Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/4] REVISION: update to 1.4
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
                   ` (2 preceding siblings ...)
  2025-10-27 17:47 ` [PATCH 3/4] edit: Remove annotation of special character Parav Pandit
@ 2025-10-27 17:47 ` Parav Pandit
  2025-10-27 17:56 ` [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Michael S. Tsirkin
  2025-10-27 18:05 ` Michael S. Tsirkin
  5 siblings, 0 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 17:47 UTC (permalink / raw)
  To: virtio-comment, mst, cohuck, mvaralar; +Cc: shahafs, Parav Pandit

Update the revision to 1.4 working draft and date.

Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 REVISION      | 2 +-
 REVISION-DATE | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/REVISION b/REVISION
index ba56baf..e3c043e 100644
--- a/REVISION
+++ b/REVISION
@@ -1 +1 @@
-virtio-v1.3-csd01
+virtio-v1.4-wd01
diff --git a/REVISION-DATE b/REVISION-DATE
index d149b6e..bad33a6 100644
--- a/REVISION-DATE
+++ b/REVISION-DATE
@@ -1 +1 @@
-06 October 2023
+27 October 2025
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
                   ` (3 preceding siblings ...)
  2025-10-27 17:47 ` [PATCH 4/4] REVISION: update to 1.4 Parav Pandit
@ 2025-10-27 17:56 ` Michael S. Tsirkin
  2025-10-27 18:04   ` Parav Pandit
  2025-10-27 18:05 ` Michael S. Tsirkin
  5 siblings, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-10-27 17:56 UTC (permalink / raw)
  To: Parav Pandit; +Cc: virtio-comment, cohuck, mvaralar, shahafs

On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> Hi All,
> 
> This short series prepares the specification for release 1.4 version
> from the master branch.


I noticed you updated latexdiff module - intentional?

> note:
> makediffpdf.sh still have fails and needs resolution. WIP.
> 
> Parav Pandit (4):
>   edit: remove old changelog
>   edit: add changelog for 1.4
>   edit: Remove annotation of special character
>   REVISION: update to 1.4
> 
>  REVISION      |    2 +-
>  REVISION-DATE |    2 +-
>  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
>  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
>  4 files changed, 3407 insertions(+), 1322 deletions(-)
>  create mode 100644 cl-cs05.tex
> 
> -- 
> 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 17:56 ` [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Michael S. Tsirkin
@ 2025-10-27 18:04   ` Parav Pandit
  2025-10-27 18:06     ` Michael S. Tsirkin
  2025-10-27 18:08     ` Michael S. Tsirkin
  0 siblings, 2 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-27 18:04 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler



> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: 27 October 2025 11:27 PM
> 
> On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > Hi All,
> >
> > This short series prepares the specification for release 1.4 version
> > from the master branch.
> 
> 
> I noticed you updated latexdiff module - intentional?
>
I didn't. :( 
Latexdiff is able to generate the necessary diff without my changelog patches.
Below is the version I am using for last sometime.

latexdiff --version
This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
  (c) 2004-2018 F J Tilmann

 
> > note:
> > makediffpdf.sh still have fails and needs resolution. WIP.
> >
> > Parav Pandit (4):
> >   edit: remove old changelog
> >   edit: add changelog for 1.4
> >   edit: Remove annotation of special character
> >   REVISION: update to 1.4
> >
> >  REVISION      |    2 +-
> >  REVISION-DATE |    2 +-
> >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create mode
> > 100644 cl-cs05.tex
> >
> > --
> > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
                   ` (4 preceding siblings ...)
  2025-10-27 17:56 ` [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Michael S. Tsirkin
@ 2025-10-27 18:05 ` Michael S. Tsirkin
  5 siblings, 0 replies; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-10-27 18:05 UTC (permalink / raw)
  To: Parav Pandit; +Cc: virtio-comment, cohuck, mvaralar, shahafs

On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> Hi All,
> 
> This short series prepares the specification for release 1.4 version
> from the master branch.
> 
> note:
> makediffpdf.sh still have fails and needs resolution. WIP.

works for me. try blowing out latexdiff directory.
checkout out latest version of latexdiff might help,
too.


> Parav Pandit (4):
>   edit: remove old changelog
>   edit: add changelog for 1.4
>   edit: Remove annotation of special character
>   REVISION: update to 1.4
> 
>  REVISION      |    2 +-
>  REVISION-DATE |    2 +-
>  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
>  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
>  4 files changed, 3407 insertions(+), 1322 deletions(-)
>  create mode 100644 cl-cs05.tex
> 
> -- 
> 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 18:04   ` Parav Pandit
@ 2025-10-27 18:06     ` Michael S. Tsirkin
  2025-10-30 10:57       ` Parav Pandit
  2025-10-27 18:08     ` Michael S. Tsirkin
  1 sibling, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-10-27 18:06 UTC (permalink / raw)
  To: Parav Pandit
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler

On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: 27 October 2025 11:27 PM
> > 
> > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > Hi All,
> > >
> > > This short series prepares the specification for release 1.4 version
> > > from the master branch.
> > 
> > 
> > I noticed you updated latexdiff module - intentional?
> >
> I didn't. :( 
> Latexdiff is able to generate the necessary diff without my changelog patches.
> Below is the version I am using for last sometime.
> 
> latexdiff --version
> This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
>   (c) 2004-2018 F J Tilmann
> 

changelog is not supposed to affect diff at all.

Also I think we need to have changelog 1.2 to 1.3 preserved
for now (separately).
I do not see it there.

> > > note:
> > > makediffpdf.sh still have fails and needs resolution. WIP.
> > >
> > > Parav Pandit (4):
> > >   edit: remove old changelog
> > >   edit: add changelog for 1.4
> > >   edit: Remove annotation of special character
> > >   REVISION: update to 1.4
> > >
> > >  REVISION      |    2 +-
> > >  REVISION-DATE |    2 +-
> > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create mode
> > > 100644 cl-cs05.tex
> > >
> > > --
> > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 18:04   ` Parav Pandit
  2025-10-27 18:06     ` Michael S. Tsirkin
@ 2025-10-27 18:08     ` Michael S. Tsirkin
  2025-10-30 10:54       ` Parav Pandit
  1 sibling, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-10-27 18:08 UTC (permalink / raw)
  To: Parav Pandit
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler

On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: 27 October 2025 11:27 PM
> > 
> > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > Hi All,
> > >
> > > This short series prepares the specification for release 1.4 version
> > > from the master branch.
> > 
> > 
> > I noticed you updated latexdiff module - intentional?
> >
> I didn't. :( 
> Latexdiff is able to generate the necessary diff without my changelog patches.

we have this so it should not be in the diff

\begin{DIFnomarkup}
\begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} | p{0.1\textwidth} | p{0.70\textwidth} | }
\hline
\textbf{Revision} & \textbf{Date} & \textbf{Editor} & \textbf{Changes Made} \\
\hline
\endhead
%\lbrack Rev number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By \rbrack & \lbrack Summary of Changes \rbrack \\
%\hline
\input{cl-os.tex}
& & \\
\hline
\end{longtable}
\end{DIFnomarkup}



> Below is the version I am using for last sometime.
> 
> latexdiff --version
> This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
>   (c) 2004-2018 F J Tilmann
> 
>  
> > > note:
> > > makediffpdf.sh still have fails and needs resolution. WIP.
> > >
> > > Parav Pandit (4):
> > >   edit: remove old changelog
> > >   edit: add changelog for 1.4
> > >   edit: Remove annotation of special character
> > >   REVISION: update to 1.4
> > >
> > >  REVISION      |    2 +-
> > >  REVISION-DATE |    2 +-
> > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create mode
> > > 100644 cl-cs05.tex
> > >
> > > --
> > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 18:08     ` Michael S. Tsirkin
@ 2025-10-30 10:54       ` Parav Pandit
  2025-10-30 10:59         ` Michael S. Tsirkin
  0 siblings, 1 reply; 16+ messages in thread
From: Parav Pandit @ 2025-10-30 10:54 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler



> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: 27 October 2025 11:38 PM
> 
> On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> >
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: 27 October 2025 11:27 PM
> > >
> > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > Hi All,
> > > >
> > > > This short series prepares the specification for release 1.4
> > > > version from the master branch.
> > >
> > >
> > > I noticed you updated latexdiff module - intentional?
> > >
> > I didn't. :(
> > Latexdiff is able to generate the necessary diff without my changelog
> patches.
> 
> we have this so it should not be in the diff
> 
> \begin{DIFnomarkup}
> \begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} | p{0.1\textwidth}
> | p{0.70\textwidth} | } \hline \textbf{Revision} & \textbf{Date} &
> \textbf{Editor} & \textbf{Changes Made} \\ \hline \endhead %\lbrack Rev
> number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By \rbrack &
> \lbrack Summary of Changes \rbrack \\ %\hline \input{cl-os.tex} & & \\ \hline
> \end{longtable} \end{DIFnomarkup}
>
Its puzzling. Because when I bisect, after removing the changelog related patches, makediffpdf.sh progresses fine.

The error likely seems be the 'overfull' part below.

Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450 \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing \TU/lmss/m /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED, VIRTIO_-RTC_-SMEAR_-

Couldn't try latest latextdiff yet.

 
> 
> 
> > Below is the version I am using for last sometime.
> >
> > latexdiff --version
> > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> >   (c) 2004-2018 F J Tilmann
> >
> >
> > > > note:
> > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > >
> > > > Parav Pandit (4):
> > > >   edit: remove old changelog
> > > >   edit: add changelog for 1.4
> > > >   edit: Remove annotation of special character
> > > >   REVISION: update to 1.4
> > > >
> > > >  REVISION      |    2 +-
> > > >  REVISION-DATE |    2 +-
> > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create
> > > > mode
> > > > 100644 cl-cs05.tex
> > > >
> > > > --
> > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-27 18:06     ` Michael S. Tsirkin
@ 2025-10-30 10:57       ` Parav Pandit
  0 siblings, 0 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-30 10:57 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler


> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: 27 October 2025 11:37 PM
> 
> On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> >
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: 27 October 2025 11:27 PM
> > >
> > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > Hi All,
> > > >
> > > > This short series prepares the specification for release 1.4
> > > > version from the master branch.
> > >
> > >
> > > I noticed you updated latexdiff module - intentional?
> > >
> > I didn't. :(
> > Latexdiff is able to generate the necessary diff without my changelog
> patches.
> > Below is the version I am using for last sometime.
> >
> > latexdiff --version
> > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> >   (c) 2004-2018 F J Tilmann
> >
> 
> changelog is not supposed to affect diff at all.
> 
> Also I think we need to have changelog 1.2 to 1.3 preserved for now
> (separately).
> I do not see it there.
>
Ok. I added cl-cs_1_3_to_1_2.tex to v1.
 
> > > > note:
> > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > >
> > > > Parav Pandit (4):
> > > >   edit: remove old changelog
> > > >   edit: add changelog for 1.4
> > > >   edit: Remove annotation of special character
> > > >   REVISION: update to 1.4
> > > >
> > > >  REVISION      |    2 +-
> > > >  REVISION-DATE |    2 +-
> > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create
> > > > mode
> > > > 100644 cl-cs05.tex
> > > >
> > > > --
> > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-30 10:54       ` Parav Pandit
@ 2025-10-30 10:59         ` Michael S. Tsirkin
  2025-10-30 15:15           ` Parav Pandit
  0 siblings, 1 reply; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-10-30 10:59 UTC (permalink / raw)
  To: Parav Pandit
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler

On Thu, Oct 30, 2025 at 10:54:53AM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: 27 October 2025 11:38 PM
> > 
> > On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> > >
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: 27 October 2025 11:27 PM
> > > >
> > > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > > Hi All,
> > > > >
> > > > > This short series prepares the specification for release 1.4
> > > > > version from the master branch.
> > > >
> > > >
> > > > I noticed you updated latexdiff module - intentional?
> > > >
> > > I didn't. :(
> > > Latexdiff is able to generate the necessary diff without my changelog
> > patches.
> > 
> > we have this so it should not be in the diff
> > 
> > \begin{DIFnomarkup}
> > \begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} | p{0.1\textwidth}
> > | p{0.70\textwidth} | } \hline \textbf{Revision} & \textbf{Date} &
> > \textbf{Editor} & \textbf{Changes Made} \\ \hline \endhead %\lbrack Rev
> > number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By \rbrack &
> > \lbrack Summary of Changes \rbrack \\ %\hline \input{cl-os.tex} & & \\ \hline
> > \end{longtable} \end{DIFnomarkup}
> >
> Its puzzling. Because when I bisect, after removing the changelog related patches, makediffpdf.sh progresses fine.
> 
> The error likely seems be the 'overfull' part below.
> 
> Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450 \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing \TU/lmss/m /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED, VIRTIO_-RTC_-SMEAR_-
> 
> Couldn't try latest latextdiff yet.


play with the generated diff. it's quite readable.

>  
> > 
> > 
> > > Below is the version I am using for last sometime.
> > >
> > > latexdiff --version
> > > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> > >   (c) 2004-2018 F J Tilmann
> > >
> > >
> > > > > note:
> > > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > > >
> > > > > Parav Pandit (4):
> > > > >   edit: remove old changelog
> > > > >   edit: add changelog for 1.4
> > > > >   edit: Remove annotation of special character
> > > > >   REVISION: update to 1.4
> > > > >
> > > > >  REVISION      |    2 +-
> > > > >  REVISION-DATE |    2 +-
> > > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)  create
> > > > > mode
> > > > > 100644 cl-cs05.tex
> > > > >
> > > > > --
> > > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-30 10:59         ` Michael S. Tsirkin
@ 2025-10-30 15:15           ` Parav Pandit
  2025-11-06 15:42             ` Michael S. Tsirkin
  2025-11-06 15:50             ` Michael S. Tsirkin
  0 siblings, 2 replies; 16+ messages in thread
From: Parav Pandit @ 2025-10-30 15:15 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler



> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: 30 October 2025 04:30 PM
> 
> On Thu, Oct 30, 2025 at 10:54:53AM +0000, Parav Pandit wrote:
> >
> >
> > > From: Michael S. Tsirkin <mst@redhat.com>
> > > Sent: 27 October 2025 11:38 PM
> > >
> > > On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> > > >
> > > >
> > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > Sent: 27 October 2025 11:27 PM
> > > > >
> > > > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > > > Hi All,
> > > > > >
> > > > > > This short series prepares the specification for release 1.4
> > > > > > version from the master branch.
> > > > >
> > > > >
> > > > > I noticed you updated latexdiff module - intentional?
> > > > >
> > > > I didn't. :(
> > > > Latexdiff is able to generate the necessary diff without my
> > > > changelog
> > > patches.
> > >
> > > we have this so it should not be in the diff
> > >
> > > \begin{DIFnomarkup}
> > > \begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} |
> > > p{0.1\textwidth}
> > > | p{0.70\textwidth} | } \hline \textbf{Revision} & \textbf{Date} &
> > > \textbf{Editor} & \textbf{Changes Made} \\ \hline \endhead %\lbrack
> > > Rev number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By
> > > \rbrack & \lbrack Summary of Changes \rbrack \\ %\hline
> > > \input{cl-os.tex} & & \\ \hline \end{longtable} \end{DIFnomarkup}
> > >
> > Its puzzling. Because when I bisect, after removing the changelog related
> patches, makediffpdf.sh progresses fine.
> >
> > The error likely seems be the 'overfull' part below.
> >
> > Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
> > \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing
> > \TU/lmss/m /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED,
> > VIRTIO_-RTC_-SMEAR_-
> >
> > Couldn't try latest latextdiff yet.
> 
> 
> play with the generated diff. it's quite readable.
> 

Ok. My bisection was wrong.
It's the RTC complain.
Latexdiff does not like below line during diff generation.

For VIRTIO_RTC_REQ_CLOCK_CAP, and clock types other than
VIRTIO_RTC_CLOCK_UTC_SMEARED, the device MUST set the
\field{leap_second_smearing} field to VIRTIO_RTC_SMEAR_UNSPECIFIED.

Error:
Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
\TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing \TU/lmss/m
/n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED, VIRTIO_-RTC_-SMEAR_-

This error is similar to the fixes you made in past in below commit.
But this time it is not in the label. It in the usual text itself.
There is so much of similar text like above.

commit 6c2340547951ada46447c973b1d8133165785840
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Mon Jul 15 12:50:05 2024 -0400

    admin: get rid of _ in labels

    it's not the 1st time we find out underscores in labels confuse
    latexdiff machinery when generating html.
    Errors look like this:

    ! Missing \endcsname inserted.
    <to be read again>
                       \unhbox
    ....

    ?
    ! Emergency stop.
    <to be read again>
                       \unhbox

    To fix, convert underscores in labels to dashes.

    Message-Id: <3e773fcfd4246e66e6f39d3be95d2c0335e34532.1721062136.git.mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

> >
> > >
> > >
> > > > Below is the version I am using for last sometime.
> > > >
> > > > latexdiff --version
> > > > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> > > >   (c) 2004-2018 F J Tilmann
> > > >
> > > >
> > > > > > note:
> > > > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > > > >
> > > > > > Parav Pandit (4):
> > > > > >   edit: remove old changelog
> > > > > >   edit: add changelog for 1.4
> > > > > >   edit: Remove annotation of special character
> > > > > >   REVISION: update to 1.4
> > > > > >
> > > > > >  REVISION      |    2 +-
> > > > > >  REVISION-DATE |    2 +-
> > > > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)
> > > > > > create mode
> > > > > > 100644 cl-cs05.tex
> > > > > >
> > > > > > --
> > > > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-30 15:15           ` Parav Pandit
@ 2025-11-06 15:42             ` Michael S. Tsirkin
  2025-11-06 15:50             ` Michael S. Tsirkin
  1 sibling, 0 replies; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-11-06 15:42 UTC (permalink / raw)
  To: Parav Pandit
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler

On Thu, Oct 30, 2025 at 03:15:09PM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: 30 October 2025 04:30 PM
> > 
> > On Thu, Oct 30, 2025 at 10:54:53AM +0000, Parav Pandit wrote:
> > >
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: 27 October 2025 11:38 PM
> > > >
> > > > On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> > > > >
> > > > >
> > > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > > Sent: 27 October 2025 11:27 PM
> > > > > >
> > > > > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > > > > Hi All,
> > > > > > >
> > > > > > > This short series prepares the specification for release 1.4
> > > > > > > version from the master branch.
> > > > > >
> > > > > >
> > > > > > I noticed you updated latexdiff module - intentional?
> > > > > >
> > > > > I didn't. :(
> > > > > Latexdiff is able to generate the necessary diff without my
> > > > > changelog
> > > > patches.
> > > >
> > > > we have this so it should not be in the diff
> > > >
> > > > \begin{DIFnomarkup}
> > > > \begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} |
> > > > p{0.1\textwidth}
> > > > | p{0.70\textwidth} | } \hline \textbf{Revision} & \textbf{Date} &
> > > > \textbf{Editor} & \textbf{Changes Made} \\ \hline \endhead %\lbrack
> > > > Rev number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By
> > > > \rbrack & \lbrack Summary of Changes \rbrack \\ %\hline
> > > > \input{cl-os.tex} & & \\ \hline \end{longtable} \end{DIFnomarkup}
> > > >
> > > Its puzzling. Because when I bisect, after removing the changelog related
> > patches, makediffpdf.sh progresses fine.
> > >
> > > The error likely seems be the 'overfull' part below.
> > >
> > > Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
> > > \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing
> > > \TU/lmss/m /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED,
> > > VIRTIO_-RTC_-SMEAR_-
> > >
> > > Couldn't try latest latextdiff yet.
> > 
> > 
> > play with the generated diff. it's quite readable.
> > 
> 
> Ok. My bisection was wrong.
> It's the RTC complain.
> Latexdiff does not like below line during diff generation.
> 
> For VIRTIO_RTC_REQ_CLOCK_CAP, and clock types other than
> VIRTIO_RTC_CLOCK_UTC_SMEARED, the device MUST set the
> \field{leap_second_smearing} field to VIRTIO_RTC_SMEAR_UNSPECIFIED.


I am guessing it is not latexdiff, but xetex not liking what
latextdiff generated?

So again, look at virtio-diff.tex and see what is in
the generated diff you are trying to compile.
What you pasted here is the original tex.





> Error:
> Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
> \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing \TU/lmss/m
> /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED, VIRTIO_-RTC_-SMEAR_-
> 
> This error is similar to the fixes you made in past in below commit.
> But this time it is not in the label. It in the usual text itself.
> There is so much of similar text like above.
> 
> commit 6c2340547951ada46447c973b1d8133165785840
> Author: Michael S. Tsirkin <mst@redhat.com>
> Date:   Mon Jul 15 12:50:05 2024 -0400
> 
>     admin: get rid of _ in labels
> 
>     it's not the 1st time we find out underscores in labels confuse
>     latexdiff machinery when generating html.
>     Errors look like this:
> 
>     ! Missing \endcsname inserted.
>     <to be read again>
>                        \unhbox
>     ....
> 
>     ?
>     ! Emergency stop.
>     <to be read again>
>                        \unhbox
> 
>     To fix, convert underscores in labels to dashes.
> 
>     Message-Id: <3e773fcfd4246e66e6f39d3be95d2c0335e34532.1721062136.git.mst@redhat.com>
>     Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> > >
> > > >
> > > >
> > > > > Below is the version I am using for last sometime.
> > > > >
> > > > > latexdiff --version
> > > > > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> > > > >   (c) 2004-2018 F J Tilmann
> > > > >
> > > > >
> > > > > > > note:
> > > > > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > > > > >
> > > > > > > Parav Pandit (4):
> > > > > > >   edit: remove old changelog
> > > > > > >   edit: add changelog for 1.4
> > > > > > >   edit: Remove annotation of special character
> > > > > > >   REVISION: update to 1.4
> > > > > > >
> > > > > > >  REVISION      |    2 +-
> > > > > > >  REVISION-DATE |    2 +-
> > > > > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > > > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > > > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)
> > > > > > > create mode
> > > > > > > 100644 cl-cs05.tex
> > > > > > >
> > > > > > > --
> > > > > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release
  2025-10-30 15:15           ` Parav Pandit
  2025-11-06 15:42             ` Michael S. Tsirkin
@ 2025-11-06 15:50             ` Michael S. Tsirkin
  1 sibling, 0 replies; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-11-06 15:50 UTC (permalink / raw)
  To: Parav Pandit
  Cc: virtio-comment@lists.linux.dev, cohuck@redhat.com,
	mvaralar@redhat.com, Shahaf Shuler

On Thu, Oct 30, 2025 at 03:15:09PM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: 30 October 2025 04:30 PM
> > 
> > On Thu, Oct 30, 2025 at 10:54:53AM +0000, Parav Pandit wrote:
> > >
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: 27 October 2025 11:38 PM
> > > >
> > > > On Mon, Oct 27, 2025 at 06:04:22PM +0000, Parav Pandit wrote:
> > > > >
> > > > >
> > > > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > > > Sent: 27 October 2025 11:27 PM
> > > > > >
> > > > > > On Mon, Oct 27, 2025 at 07:47:52PM +0200, Parav Pandit wrote:
> > > > > > > Hi All,
> > > > > > >
> > > > > > > This short series prepares the specification for release 1.4
> > > > > > > version from the master branch.
> > > > > >
> > > > > >
> > > > > > I noticed you updated latexdiff module - intentional?
> > > > > >
> > > > > I didn't. :(
> > > > > Latexdiff is able to generate the necessary diff without my
> > > > > changelog
> > > > patches.
> > > >
> > > > we have this so it should not be in the diff
> > > >
> > > > \begin{DIFnomarkup}
> > > > \begin{longtable}{ | p{0.15\textwidth} | p{0.05\textwidth} |
> > > > p{0.1\textwidth}
> > > > | p{0.70\textwidth} | } \hline \textbf{Revision} & \textbf{Date} &
> > > > \textbf{Editor} & \textbf{Changes Made} \\ \hline \endhead %\lbrack
> > > > Rev number \rbrack & \lbrack Rev Date \rbrack & \lbrack Modified By
> > > > \rbrack & \lbrack Summary of Changes \rbrack \\ %\hline
> > > > \input{cl-os.tex} & & \\ \hline \end{longtable} \end{DIFnomarkup}
> > > >
> > > Its puzzling. Because when I bisect, after removing the changelog related
> > patches, makediffpdf.sh progresses fine.
> > >
> > > The error likely seems be the 'overfull' part below.
> > >
> > > Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
> > > \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing
> > > \TU/lmss/m /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED,
> > > VIRTIO_-RTC_-SMEAR_-
> > >
> > > Couldn't try latest latextdiff yet.
> > 
> > 
> > play with the generated diff. it's quite readable.
> > 
> 
> Ok. My bisection was wrong.
> It's the RTC complain.
> Latexdiff does not like below line during diff generation.
> 
> For VIRTIO_RTC_REQ_CLOCK_CAP, and clock types other than
> VIRTIO_RTC_CLOCK_UTC_SMEARED, the device MUST set the
> \field{leap_second_smearing} field to VIRTIO_RTC_SMEAR_UNSPECIFIED.
> 
> Error:
> Overfull \hbox (1.18391pt too wide) in paragraph at lines 25449--25450
> \TU/lmss/m/n/10 MUST set the \TU/lmss/m/sl/10 leap_-second_-smearing \TU/lmss/m
> /n/10 field to VIRTIO_-RTC_-SMEAR_-UNSPECIFIED, VIRTIO_-RTC_-SMEAR_-
> 
> This error is similar to the fixes you made in past in below commit.
> But this time it is not in the label. It in the usual text itself.
> There is so much of similar text like above.


Oh I misread. overfull box is not an error. Normally it's a warning:
text goes out of the box a little.

The error is something else, this can be ignored for now, unless we
see a layout that is wrong in a major way.

> commit 6c2340547951ada46447c973b1d8133165785840
> Author: Michael S. Tsirkin <mst@redhat.com>
> Date:   Mon Jul 15 12:50:05 2024 -0400
> 
>     admin: get rid of _ in labels
> 
>     it's not the 1st time we find out underscores in labels confuse
>     latexdiff machinery when generating html.
>     Errors look like this:
> 
>     ! Missing \endcsname inserted.
>     <to be read again>
>                        \unhbox
>     ....
> 
>     ?
>     ! Emergency stop.
>     <to be read again>
>                        \unhbox
> 
>     To fix, convert underscores in labels to dashes.
> 
>     Message-Id: <3e773fcfd4246e66e6f39d3be95d2c0335e34532.1721062136.git.mst@redhat.com>
>     Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> > >
> > > >
> > > >
> > > > > Below is the version I am using for last sometime.
> > > > >
> > > > > latexdiff --version
> > > > > This is LATEXDIFF 1.3.1a  (Algorithm::Diff 1.15 fast, Perl v5.34.0)
> > > > >   (c) 2004-2018 F J Tilmann
> > > > >
> > > > >
> > > > > > > note:
> > > > > > > makediffpdf.sh still have fails and needs resolution. WIP.
> > > > > > >
> > > > > > > Parav Pandit (4):
> > > > > > >   edit: remove old changelog
> > > > > > >   edit: add changelog for 1.4
> > > > > > >   edit: Remove annotation of special character
> > > > > > >   REVISION: update to 1.4
> > > > > > >
> > > > > > >  REVISION      |    2 +-
> > > > > > >  REVISION-DATE |    2 +-
> > > > > > >  cl-cs05.tex   | 2120 ++++++++++++++++++++++++++++++++++++++++
> > > > > > >  cl-os.tex     | 2605 ++++++++++++++++++++++++-------------------------
> > > > > > >  4 files changed, 3407 insertions(+), 1322 deletions(-)
> > > > > > > create mode
> > > > > > > 100644 cl-cs05.tex
> > > > > > >
> > > > > > > --
> > > > > > > 2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-11-06 15:50 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-27 17:47 [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Parav Pandit
2025-10-27 17:47 ` [PATCH 1/4] edit: remove old changelog Parav Pandit
2025-10-27 17:47 ` [PATCH 2/4] edit: add changelog for 1.4 Parav Pandit
2025-10-27 17:47 ` [PATCH 3/4] edit: Remove annotation of special character Parav Pandit
2025-10-27 17:47 ` [PATCH 4/4] REVISION: update to 1.4 Parav Pandit
2025-10-27 17:56 ` [PATCH 0/4] editorial: Prepare master branch for 1.4 spec release Michael S. Tsirkin
2025-10-27 18:04   ` Parav Pandit
2025-10-27 18:06     ` Michael S. Tsirkin
2025-10-30 10:57       ` Parav Pandit
2025-10-27 18:08     ` Michael S. Tsirkin
2025-10-30 10:54       ` Parav Pandit
2025-10-30 10:59         ` Michael S. Tsirkin
2025-10-30 15:15           ` Parav Pandit
2025-11-06 15:42             ` Michael S. Tsirkin
2025-11-06 15:50             ` Michael S. Tsirkin
2025-10-27 18:05 ` 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