On Wednesday, 2023-02-15 at 02:53:34 +02, Max Gurtovoy wrote: > On 13/02/2023 14:21, David Edmondson wrote: >> On Thursday, 2023-02-09 at 07:13:48 -05, Michael S. Tsirkin wrote: >>> @@ -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. 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). >> Really the number of queues is "admin_queue_num + 1"? >> That seems ... odd. > > It's not odd if we'll mention that this is a zero based value. > MST, can you add it please for the next version ?
The field is called ...num, which makes it seem like a count of things, when in reality it's the highest index. Perhaps the name could more accurately reflect the intent? > >> >>> + 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} -- Stop the music and go home. --------------------------------------------------------------------- To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org