diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c index b66ef68bc..49140f8a9 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 2d464cf65..63dd72521 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");