qemu/hw/s390x
Cornelia Huck 11380b3619 virtio: handle non-virtio-1-capable backend for ccw
If you run a qemu advertising VERSION_1 with an old kernel where
vhost did not yet support VERSION_1, you'll end up with a device
that is {modern pci|ccw revision 1} but does not advertise VERSION_1.
This is not a sensible configuration and is rejected by the Linux
guest drivers.

To fix this, add a ->post_plugged() callback invoked after features
have been queried that can handle the VERSION_1 bit being withdrawn
and change ccw to fall back to revision 0 if VERSION_1 is gone.

Note that pci is _not_ fixed; we'll need to rethink the approach
for the next release but at least for pci it's not a regression.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2015-12-02 19:34:11 +02:00
..
css.c s390x/css: sense data endianness 2015-11-11 17:21:38 +01:00
css.h s390x/css: Add a callback for when subchannel gets disabled 2015-06-30 09:34:58 +02:00
event-facility.c s390x: set missing parent for hotplug and quiesce events 2015-10-02 13:31:52 +02:00
ipl.c s390x/ipl: switch error reporting to error_setg 2015-11-11 17:21:39 +01:00
ipl.h s390x/ipl: clean up qom definitions and turn into TYPE_DEVICE 2015-11-11 17:21:39 +01:00
Makefile.objs s390x: Create QOM device for s390 storage keys 2015-09-03 12:17:54 +02:00
s390-pci-bus.c s390x/pci: fix up IOMMU size 2015-12-01 09:57:28 +01:00
s390-pci-bus.h s390x/pci: fix up IOMMU size 2015-12-01 09:57:28 +01:00
s390-pci-inst.c s390x/pci: fix up IOMMU size 2015-12-01 09:57:28 +01:00
s390-pci-inst.h s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
s390-skeys-kvm.c s390x: Create QOM device for s390 storage keys 2015-09-03 12:17:54 +02:00
s390-skeys.c s390x: Disable storage key migration on old machine type 2015-09-03 12:17:54 +02:00
s390-virtio-bus.c hw/s390x/s390-virtio-bus: Remove meaningless blank Property 2015-09-11 10:59:47 +03:00
s390-virtio-bus.h virtio: move host_features 2015-05-31 16:27:18 +02:00
s390-virtio-ccw.c s390x: switch to memory_region_allocate_system_memory 2015-11-11 17:21:39 +01:00
s390-virtio-hcall.c s390x/virtio-hcall: Specification exception for illegal subcodes 2014-02-27 09:51:25 +01:00
s390-virtio.c s390x: no deprecation warning while testing 2015-12-01 09:57:27 +01:00
s390-virtio.h s390x: machine reset function with new ipl cpu handling 2015-10-21 12:21:30 +02:00
sclp.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
sclpcpu.c s390/sclp: replace sclp event types with proper defines 2015-09-07 16:10:43 +02:00
sclpquiesce.c s390/sclp: replace sclp event types with proper defines 2015-09-07 16:10:43 +02:00
virtio-ccw.c virtio: handle non-virtio-1-capable backend for ccw 2015-12-02 19:34:11 +02:00
virtio-ccw.h virtio-ccw: enable virtio-1 2015-09-24 13:42:17 +03:00