diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2015-02-09 22:40:44 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2015-03-09 15:00:04 +0100 |
commit | 026359238b50f56a90961d9aa62ef303371eca8c (patch) | |
tree | 610936a6a0ca2bd50c0f337656cfe52e91972c89 /hw/misc | |
parent | 21e5d28a4798f536525338f4f9137d83a9556491 (diff) | |
download | qemu-026359238b50f56a90961d9aa62ef303371eca8c.zip qemu-026359238b50f56a90961d9aa62ef303371eca8c.tar.gz qemu-026359238b50f56a90961d9aa62ef303371eca8c.tar.bz2 |
macio.c: include parent PCIDevice state in VMStateDescription
This ensures that the macio PCI device is correctly configured when restoring
from a VM snapshot.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/misc')
-rw-r--r-- | hw/misc/macio/macio.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index e0f1e88..9bc3f2d 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -336,20 +336,44 @@ static void macio_instance_init(Object *obj) memory_region_add_subregion(&s->bar, 0x08000, dbdma_mem); } +static const VMStateDescription vmstate_macio_oldworld = { + .name = "macio-oldworld", + .version_id = 0, + .minimum_version_id = 0, + .fields = (VMStateField[]) { + VMSTATE_PCI_DEVICE(parent_obj.parent, OldWorldMacIOState), + VMSTATE_END_OF_LIST() + } +}; + static void macio_oldworld_class_init(ObjectClass *oc, void *data) { PCIDeviceClass *pdc = PCI_DEVICE_CLASS(oc); + DeviceClass *dc = DEVICE_CLASS(oc); pdc->init = macio_oldworld_initfn; pdc->device_id = PCI_DEVICE_ID_APPLE_343S1201; + dc->vmsd = &vmstate_macio_oldworld; } +static const VMStateDescription vmstate_macio_newworld = { + .name = "macio-newworld", + .version_id = 0, + .minimum_version_id = 0, + .fields = (VMStateField[]) { + VMSTATE_PCI_DEVICE(parent_obj.parent, NewWorldMacIOState), + VMSTATE_END_OF_LIST() + } +}; + static void macio_newworld_class_init(ObjectClass *oc, void *data) { PCIDeviceClass *pdc = PCI_DEVICE_CLASS(oc); + DeviceClass *dc = DEVICE_CLASS(oc); pdc->init = macio_newworld_initfn; pdc->device_id = PCI_DEVICE_ID_APPLE_UNI_N_KEYL; + dc->vmsd = &vmstate_macio_newworld; } static Property macio_properties[] = { |