> From: Michael S. Tsirkin <[email protected]>
> Sent: Thursday, February 9, 2023 7:14 AM
> diff --git a/content.tex b/content.tex
> index c8647c9..2d9b903 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -946,6 +946,10 @@ \subsubsection{Common configuration structure
> layout}\label{sec:Virtio Transport
> le64 queue_device; /* read-write */
> le16 queue_notify_data; /* read-only for driver */
> le16 queue_reset; /* read-write */
> +
> + /* About the administration virtqueue. */
> + le16 admin_queue_index; /* read-only for driver */
> + le16 admin_queue_num; /* read-only for driver */
> };
> \end{lstlisting}
>
> @@ -1031,6 +1035,19 @@ \subsubsection{Common configuration structure
> layout}\label{sec:Virtio Transport
> This field exists only if VIRTIO_F_RING_RESET has been
> negotiated. (see \ref{sec:Basic Facilities of a Virtio Device /
> Virtqueues /
> Virtqueue Reset}).
>
> +\item[\field{admin_queue_index}]
> + The device uses this to report the index of the first administration
> virtqueue.
> + This field is valid only if VIRTIO_F_ADMIN_VQ has been negotiated.
> +\item[\field{admin_queue_num}]
> + The device uses this to report the number of the
> + supported administration virtqueues.
admin_queue_count reads more intuitive to me to indicate how many aqs.
It may be even simpler to have start and end vq numbers rather than
complication of index + inclusive sum of number.
> Virtqueues with index
> + between \field{admin_queue_index} and (\field{admin_queue_index} +
> + \field{admin_queue_num}) inclusive serve as administration
> + virtqueues.
> + Thus the number of administration virtqueues equals
> + (\field{admin_queue_num} + 1).
> + This field is valid only if VIRTIO_F_ADMIN_VQ has been
> + negotiated.
> \end{description}
>
> \devicenormative{\paragraph}{Common configuration structure layout}{Virtio
> Transport Options / Virtio Over PCI Bus / PCI Device Layout / Common
> configuration structure layout} @@ -1117,6 +1134,14 @@
> \subsubsection{Common configuration structure layout}\label{sec:Virtio
> Transport were used before the queue reset.
> (see \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue
> Reset}).
>
> +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{admin_queue_index} to \field{admin_queue_index} +
> +\field{admin_queue_num} inclusive.
> +The driver MAY configure less administration virtqueues than supported
> +by the device.
> +
> \subsubsection{Notification structure layout}\label{sec:Virtio Transport
> Options
> / Virtio Over PCI Bus / PCI Device Layout / Notification capability}
>
> The notification location is found using the VIRTIO_PCI_CAP_NOTIFY_CFG @@
> -7684,6 +7709,15 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved
> Feature Bits}
>
> \item[VIRTIO_F_ADMIN_VQ(41)] This feature indicates that the device
> exposes one or more
> administration virtqueues.
> + At the moment this feature is only supported for devices using
> + \ref{sec:Virtio Transport Options / Virtio Over PCI
> + Bus}~\nameref{sec:Virtio Transport Options / Virtio Over PCI Bus}
> + as the transport and is reserved for future use for
> + devices using other transports (see
> + \ref{drivernormative:Basic Facilities of a Virtio Device / Feature
> Bits}
> + and
> + \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits}
> for
> + handling features reserved for future use.
>
> \end{description}
>
> --
> MST
Reviewed-by: Parav Pandit <[email protected]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]