Commit 391a079e authored by Gerd Hoffmann's avatar Gerd Hoffmann Committed by Anthony Liguori
Browse files

qdev: integrate vmstate

parent f82de8f0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -111,6 +111,9 @@ struct DeviceInfo {
    /* callbacks */
    QEMUResetHandler *reset;

    /* device state */
    const VMStateDescription *vmsd;

    /* Private to qdev / bus.  */
    qdev_initfn init;
    BusInfo *bus_info;