s390x/virtio-ccw: add virtio set-revision call
commitc42767f2bbd18d4ec895395c01c64bbec16b5b84
authorThomas Huth <thuth@linux.vnet.ibm.com>
Thu, 11 Dec 2014 13:25:12 +0000 (11 14:25 +0100)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Thu, 2 Jul 2015 13:35:15 +0000 (2 15:35 +0200)
treeff35132585a52d362916a95a7cccd214337636a2
parent62ac4a52e27c706c860403fd1d8535a9a1073a19
s390x/virtio-ccw: add virtio set-revision call

Handle the virtio-ccw revision according to what the guest sets.
When revision 1 is selected, we have a virtio-1 standard device
with byteswapping for the virtio rings.

When a channel gets disabled, we have to revert to the legacy behavior
in case the next user of the device does not negotiate the revision 1
anymore (e.g. the boot firmware uses revision 1, but the operating
system only uses the legacy mode).

Note that revisions > 0 are still disabled.

[CH: assure memory accesses are always BE]
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
hw/s390x/virtio-ccw.c
hw/s390x/virtio-ccw.h