virtio-comment

 View Only
  • 1.  [PATCH v4] clarify device reset

    Posted 01-28-2021 13:53
    Properly specify that the method for the driver to request a
    device reset is transport specific, and some action the device
    has to take.

    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    ---

    Stefan, Halil: I did not apply your R-b due to the amount of changes.

    v3 -> v4:
    - moved device status 're-initialize to 0' clause that is now duplicated
    to an informal description
    - more clarifications on when reset may be used and device requirements
    - use \field{device status} consistently
    RFC v2 -> v3:
    - re-worded the "must not send notifications" clause to avoid guessing
    - added a driver conformance clause on how a driver should find out
    when reset is complete
    RFC -> RFC v2:
    - moved reset spec to basic facilities

    ---
    conformance.tex | 2 ++
    content.tex | 24 +++++++++++++++++++++++-
    2 files changed, 25 insertions(+), 1 deletion(-)

    diff --git a/conformance.tex b/conformance.tex
    index e78adfdbd283..17c390d249db 100644
    --- a/conformance.tex
    +++ b/conformance.tex
    @@ -64,6 +64,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    \begin{itemize}
    \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Status Field}
    \item \ref{drivernormative:Basic Facilities of a Virtio Device / Feature Bits}
    +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset}
    \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues}
    \item \ref{drivernormative:Basic Facilities of a Virtio Device / Message Framing}
    @@ -283,6 +284,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    \begin{itemize}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Status Field}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits}
    +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Message Framing}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table}
    diff --git a/content.tex b/content.tex
    index 1ca24c13f2d0..47239b877c6c 100644
    --- a/content.tex
    +++ b/content.tex
    @@ -51,6 +51,9 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    an error from which it can't recover.
    \end{description}

    +The \field{device status} field starts out as 0, and is reinitialized to 0 by
    +the device during reset.
    +
    \drivernormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    The driver MUST update \field{device status},
    setting bits to indicate the completed steps of the driver
    @@ -71,7 +74,6 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    \end{note}

    \devicenormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    -The device MUST initialize \field{device status} to 0 upon reset.

    The device MUST NOT consume buffers or send any used buffer
    notifications to the driver before DRIVER_OK.
    @@ -193,6 +195,26 @@ \section{Notifications}\label{sec:Basic Facilities of a Virtio Device
    terminology. Occasionally, the term event is used to refer to
    a notification or a receipt of a notification.

    +\section{Device Reset}\label{sec:Basic Facilities of a Virtio Device / Device Reset}
    +
    +The driver may want to initiate a device reset at various times; notably,
    +it is required to do so during device initialization and device cleanup.
    +
    +The mechanism used by the driver to initiate the reset is transport specific.
    +
    +\devicenormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    +
    +A device MUST reinitialize \field{device status} to 0 after receiving a reset.
    +
    +A device MUST NOT send notifications or interact with the queues after
    +indicating completion of the reset by reinitializing \field{device status}
    +to 0, until the driver re-initializes the device.
    +
    +\drivernormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    +
    +The driver SHOULD consider a driver-initiated reset complete when it
    +reads \field{device status} as 0.
    +
    \section{Device Configuration Space}\label{sec:Basic Facilities of a Virtio Device / Device Configuration Space}

    Device configuration space is generally used for rarely-changing or
    --
    2.26.2




  • 2.  Re: [PATCH v4] clarify device reset

    Posted 01-29-2021 07:15

    On 2021/1/28 ??9:52, Cornelia Huck wrote:
    > Properly specify that the method for the driver to request a
    > device reset is transport specific, and some action the device
    > has to take.
    >
    > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    > ---
    >
    > Stefan, Halil: I did not apply your R-b due to the amount of changes.
    >
    > v3 -> v4:
    > - moved device status 're-initialize to 0' clause that is now duplicated
    > to an informal description
    > - more clarifications on when reset may be used and device requirements
    > - use \field{device status} consistently
    > RFC v2 -> v3:
    > - re-worded the "must not send notifications" clause to avoid guessing
    > - added a driver conformance clause on how a driver should find out
    > when reset is complete
    > RFC -> RFC v2:
    > - moved reset spec to basic facilities
    >
    > ---
    > conformance.tex | 2 ++
    > content.tex | 24 +++++++++++++++++++++++-
    > 2 files changed, 25 insertions(+), 1 deletion(-)


    Reviewed-by: Jason Wang <jasowang@redhat.com>


    >
    > diff --git a/conformance.tex b/conformance.tex
    > index e78adfdbd283..17c390d249db 100644
    > --- a/conformance.tex
    > +++ b/conformance.tex
    > @@ -64,6 +64,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Message Framing}
    > @@ -283,6 +284,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Message Framing}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table}
    > diff --git a/content.tex b/content.tex
    > index 1ca24c13f2d0..47239b877c6c 100644
    > --- a/content.tex
    > +++ b/content.tex
    > @@ -51,6 +51,9 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > an error from which it can't recover.
    > \end{description}
    >
    > +The \field{device status} field starts out as 0, and is reinitialized to 0 by
    > +the device during reset.
    > +
    > \drivernormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > The driver MUST update \field{device status},
    > setting bits to indicate the completed steps of the driver
    > @@ -71,7 +74,6 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > \end{note}
    >
    > \devicenormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > -The device MUST initialize \field{device status} to 0 upon reset.
    >
    > The device MUST NOT consume buffers or send any used buffer
    > notifications to the driver before DRIVER_OK.
    > @@ -193,6 +195,26 @@ \section{Notifications}\label{sec:Basic Facilities of a Virtio Device
    > terminology. Occasionally, the term event is used to refer to
    > a notification or a receipt of a notification.
    >
    > +\section{Device Reset}\label{sec:Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver may want to initiate a device reset at various times; notably,
    > +it is required to do so during device initialization and device cleanup.
    > +
    > +The mechanism used by the driver to initiate the reset is transport specific.
    > +
    > +\devicenormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +A device MUST reinitialize \field{device status} to 0 after receiving a reset.
    > +
    > +A device MUST NOT send notifications or interact with the queues after
    > +indicating completion of the reset by reinitializing \field{device status}
    > +to 0, until the driver re-initializes the device.
    > +
    > +\drivernormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver SHOULD consider a driver-initiated reset complete when it
    > +reads \field{device status} as 0.
    > +
    > \section{Device Configuration Space}\label{sec:Basic Facilities of a Virtio Device / Device Configuration Space}
    >
    > Device configuration space is generally used for rarely-changing or




  • 3.  Re: [PATCH v4] clarify device reset

    Posted 01-29-2021 11:19
    On Thu, 28 Jan 2021 14:52:35 +0100
    Cornelia Huck <cohuck@redhat.com> wrote:

    > Properly specify that the method for the driver to request a
    > device reset is transport specific, and some action the device
    > has to take.

    Fixes: https://github.com/oasis-tcs/virtio-spec/issues/93

    >
    > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    > ---
    >
    > Stefan, Halil: I did not apply your R-b due to the amount of changes.
    >
    > v3 -> v4:
    > - moved device status 're-initialize to 0' clause that is now duplicated
    > to an informal description
    > - more clarifications on when reset may be used and device requirements
    > - use \field{device status} consistently
    > RFC v2 -> v3:
    > - re-worded the "must not send notifications" clause to avoid guessing
    > - added a driver conformance clause on how a driver should find out
    > when reset is complete
    > RFC -> RFC v2:
    > - moved reset spec to basic facilities
    >
    > ---
    > conformance.tex | 2 ++
    > content.tex | 24 +++++++++++++++++++++++-
    > 2 files changed, 25 insertions(+), 1 deletion(-)
    >
    > diff --git a/conformance.tex b/conformance.tex
    > index e78adfdbd283..17c390d249db 100644
    > --- a/conformance.tex
    > +++ b/conformance.tex
    > @@ -64,6 +64,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Message Framing}
    > @@ -283,6 +284,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Message Framing}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table}
    > diff --git a/content.tex b/content.tex
    > index 1ca24c13f2d0..47239b877c6c 100644
    > --- a/content.tex
    > +++ b/content.tex
    > @@ -51,6 +51,9 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > an error from which it can't recover.
    > \end{description}
    >
    > +The \field{device status} field starts out as 0, and is reinitialized to 0 by
    > +the device during reset.
    > +
    > \drivernormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > The driver MUST update \field{device status},
    > setting bits to indicate the completed steps of the driver
    > @@ -71,7 +74,6 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > \end{note}
    >
    > \devicenormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > -The device MUST initialize \field{device status} to 0 upon reset.
    >
    > The device MUST NOT consume buffers or send any used buffer
    > notifications to the driver before DRIVER_OK.
    > @@ -193,6 +195,26 @@ \section{Notifications}\label{sec:Basic Facilities of a Virtio Device
    > terminology. Occasionally, the term event is used to refer to
    > a notification or a receipt of a notification.
    >
    > +\section{Device Reset}\label{sec:Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver may want to initiate a device reset at various times; notably,
    > +it is required to do so during device initialization and device cleanup.
    > +
    > +The mechanism used by the driver to initiate the reset is transport specific.
    > +
    > +\devicenormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +A device MUST reinitialize \field{device status} to 0 after receiving a reset.
    > +
    > +A device MUST NOT send notifications or interact with the queues after
    > +indicating completion of the reset by reinitializing \field{device status}
    > +to 0, until the driver re-initializes the device.
    > +
    > +\drivernormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver SHOULD consider a driver-initiated reset complete when it
    > +reads \field{device status} as 0.
    > +
    > \section{Device Configuration Space}\label{sec:Basic Facilities of a Virtio Device / Device Configuration Space}
    >
    > Device configuration space is generally used for rarely-changing or




  • 4.  Re: [virtio-comment] [PATCH v4] clarify device reset

    Posted 01-29-2021 16:25
    On Thu, 28 Jan 2021 14:52:35 +0100
    Cornelia Huck <cohuck@redhat.com> wrote:

    > Properly specify that the method for the driver to request a
    > device reset is transport specific, and some action the device
    > has to take.
    >
    > Signed-off-by: Cornelia Huck <cohuck@redhat.com>

    Reviewed-by: Halil Pasic <pasic@linux.ibm.com>



  • 5.  Re: [virtio-comment] [PATCH v4] clarify device reset

    Posted 05-05-2021 13:21
    On Thu, Jan 28, 2021 at 02:52:35PM +0100, Cornelia Huck wrote:
    > Properly specify that the method for the driver to request a
    > device reset is transport specific, and some action the device
    > has to take.
    >
    > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    > ---
    >
    > Stefan, Halil: I did not apply your R-b due to the amount of changes.
    >
    > v3 -> v4:
    > - moved device status 're-initialize to 0' clause that is now duplicated
    > to an informal description
    > - more clarifications on when reset may be used and device requirements
    > - use \field{device status} consistently
    > RFC v2 -> v3:
    > - re-worded the "must not send notifications" clause to avoid guessing
    > - added a driver conformance clause on how a driver should find out
    > when reset is complete
    > RFC -> RFC v2:
    > - moved reset spec to basic facilities
    >
    > ---
    > conformance.tex | 2 ++
    > content.tex | 24 +++++++++++++++++++++++-
    > 2 files changed, 25 insertions(+), 1 deletion(-)
    >
    > diff --git a/conformance.tex b/conformance.tex
    > index e78adfdbd283..17c390d249db 100644
    > --- a/conformance.tex
    > +++ b/conformance.tex
    > @@ -64,6 +64,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Virtqueues}
    > \item \ref{drivernormative:Basic Facilities of a Virtio Device / Message Framing}
    > @@ -283,6 +284,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \begin{itemize}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Status Field}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits}
    > +\item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Reset}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Device Configuration Space}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Message Framing}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Descriptor Table}
    > diff --git a/content.tex b/content.tex
    > index 1ca24c13f2d0..47239b877c6c 100644
    > --- a/content.tex
    > +++ b/content.tex
    > @@ -51,6 +51,9 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > an error from which it can't recover.
    > \end{description}
    >
    > +The \field{device status} field starts out as 0, and is reinitialized to 0 by
    > +the device during reset.
    > +
    > \drivernormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > The driver MUST update \field{device status},
    > setting bits to indicate the completed steps of the driver
    > @@ -71,7 +74,6 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > \end{note}
    >
    > \devicenormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > -The device MUST initialize \field{device status} to 0 upon reset.
    >
    > The device MUST NOT consume buffers or send any used buffer
    > notifications to the driver before DRIVER_OK.

    Do we want to keep the part where it starts out as 0 here?

    > @@ -193,6 +195,26 @@ \section{Notifications}\label{sec:Basic Facilities of a Virtio Device
    > terminology. Occasionally, the term event is used to refer to
    > a notification or a receipt of a notification.
    >
    > +\section{Device Reset}\label{sec:Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver may want to initiate a device reset at various times; notably,
    > +it is required to do so during device initialization and device cleanup.
    > +
    > +The mechanism used by the driver to initiate the reset is transport specific.
    > +
    > +\devicenormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +A device MUST reinitialize \field{device status} to 0 after receiving a reset.
    > +
    > +A device MUST NOT send notifications or interact with the queues after
    > +indicating completion of the reset by reinitializing \field{device status}
    > +to 0, until the driver re-initializes the device.
    > +
    > +\drivernormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > +
    > +The driver SHOULD consider a driver-initiated reset complete when it
    > +reads \field{device status} as 0.
    > +
    > \section{Device Configuration Space}\label{sec:Basic Facilities of a Virtio Device / Device Configuration Space}
    >
    > Device configuration space is generally used for rarely-changing or
    > --
    > 2.26.2
    >
    >
    > 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: virtio-comment-subscribe@lists.oasis-open.org
    > Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
    > List help: virtio-comment-help@lists.oasis-open.org
    > 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/




  • 6.  Re: [virtio-comment] [PATCH v4] clarify device reset

    Posted 05-11-2021 09:16
    On Wed, 5 May 2021 09:20:45 -0400
    "Michael S. Tsirkin" <mst@redhat.com> wrote:

    > On Thu, Jan 28, 2021 at 02:52:35PM +0100, Cornelia Huck wrote:
    > > Properly specify that the method for the driver to request a
    > > device reset is transport specific, and some action the device
    > > has to take.
    > >
    > > Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    > > ---
    > >
    > > Stefan, Halil: I did not apply your R-b due to the amount of changes.
    > >
    > > v3 -> v4:
    > > - moved device status 're-initialize to 0' clause that is now duplicated
    > > to an informal description
    > > - more clarifications on when reset may be used and device requirements
    > > - use \field{device status} consistently
    > > RFC v2 -> v3:
    > > - re-worded the "must not send notifications" clause to avoid guessing
    > > - added a driver conformance clause on how a driver should find out
    > > when reset is complete
    > > RFC -> RFC v2:
    > > - moved reset spec to basic facilities
    > >
    > > ---
    > > conformance.tex | 2 ++
    > > content.tex | 24 +++++++++++++++++++++++-
    > > 2 files changed, 25 insertions(+), 1 deletion(-)
    > >

    (...)

    > > diff --git a/content.tex b/content.tex
    > > index 1ca24c13f2d0..47239b877c6c 100644
    > > --- a/content.tex
    > > +++ b/content.tex
    > > @@ -51,6 +51,9 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > > an error from which it can't recover.
    > > \end{description}
    > >
    > > +The \field{device status} field starts out as 0, and is reinitialized to 0 by
    > > +the device during reset.
    > > +
    > > \drivernormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > > The driver MUST update \field{device status},
    > > setting bits to indicate the completed steps of the driver
    > > @@ -71,7 +74,6 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
    > > \end{note}
    > >
    > > \devicenormative{\subsection}{Device Status Field}{Basic Facilities of a Virtio Device / Device Status Field}
    > > -The device MUST initialize \field{device status} to 0 upon reset.
    > >
    > > The device MUST NOT consume buffers or send any used buffer
    > > notifications to the driver before DRIVER_OK.
    >
    > Do we want to keep the part where it starts out as 0 here?

    Wouldn't that duplicate the statement in the 'Device Reset' normative
    section below?

    >
    > > @@ -193,6 +195,26 @@ \section{Notifications}\label{sec:Basic Facilities of a Virtio Device
    > > terminology. Occasionally, the term event is used to refer to
    > > a notification or a receipt of a notification.
    > >
    > > +\section{Device Reset}\label{sec:Basic Facilities of a Virtio Device / Device Reset}
    > > +
    > > +The driver may want to initiate a device reset at various times; notably,
    > > +it is required to do so during device initialization and device cleanup.
    > > +
    > > +The mechanism used by the driver to initiate the reset is transport specific.
    > > +
    > > +\devicenormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > > +
    > > +A device MUST reinitialize \field{device status} to 0 after receiving a reset.
    > > +
    > > +A device MUST NOT send notifications or interact with the queues after
    > > +indicating completion of the reset by reinitializing \field{device status}
    > > +to 0, until the driver re-initializes the device.
    > > +
    > > +\drivernormative{\subsection}{Device Reset}{Basic Facilities of a Virtio Device / Device Reset}
    > > +
    > > +The driver SHOULD consider a driver-initiated reset complete when it
    > > +reads \field{device status} as 0.
    > > +
    > > \section{Device Configuration Space}\label{sec:Basic Facilities of a Virtio Device / Device Configuration Space}
    > >
    > > Device configuration space is generally used for rarely-changing or