[PATCH v11 00/10] Introduce device group and device management

From
Michael S. Tsirkin <>
Date
2023-04-24T15:36:00+00:00
ID
Thread
[PATCH v11 00/10] Introduce device group and device management
On Thu, Apr 06, 2023 at 12:14:32AM -0400, Parav Pandit wrote: >  >
> On 4/3/2023 11:03 AM, Michael S. Tsirkin wrote: >
> 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 <> > >  > > --- >
> dropped Max's S.O.B >
> make queue_num not 0 based > > --- >
>
content.tex
34 ++++++++++++++++++++++++++++++++++ >
>
1 file changed, 34 insertions(+) > >  >
> diff --git a/content.tex b/content.tex >
> index 2eb15fa..5057df2 100644 > > --- a/content.tex > > +++ b/content.tex > > @@ -948,6 +948,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} > > @@ -1033,6 +1037,19 @@ subsubsection{Common configuration structure layout}label{sec:Virtio Transport >
>
This field exists only if VIRTIO_F_RING_RESET has been >
>
negotiated. (see
ef{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} - 1) inclusive serve as administration > > +	virtqueues. > > +	The value 0 indicates no supported administration virtqueues.
> no supported .. reads odd.
> How about,
> The value of 0 indicates that administration virtuques are unsupported.  I went back and forth on this but I feel "no queues" is clearer in the end, and not odd: zero number of queues means no queues.  > > +	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} > > @@ -1119,6 +1136,14 @@ subsubsection{Common configuration structure layout}label{sec:Virtio Transport >
>
were used before the queue reset. > >
(see
ef{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} - 1 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 > > @@ -7686,6 +7711,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 > > +
ef{sec:Virtio Transport Options / Virtio Over PCI > > +	  Bus}~
ameref{sec:Virtio Transport Options / Virtio Over PCI Bus} > > +	  as the transport and is reserved for future use for > > +	  devices using other transports (see > > +
ef{drivernormative:Basic Facilities of a Virtio Device / Feature Bits} > > +	and > > +
ef{devicenormative:Basic Facilities of a Virtio Device / Feature Bits} for > > +	handling features reserved for future use. >
>
end{description}
> Reviewed-by: Parav Pandit <> >
> This publicly archived list offers a means to provide input to the
> OASIS Virtual I/O Device (VIRTIO)

TC. >
> In order to verify user consent to the Feedback License terms and
> to minimize spam in the list archive, subscription is required
> before posting. >
> Subscribe: 
> Unsubscribe: 
> List help: 
> List archive:  https://lists.oasis-open.org/archives/virtio-comment/
> Feedback License:  https://www.oasis-open.org/who/ipr/feedback_license.pdf
> List Guidelines:  https://www.oasis-open.org/policies-guidelines/mailing-lists
> Committee:  https://www.oasis-open.org/committees/virtio/
> Join OASIS:  https://www.oasis-open.org/join/  >