OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [PATCH v3 1/2] content: Explain better the status clearing bits


On Fri, Nov 12, 2021 at 11:35 AM Cornelia Huck <cohuck@redhat.com> wrote:
>
> On Thu, Nov 11 2021, Eugenio PÃrez <eperezma@redhat.com> wrote:
>
> > The spec tells that "The driver MUST NOT clear a device status bit", but
> > a device using PCI transport reset a virtio device writing 0 to device
>
> I think MMIO uses that mechanism as well?
>
> > status. In some way, that is to clear all its bits.
> >
> > Instead of add an exception, tell explicitely the status bits that
> > the driver cannot clear anytime in a normal operation, so conformant
> > device and drivers keeps being conformant.
> >
> > Signed-off-by: Eugenio PÃrez <eperezma@redhat.com>
> > ---
> >  content.tex | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/content.tex b/content.tex
> > index 5d112af..2aa3006 100644
> > --- a/content.tex
> > +++ b/content.tex
> > @@ -60,9 +60,10 @@ \section{\field{Device Status} Field}\label{sec:Basic Facilities of a Virtio Dev
> >  initialization sequence specified in
> >  \ref{sec:General Initialization And Device Operation / Device
> >  Initialization}.
> > -The driver MUST NOT clear a
> > -\field{device status} bit.  If the driver sets the FAILED bit,
> > -the driver MUST later reset the device before attempting to re-initialize.
> > +The driver MUST NOT clear ACKNOWLEDGE, DRIVER, DRIVER_OK, FEATURES_OK or
> > +DEVICE_NEEDS_RESET bits of \field{device status}, except if resetting the whole
> > +device.  If the driver sets the FAILED bit, the driver MUST later reset the
> > +device before attempting to re-initialize.
>
> I think we need to distinguish "driver wants to clear a status bit" from
> "driver is initiating a reset, and that transport implements that by
> writing 0 to the device status". So, what about
>
> "The driver MUST NOT clear a \field{device status} bit, except when
> setting \field{device status} to 0 as a transport-specific way to
> intitiate a reset."
>
> If we introduce driver-clearable bits later, we can simply make that
> "The driver MUST NOT clear a \field{device status} bit other than
> NEW_BIT, ..."
>

The intention is to introduce a driver-clearable bit in the next
patch, but I should have stated better in the patch message.
Definitely I should have stated it better in the message.

Thanks!



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]