From: Parav Pandit <parav@nvidia.com>
To: "Michael S. Tsirkin" <mst@redhat.com>,
virtio-comment <virtio-comment@lists.linux.dev>,
Cornelia Huck <cohuck@redhat.com>
Cc: Max Gurtovoy <mgurtovoy@nvidia.com>,
Linlin Zhang <linlin.zhang@oss.qualcomm.com>,
<neeraj.soni@oss.qualcomm.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
Parav Pandit <parav@nvidia.com>
Subject: [PATCH 6/6] transport-mmio: Add administration virtqueue requirements
Date: Sat, 17 Oct 2026 14:45:56 +0300 [thread overview]
Message-ID: <20261017114556.1701355-7-parav@nvidia.com> (raw)
In-Reply-To: <20261017114556.1701355-1-parav@nvidia.com>
Add device and driver normative statements for administration
virtqueues over the MMIO transport, and reference them from the MMIO
device and driver conformance clauses.
Device requirements:
- AdminQueueIndex is beyond all other virtqueues.
Driver requirements:
- AdminQueueIndex and AdminQueueNum are only accessed when
VIRTIO_F_ADMIN_VQ has been negotiated, so that drivers never read
these registers on devices which do not implement them.
- Administration virtqueues are configured only within the reported
range; the driver may use fewer than supported, same as for PCI.
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
conformance.tex | 2 ++
transport-mmio.tex | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/conformance.tex b/conformance.tex
index 9af31e2..b1dd83a 100644
--- a/conformance.tex
+++ b/conformance.tex
@@ -132,6 +132,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\item \ref{drivernormative:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout}
\item \ref{drivernormative:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Device Initialization}
\item \ref{drivernormative:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Notifications From The Device}
+\item \ref{drivernormative:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Administration Virtqueues}
\end{itemize}
\conformance{\subsection}{Channel I/O Driver Conformance}\label{sec:Conformance / Driver Conformance / Channel I/O Driver Conformance}
@@ -224,6 +225,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
\begin{itemize}
\item \ref{devicenormative:Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout}
+\item \ref{devicenormative:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Administration Virtqueues}
\end{itemize}
\conformance{\subsection}{Channel I/O Device Conformance}\label{sec:Conformance / Device Conformance / Channel I/O Device Conformance}
diff --git a/transport-mmio.tex b/transport-mmio.tex
index c537e85..40fda97 100644
--- a/transport-mmio.tex
+++ b/transport-mmio.tex
@@ -510,6 +510,26 @@ \subsubsection{Administration Virtqueues}\label{sec:Virtio Transport Options / V
\ref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Virtqueue Configuration}~\nameref{sec:Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Virtqueue Configuration}.
\end{enumerate}
+\devicenormative{\paragraph}{Administration Virtqueues}{Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Administration Virtqueues}
+
+If VIRTIO_F_ADMIN_VQ has been negotiated, the device MUST present
+in \field{AdminQueueIndex} a value which is bigger than the index of
+any virtqueue of the device that is not an administration virtqueue.
+
+\drivernormative{\paragraph}{Administration Virtqueues}{Virtio Transport Options / Virtio Over MMIO / MMIO-specific Initialization And Device Operation / Administration Virtqueues}
+
+The driver MUST NOT access \field{AdminQueueIndex} and
+\field{AdminQueueNum} unless VIRTIO_F_ADMIN_VQ has been negotiated.
+
+If VIRTIO_F_ADMIN_VQ has been negotiated, and if the driver
+configures any administration virtqueues, the driver MUST
+configure the administration virtqueues using the index
+in the range \field{AdminQueueIndex} to
+\field{AdminQueueIndex} + \field{AdminQueueNum} - 1 inclusive.
+
+The driver MAY configure fewer administration virtqueues than
+supported by the device.
+
\subsection{Legacy interface}\label{sec:Virtio Transport Options / Virtio Over MMIO / Legacy interface}
The legacy MMIO transport used page-based addressing, resulting
--
2.43.0
next prev parent reply other threads:[~2026-10-17 11:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-17 11:45 [PATCH 0/6] transport-mmio: Support administration virtqueues Parav Pandit
2026-10-17 11:45 ` [PATCH 1/6] transport-mmio: Introduce " Parav Pandit
2026-10-17 11:45 ` [PATCH 2/6] transport-mmio: Add administration virtqueue registers Parav Pandit
2026-10-17 11:45 ` [PATCH 3/6] transport-mmio: Remove ADMIN_VQ from features reserved for future use Parav Pandit
2026-10-17 11:45 ` [PATCH 4/6] admin: Reference transport specific administration virtqueue discovery Parav Pandit
2026-10-17 11:45 ` [PATCH 5/6] transport-pci: Add missing driver requirement for admin queue fields Parav Pandit
2026-10-17 11:45 ` Parav Pandit [this message]
2026-10-17 13:22 ` [PATCH 0/6] transport-mmio: Support administration virtqueues Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261017114556.1701355-7-parav@nvidia.com \
--to=parav@nvidia.com \
--cc=cohuck@redhat.com \
--cc=linlin.zhang@oss.qualcomm.com \
--cc=mgurtovoy@nvidia.com \
--cc=mst@redhat.com \
--cc=neeraj.soni@oss.qualcomm.com \
--cc=stefanha@redhat.com \
--cc=virtio-comment@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.