diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c index b66ef68bc2d00304a366b108b9940a1903810da0..49140f8a9e0390995ef3f1155e81a24839aa4bd2 100644 --- a/hw/s390-virtio-bus.c +++ b/hw/s390-virtio-bus.c @@ -429,6 +429,7 @@ static TypeInfo virtio_s390_device_info = { .parent = TYPE_DEVICE, .instance_size = sizeof(VirtIOS390Device), .class_init = virtio_s390_device_class_init, + .class_size = sizeof(VirtIOS390DeviceClass), .abstract = true, }; diff --git a/vl.c b/vl.c index 2d464cf65c611dea7593dce907bf4d804794be0f..63dd7252164489fd8915e6d2d90a2ad43103217c 100644 --- a/vl.c +++ b/vl.c @@ -1947,7 +1947,11 @@ static int virtcon_parse(const char *devname) } bus_opts = qemu_opts_create(device, NULL, 0); - qemu_opt_set(bus_opts, "driver", "virtio-serial"); + if (arch_type == QEMU_ARCH_S390X) { + qemu_opt_set(bus_opts, "driver", "virtio-serial-s390"); + } else { + qemu_opt_set(bus_opts, "driver", "virtio-serial-pci"); + } dev_opts = qemu_opts_create(device, NULL, 0); qemu_opt_set(dev_opts, "driver", "virtconsole");