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 <lingshan....@intel.com>
Signed-off-by: Jason Wang <jasow...@redhat.com>
Signed-off-by: Eugenio Pérez <epere...@redhat.com>
---
  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: virtio-dev-unsubscr...@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org

Reply via email to