summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2010-12-02 16:59:33 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2011-04-22 14:41:43 -0500
commit9039d78e64648e6dca2aa7fe38c59ac2f5bac32b (patch)
tree85d9f3683ce17e3cfb0495b786636e7e3fc2a031
parent1fc7cee0b40e23d3d8a7384df69c07e5dd5954ed (diff)
downloadfocaccia-qemu-9039d78e64648e6dca2aa7fe38c59ac2f5bac32b.tar.gz
focaccia-qemu-9039d78e64648e6dca2aa7fe38c59ac2f5bac32b.zip
vmstate: port piix4
Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r--hw/piix4.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/hw/piix4.c b/hw/piix4.c
index 40cd91a32f..71f1f84dc0 100644
--- a/hw/piix4.c
+++ b/hw/piix4.c
@@ -72,19 +72,16 @@ static void piix4_reset(void *opaque)
     pci_conf[0xae] = 0x00;
 }
 
-static void piix_save(QEMUFile* f, void *opaque)
-{
-    PIIX4State *d = opaque;
-    pci_device_save(&d->dev, f);
-}
-
-static int piix_load(QEMUFile* f, void *opaque, int version_id)
-{
-    PIIX4State *d = opaque;
-    if (version_id != 2)
-        return -EINVAL;
-    return pci_device_load(&d->dev, f);
-}
+static const VMStateDescription vmstate_piix4 = {
+    .name = "PIIX4",
+    .version_id = 2,
+    .minimum_version_id = 2,
+    .minimum_version_id_old = 2,
+    .fields      = (VMStateField[]) {
+        VMSTATE_PCI_DEVICE(dev, PIIX4State),
+        VMSTATE_END_OF_LIST()
+    }
+};
 
 static int piix4_initfn(PCIDevice *dev)
 {
@@ -92,7 +89,6 @@ static int piix4_initfn(PCIDevice *dev)
     uint8_t *pci_conf;
 
     isa_bus_new(&d->dev.qdev);
-    register_savevm(&d->dev.qdev, "PIIX4", 0, 2, piix_save, piix_load, d);
 
     pci_conf = d->dev.config;
     pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
@@ -117,6 +113,7 @@ static PCIDeviceInfo piix4_info[] = {
         .qdev.name    = "PIIX4",
         .qdev.desc    = "ISA bridge",
         .qdev.size    = sizeof(PIIX4State),
+        .qdev.vmsd    = &vmstate_piix4,
         .qdev.no_user = 1,
         .no_hotplug   = 1,
         .init         = piix4_initfn,