Re: [virtio] Re: [virtio-comment] [PATCH RFC] virtio-pci: new configuration layout

From
Cornelia Huck <>
Date
2013-09-03T10:49:32+00:00
ID
20130903124925.0ba745a8@gondolin
Thread
Re: [virtio] Re: [virtio-comment] [PATCH RFC] virtio-pci: new configuration layout
On Tue, 03 Sep 2013 13:27:58 +0930
Rusty Russell <> wrote:

> Cornelia Huck <> writes:
> > On Mon, 02 Sep 2013 10:56:20 +0930
> > Rusty Russell <> wrote:
> >
> >> Cornelia Huck <> writes:
> >> > Would it make sense to have a bit 33 "rings big endian" whose validity
> >> > depends on bit 32 set? This would make it possible for ccw to keep its
> >> > current endianness.
> >> 
> >> Very awkward.  Our experience with bi-endian devices on PowerPC suggests
> >> it's far better to not negotiate endian.  It also avoids a branch
> >> everywhere in the driver and host.
> >
> > Ok, so let's skip this feature bit and make virtio-ccw big endian for
> > the ring?
> 
> That's one option: it would allow current Linux guests to do a
> compile-time endian switch because we currently assume ARCH=s390 is
> equivalent to "using virtio-ccw only".  QEMU may be able to make the
> same assumption.
> 
> I worry about future virtio-pci on s390, where this issue will become
> more complicated.  "LE everywhere" is a simple rule.

I don't see how virtio-pci could be made to work with the s390 pci
implementation, so I don't think we will see anything but virtio-ccw on
s390 machines.

> 
> We still have the question of the endian of per-device headers
> (eg. virtio-blk header) and per-device config space.  I'm assuming we'll
> use the same endian as for the ring.

Config "space" for virtio-ccw is not accessed through memory writes but
through special channel commands. Whether it is big or little endian is
completely orthogonal to the endianness of the ring etc. - both would
be fine.

Cornelia