aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/gt64xxx.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/hw/gt64xxx.c b/hw/gt64xxx.c
index 9f030263d3..76472df39b 100644
--- a/hw/gt64xxx.c
+++ b/hw/gt64xxx.c
@@ -945,6 +945,25 @@ static void gt64120_write_config(PCIDevice *d, uint32_t address, uint32_t val,
pci_default_write_config(d, address, val, len);
}
+static void gt64120_save(QEMUFile* f, void *opaque)
+{
+ PCIDevice *d = opaque;
+ pci_device_save(d, f);
+}
+
+static int gt64120_load(QEMUFile* f, void *opaque, int version_id)
+{
+ PCIDevice *d = opaque;
+ int ret;
+
+ if (version_id != 1)
+ return -EINVAL;
+ ret = pci_device_load(d, f);
+ if (ret < 0)
+ return ret;
+ return 0;
+}
+
PCIBus *pci_gt64120_init(qemu_irq *pic)
{
GT64120State *s;
@@ -988,5 +1007,7 @@ PCIBus *pci_gt64120_init(qemu_irq *pic)
d->config[0x27] = 0x14;
d->config[0x3D] = 0x01;
+ register_savevm("GT64120 PCI Bus", 0, 1, gt64120_save, gt64120_load, d);
+
return s->pci->bus;
}