提交 391a079e 编写于 作者: G Gerd Hoffmann 提交者: Anthony Liguori

qdev: integrate vmstate

Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 f82de8f0
...@@ -221,12 +221,18 @@ int qdev_init(DeviceState *dev) ...@@ -221,12 +221,18 @@ int qdev_init(DeviceState *dev)
return rc; return rc;
if (dev->info->reset) if (dev->info->reset)
qemu_register_reset(dev->info->reset, dev); qemu_register_reset(dev->info->reset, dev);
if (dev->info->vmsd)
vmstate_register(-1, dev->info->vmsd, dev);
return 0; return 0;
} }
/* Unlink device from bus and free the structure. */ /* Unlink device from bus and free the structure. */
void qdev_free(DeviceState *dev) 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) if (dev->info->reset)
qemu_unregister_reset(dev->info->reset, dev); qemu_unregister_reset(dev->info->reset, dev);
LIST_REMOVE(dev, sibling); LIST_REMOVE(dev, sibling);
......
...@@ -111,6 +111,9 @@ struct DeviceInfo { ...@@ -111,6 +111,9 @@ struct DeviceInfo {
/* callbacks */ /* callbacks */
QEMUResetHandler *reset; QEMUResetHandler *reset;
/* device state */
const VMStateDescription *vmsd;
/* Private to qdev / bus. */ /* Private to qdev / bus. */
qdev_initfn init; qdev_initfn init;
BusInfo *bus_info; BusInfo *bus_info;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册