diff options
author | Cornelia Huck <cohuck@redhat.com> | 2019-02-01 13:29:08 +0100 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2019-02-04 13:47:50 +0100 |
commit | aede5d5dfc5f3e4ea7467b28c51fda2f8945d117 (patch) | |
tree | 5fbf714d7e82898e7922dcfee3dd0610e8f76027 /hw | |
parent | 9f2a46b11139cd21c41f4d97c0416af6f9e76f7b (diff) | |
download | qemu-aede5d5dfc5f3e4ea7467b28c51fda2f8945d117.zip qemu-aede5d5dfc5f3e4ea7467b28c51fda2f8945d117.tar.gz qemu-aede5d5dfc5f3e4ea7467b28c51fda2f8945d117.tar.bz2 |
s390x/pci: mark zpci devices as unmigratable
We currently don't migrate any state for zpci devices, which are
coupled with standard pci devices. This means funny things happen
when we e.g. try to migrate with a virtio-pci device but the s390x-
specific zpci state is not migrated (vfio-pci is not affected, as
it is not migratable anyway.)
Until this is fixed, mark zpci devices as unmigratable.
Reported-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/s390x/s390-pci-bus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index c96a7cb..96c7c18 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1253,6 +1253,15 @@ static Property s390_pci_device_properties[] = { DEFINE_PROP_END_OF_LIST(), }; +static const VMStateDescription s390_pci_device_vmstate = { + .name = TYPE_S390_PCI_DEVICE, + /* + * TODO: add state handling here, so migration works at least with + * emulated pci devices on s390x + */ + .unmigratable = 1, +}; + static void s390_pci_device_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); @@ -1263,6 +1272,7 @@ static void s390_pci_device_class_init(ObjectClass *klass, void *data) dc->bus_type = TYPE_S390_PCI_BUS; dc->realize = s390_pci_device_realize; dc->props = s390_pci_device_properties; + dc->vmsd = &s390_pci_device_vmstate; } static const TypeInfo s390_pci_device_info = { |