[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/4] qdev: integrate vmstate
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 3/4] qdev: integrate vmstate |
Date: |
Tue, 1 Sep 2009 09:56:14 +0200 |
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/qdev.c | 6 ++++++
hw/qdev.h | 3 +++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index e045968..288f95b 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -218,12 +218,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);
diff --git a/hw/qdev.h b/hw/qdev.h
index fde29ea..103489d 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -113,6 +113,9 @@ struct DeviceInfo {
/* callbacks */
QEMUResetHandler *reset;
+ /* device state */
+ const VMStateDescription *vmsd;
+
/* Private to qdev / bus. */
qdev_initfn init;
BusInfo *bus_info;
--
1.6.2.5