On Tue, Aug 15, 2023 at 7:30 PM Zhu, Lingshan <lingshan....@intel.com> wrote: > > > > On 8/15/2023 8:34 AM, Jason Wang wrote: > > On Mon, Aug 14, 2023 at 7:29 PM Zhu Lingshan <lingshan....@intel.com> 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: Jason Wang <jasow...@redhat.com> > >> Signed-off-by: Zhu Lingshan <lingshan....@intel.com> > >> --- > >> content.tex | 31 +++++++++++++++++++++++++++++++ > >> 1 file changed, 31 insertions(+) > >> > >> diff --git a/content.tex b/content.tex > >> index 43bd5de..f6ac581 100644 > >> --- a/content.tex > >> +++ b/content.tex > >> @@ -587,6 +587,37 @@ \subsection{\field{Used State} Field} > >> > >> See also \ref{sec:Packed Virtqueues / Driver and Device Ring Wrap > >> Counters}. > >> > >> +\drivernormative{\subsection}{Virtqueue State}{Basic Facilities of a > >> Virtio Device / Virtqueue State} > >> + > >> +If VIRTIO_F_QUEUE_STATE has been negotiated, the driver MUST set SUSPEND > >> in \field{device status} > >> +first before getting or setting Virtqueue State of any virtqueues. > > I don't get why this is a must. It could be useful for debugging. > To avoid race conditions with the device and make the device > implementation easier
replied in another thread. > > > >> + > >> +If VIRTIO_F_QUEUE_STATE has been negotiaged but VIRTIO_RING_F_PACKED not > >> been negotiated, > > typo > yes > > > >> +the driver MUST 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 but SUSPEND is not set in > >> \field{device status}, > >> +the device MUST ignore any accesses against Virtqueue State of any > >> virtqueues. > > Btw, do we need to clarify the behavior of ring reset after suspending? > I think once suspended, the device should ignore resetting a queue This needs to be clarified. Thanks --------------------------------------------------------------------- To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org