Cornelia Huck
2021-Oct-04 14:27 UTC
[RFC PATCH 1/1] virtio: write back features before verify
On Mon, Oct 04 2021, "Michael S. Tsirkin" <mst at redhat.com> wrote:> On Mon, Oct 04, 2021 at 02:01:14PM +0200, Cornelia Huck wrote: >> On Sun, Oct 03 2021, "Michael S. Tsirkin" <mst at redhat.com> wrote: >> > @@ -160,6 +163,33 @@ \subsection{Legacy Interface: A Note on Feature >> > Specification text within these sections generally does not apply >> > to non-transitional devices. >> > >> > +\begin{note} >> > +The device offers different features when used through >> > +the legacy interface and when operated in accordance with this >> > +specification. >> > +\end{note} >> > + >> > +Transitional drivers MUST use Devices only through the legacy interface >> >> s/Devices only through the legacy interface/devices through the legacy >> interface only/ >> >> ? > > Both versions are actually confused, since how do you > find out that device does not offer VIRTIO_F_VERSION_1? > > I think what this should really say is > > Transitional drivers MUST NOT accept VIRTIO_F_VERSION_1 through > the legacy interface.Ok, that makes sense. Would it make sense that transitional drivers MUST accept VERSION_1 through the non-legacy interface? Or is that redundant?> > > Does linux actually satisfy this? Will it accept VIRTIO_F_VERSION_1 > through the legacy interface if offered?I think that the Linux drivers will not operate on feature bit 32+ if they are in legacy mode?>> >> Generally, looks good to me. > > Do we want to also add explanation that features can be > changed until FEATURES_OK?I always considered that to be implict, as feature negotiation is not over until we have FEATURES_OK. Not sure whether we need an extra note.
Michael S. Tsirkin
2021-Oct-04 15:05 UTC
[RFC PATCH 1/1] virtio: write back features before verify
On Mon, Oct 04, 2021 at 04:27:23PM +0200, Cornelia Huck wrote:> On Mon, Oct 04 2021, "Michael S. Tsirkin" <mst at redhat.com> wrote: > > > On Mon, Oct 04, 2021 at 02:01:14PM +0200, Cornelia Huck wrote: > >> On Sun, Oct 03 2021, "Michael S. Tsirkin" <mst at redhat.com> wrote: > >> > @@ -160,6 +163,33 @@ \subsection{Legacy Interface: A Note on Feature > >> > Specification text within these sections generally does not apply > >> > to non-transitional devices. > >> > > >> > +\begin{note} > >> > +The device offers different features when used through > >> > +the legacy interface and when operated in accordance with this > >> > +specification. > >> > +\end{note} > >> > + > >> > +Transitional drivers MUST use Devices only through the legacy interface > >> > >> s/Devices only through the legacy interface/devices through the legacy > >> interface only/ > >> > >> ? > > > > Both versions are actually confused, since how do you > > find out that device does not offer VIRTIO_F_VERSION_1? > > > > I think what this should really say is > > > > Transitional drivers MUST NOT accept VIRTIO_F_VERSION_1 through > > the legacy interface. > > Ok, that makes sense. > > Would it make sense that transitional drivers MUST accept VERSION_1 > through the non-legacy interface? Or is that redundant?We already have: A driver MUST accept VIRTIO_F_VERSION_1 if it is offered.> > > > > > Does linux actually satisfy this? Will it accept VIRTIO_F_VERSION_1 > > through the legacy interface if offered? > > I think that the Linux drivers will not operate on feature bit 32+ if > they are in legacy mode?Well ... with PCI there's no *way* for host to set bit 32 through legacy. But it might be possible with MMIO/CCW. Can you tell me what happens then?> >> > >> Generally, looks good to me. > > > > Do we want to also add explanation that features can be > > changed until FEATURES_OK? > > I always considered that to be implict, as feature negotiation is not > over until we have FEATURES_OK. Not sure whether we need an extra note.Well Halil here says once you set a feature bit you can't clear it. So maybe not ... -- MST