[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH virtio-spec] balloon: trannsitional device support
On Wed, 1 Apr 2015 14:59:46 +0200 "Michael S. Tsirkin" <mst@redhat.com> wrote: > Virtio 1.0 doesn't include a modern balloon device. At some point we'll likely > define an incompatible interface with a different ID and different > semantics. But for now, it's not a big effort to support a transitional > balloon device: this has the advantage of supporting existing drivers, > transparently, as well as transports that don't allow mixing virtio 0 and > virtio 1 devices. And balloon is an easy device to test, so it's also useful > for people to test virtio core handling of transitional devices. > > The only interface issue is with the stats buffer, which has misaligned > fields. We could leave it as is, but this sets a bad precedent that > others might copy by mistake. > > As we need to change stats code to do byteswaps for virtio 1.0, it seems easy > to fix by prepending a 6 byte reserved field. I also had to change config > structure field types from __le32 to __u32 to match other devices. This means > we need a couple of __force tags for legacy path but that seems minor. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > content.tex | 73 +++++++++++++++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 56 insertions(+), 17 deletions(-) > > @@ -4329,13 +4328,33 @@ guest memory statistics to the host. > > \subsection{Feature bits}\label{sec:Device Types / Memory Balloon Device / Feature bits} > \begin{description} > -\item[VIRTIO_BALLOON_F_MUST_TELL_HOST (0)] Host MUST be told before > - pages from the balloon are used. > +\item[VIRTIO_BALLOON_F_MUST_TELL_HOST (0)] Host has to be told before > + pages from the balloon are used by guest. Why this change? The device only needs to tolerate the guest using pages if that bit has not been negotiated? (...) > @@ -4347,24 +4366,29 @@ struct virtio_balloon_config { > }; > \end{lstlisting} > > -Note that these fields are always little endian, despite convention > -that legacy device fields are guest endian. > +\subparagraph{Legacy Interface: Device configuration layout}\label{sec:Device Types / Memory Balloon Device / Device > +configuration layout / Legacy Interface: Device configuration layout} > +When using the legacy interface, transitional devices and drivers > +MUST format the fields in struct virtio_balloon_config > +according to the little-endian format. I'd like to keep it obvious that this is different from other legacy devices, so let's append "...unlike the usual convention for legacy devices"? Or do this in a footnote? I think you also need to add the new normative sections to conformance.tex.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]