[virtio-dev] Re: [PATCH 3/5] virtqueue: constraints for virtqueue state
"Zhu, Lingshan" <[email protected]>
| Newsgroups | dev.linux.lists.virtio-dev,dev.linux.lists.virtio-comment |
|---|---|
| Message-ID | <[email protected]> |
On 9/14/2023 7:30 PM, Michael S. Tsirkin wrote: > On Wed, Sep 06, 2023 at 04:16:35PM +0800, Zhu Lingshan wrote: >> This commit specifies the constraints of the virtqueue state, >> and the actions should be taken by the device when SUSPEND >> and DRIVER_OK is set >> >> Signed-off-by: Zhu Lingshan <[email protected]> >> Signed-off-by: Jason Wang <[email protected]> >> Signed-off-by: Eugenio Pérez <[email protected]> >> --- >> content.tex | 19 +++++++++++++++++++ >> 1 file changed, 19 insertions(+) >> >> diff --git a/content.tex b/content.tex >> index 0fab537..9d727ce 100644 >> --- a/content.tex >> +++ b/content.tex >> @@ -594,6 +594,25 @@ \subsection{\field{Used State} Field} >> When VIRTIO_RING_F_PACKED is not negotiated, the 16-bit value of \field{used_idx} >> is always 0 >> >> +\drivernormative{\subsection}{Virtqueue State}{Basic Facilities of a Virtio Device / Virtqueue State} >> + >> +If VIRTIO_F_QUEUE_STATE has been negotiated but VIRTIO_RING_F_PACKED not been negotiated, >> +the driver SHOULD NOT access \field{Used State} of any virtqueues, it SHOULD use the >> +used index in the used ring. >> + >> +\devicenormative{\subsection}{Virtqueue State}{Basic Facilities of a Virtio Device / Virtqueue State} >> + >> +If VIRTIO_F_QUEUE_STATE has been negotiated, the device SHOULD only accept setting >> +Virtqueue State of any virtqueues when DRIVER_OK is not set in \field{device status}, >> +or both of DRIVER_OK and SUSPEND are set in \field{device status}. >> +Otherwise the device MUST ignore any writes to Virtqueue State of any virtqueues. >> + >> +If VIRTIO_F_QUEUE_STATE have been negotiated, when SUSPEND is set, >> +the device MUST record the Virtqueue State of every enabled virtqueue >> +in \field{Available State} and \field{Used State} respectively, > record how? This is transport specific, for PCI they are recorded in the common config space, two new fields of them are introduced in patch 5. > >> +and correspondingly restore the Virtqueue State of every enabled virtqueue >> +from \field{Available State} and \field{Used State} when DRIVER_OK is set. > when is that? When the DRIVER sets DRIVER_OK and done before the device presents DRIVER_OK. > > >> + >> \input{admin.tex} >> >> \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation} >> -- >> 2.35.3 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]