virtio-comment

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

    Posted 01-14-2021 11:59
    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>
    ---
    conformance.tex | 1 +
    content.tex | 8 ++++++++
    2 files changed, 9 insertions(+)

    diff --git a/conformance.tex b/conformance.tex
    index eb3324053080..baf4574e411f 100644
    --- a/conformance.tex
    +++ b/conformance.tex
    @@ -279,6 +279,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Used Ring}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / Available Buffer Notification Suppression}
    \item \ref{devicenormative:Basic Facilities of a Virtio Device / Shared Memory Regions}
    +\item \ref{devicenormative:General Initialization And Device Operation / Device Cleanup}
    \item \ref{devicenormative:Reserved Feature Bits}
    \end{itemize}

    diff --git a/content.tex b/content.tex
    index 620c0e28c9a7..126b46996be8 100644
    --- a/content.tex
    +++ b/content.tex
    @@ -501,6 +501,8 @@ \section{Device Cleanup}\label{sec:General Initialization And Device Operation /
    virtqueue of the device are considered live. None of the virtqueues
    of a device are live once the device has been reset.

    +A driver can initiate a device reset by a transport-specific mechanism.
    +
    \drivernormative{\subsection}{Device Cleanup}{General Initialization And Device Operation / Device Cleanup}

    A driver MUST NOT alter virtqueue entries for exposed buffers,
    @@ -510,6 +512,12 @@ \section{Device Cleanup}\label{sec:General Initialization And Device Operation /

    Thus a driver MUST ensure a virtqueue isn't live (by device reset) before removing exposed buffers.

    +\devicenormative{\subsection}{Device Cleanup}{General Initialization And Device Operation / Device Cleanup}
    +
    +A device MUST reinitialize device status to 0 after receiving a reset.
    +
    +A device MUST NOT send notifications after receiving a reset.
    +
    \chapter{Virtio Transport Options}\label{sec:Virtio Transport Options}

    Virtio can use various different buses, thus the standard is split
    --
    2.26.2




  • 2.  Re: [virtio-comment] [PATCH RFC] clarify device reset

    Posted 01-15-2021 03:52

    On 2021/1/14 ??7:58, 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>
    > ---
    > conformance.tex | 1 +
    > content.tex | 8 ++++++++
    > 2 files changed, 9 insertions(+)
    >
    > diff --git a/conformance.tex b/conformance.tex
    > index eb3324053080..baf4574e411f 100644
    > --- a/conformance.tex
    > +++ b/conformance.tex
    > @@ -279,6 +279,7 @@ \section{Conformance Targets}\label{sec:Conformance / Conformance Targets}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / The Virtqueue Used Ring}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Virtqueues / Available Buffer Notification Suppression}
    > \item \ref{devicenormative:Basic Facilities of a Virtio Device / Shared Memory Regions}
    > +\item \ref{devicenormative:General Initialization And Device Operation / Device Cleanup}


    I wonder whether it's better to move this to "Basic Facilities of a
    Virtio Device"?

    Thanks


    > \item \ref{devicenormative:Reserved Feature Bits}
    > \end{itemize}
    >
    > diff --git a/content.tex b/content.tex
    > index 620c0e28c9a7..126b46996be8 100644
    > --- a/content.tex
    > +++ b/content.tex
    > @@ -501,6 +501,8 @@ \section{Device Cleanup}\label{sec:General Initialization And Device Operation /
    > virtqueue of the device are considered live. None of the virtqueues
    > of a device are live once the device has been reset.
    >
    > +A driver can initiate a device reset by a transport-specific mechanism.
    > +
    > \drivernormative{\subsection}{Device Cleanup}{General Initialization And Device Operation / Device Cleanup}
    >
    > A driver MUST NOT alter virtqueue entries for exposed buffers,
    > @@ -510,6 +512,12 @@ \section{Device Cleanup}\label{sec:General Initialization And Device Operation /
    >
    > Thus a driver MUST ensure a virtqueue isn't live (by device reset) before removing exposed buffers.
    >
    > +\devicenormative{\subsection}{Device Cleanup}{General Initialization And Device Operation / Device Cleanup}
    > +
    > +A device MUST reinitialize device status to 0 after receiving a reset.
    > +
    > +A device MUST NOT send notifications after receiving a reset.
    > +
    > \chapter{Virtio Transport Options}\label{sec:Virtio Transport Options}
    >
    > Virtio can use various different buses, thus the standard is split