qemu-e2k/hw/s390x
Cornelia Huck 151fcdfd62 virtio-ccw: commands on revision-less devices
The virtio standard specifies that any non-transitional device must
reject commands prior to revision setting (which we do). Devices
that are transitional need to assume revision 0 (legacy) if the
driver sends a non-revision-setting command first in order to
support legacy drivers. We neglected to do the latter.

Fortunately, nearly everything worked as intended anyway; the only
problem was not properly rejecting revision setting after some other
command had been issued. Easy to fix by setting revision to 0 if
we see a non-revision command on a legacy-capable revision-less
device.

Found by code inspection, not observed in the wild.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Halil Pasic <pasic@linux.ibm.com>
Message-Id: <20210216111830.1087847-1-cohuck@redhat.com>
2021-03-04 11:23:35 +01:00
..
3270-ccw.c
ap-bridge.c
ap-device.c
ccw-device.c
ccw-device.h
css-bridge.c
css.c qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 2020-12-18 15:20:18 -05:00
event-facility.c
ipl.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
ipl.h s390x: Avoid variable size warning in ipl.h 2020-11-10 08:51:30 +01:00
Kconfig
meson.build hw/s390x: fix build for virtio-9p-ccw 2021-03-04 11:23:35 +01:00
pv.c s390: Recognize confidential-guest-support option 2021-02-08 16:57:38 +11:00
s390-ccw.c
s390-pci-bus.c qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 2020-12-18 15:20:18 -05:00
s390-pci-inst.c s390x/pci: restore missing Query PCI Function CLP data 2021-03-04 11:23:35 +01:00
s390-pci-vfio.c Clean up includes 2020-12-10 17:16:44 +01:00
s390-skeys-kvm.c
s390-skeys.c s390x: do not use ram_size global 2020-12-10 12:15:09 -05:00
s390-stattrib-kvm.c
s390-stattrib.c
s390-virtio-ccw.c s390: Recognize confidential-guest-support option 2021-02-08 16:57:38 +11:00
s390-virtio-hcall.c
s390-virtio-hcall.h
sclp.c
sclpcpu.c
sclpquiesce.c
tod-kvm.c
tod-qemu.c
tod.c
trace-events
trace.h
vhost-user-fs-ccw.c
vhost-vsock-ccw.c
virtio-ccw-9p.c
virtio-ccw-balloon.c
virtio-ccw-blk.c
virtio-ccw-crypto.c
virtio-ccw-gpu.c
virtio-ccw-input.c
virtio-ccw-net.c
virtio-ccw-rng.c
virtio-ccw-scsi.c
virtio-ccw-serial.c
virtio-ccw.c virtio-ccw: commands on revision-less devices 2021-03-04 11:23:35 +01:00
virtio-ccw.h