diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-09-01 09:56:14 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-09-09 14:57:20 -0500 |
commit | 391a079edbecf047ec2c9e35b18ea4e2f3b6f52d (patch) | |
tree | 94ff3f404639a2325ca66b3b8044b678be80b6da | |
parent | f82de8f08a7d5add367067e4b7911c9fc9892bb0 (diff) |
qdev: integrate vmstate
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/qdev.c | 6 | ||||
-rw-r--r-- | hw/qdev.h | 3 |
2 files changed, 9 insertions, 0 deletions
@@ -221,12 +221,18 @@ int qdev_init(DeviceState *dev) return rc; if (dev->info->reset) qemu_register_reset(dev->info->reset, dev); + if (dev->info->vmsd) + vmstate_register(-1, dev->info->vmsd, dev); return 0; } /* Unlink device from bus and free the structure. */ void qdev_free(DeviceState *dev) { +#if 0 /* FIXME: need sane vmstate_unregister function */ + if (dev->info->vmsd) + vmstate_unregister(dev->info->vmsd, dev); +#endif if (dev->info->reset) qemu_unregister_reset(dev->info->reset, dev); LIST_REMOVE(dev, sibling); @@ -111,6 +111,9 @@ struct DeviceInfo { /* callbacks */ QEMUResetHandler *reset; + /* device state */ + const VMStateDescription *vmsd; + /* Private to qdev / bus. */ qdev_initfn init; BusInfo *bus_info; |