On Tue, 2010-11-16 at 00:11 +0100, Jan Kiszka wrote: > Am 16.11.2010 00:06, Alex Williamson wrote: > > Use register_device_unmigratable() to declare ourselves as > > non-migratable. > > > > Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> > > --- > > > > v2: Use dummy vmsd instead of dummy save_state > > > > hw/device-assignment.c | 10 ++++++++++ > > 1 files changed, 10 insertions(+), 0 deletions(-) > > > > diff --git a/hw/device-assignment.c b/hw/device-assignment.c > > index bde231d..154bb1a 100644 > > --- a/hw/device-assignment.c > > +++ b/hw/device-assignment.c > > @@ -1434,6 +1434,10 @@ static void assigned_dev_unregister_msix_mmio(AssignedDevice *dev) > > dev->msix_table_page = NULL; > > } > > > > +static const VMStateDescription vmstate_assigned_device = { > > + .name = "pci-assign" > > +}; > > + > > static int assigned_initfn(struct PCIDevice *pci_dev) > > { > > AssignedDevice *dev = DO_UPCAST(AssignedDevice, dev, pci_dev); > > @@ -1490,6 +1494,11 @@ static int assigned_initfn(struct PCIDevice *pci_dev) > > > > assigned_dev_load_option_rom(dev); > > QLIST_INSERT_HEAD(&devs, dev, next); > > + > > + /* Register a vmsd so that we can mark it unmigratable. */ > > + vmstate_register(&dev->dev.qdev, 0, &vmstate_assigned_device, dev); > > Almost: You can register this vmstate description via assign_info > (.qdev.vmsd = ....). Only if you have some other suggestion on where to call register_device_unmigratable rather than init. qdev_init looks like this: int qdev_init(DeviceState *dev) { int rc; assert(dev->state == DEV_STATE_CREATED); rc = dev->info->init(dev, dev->info); if (rc < 0) { qdev_free(dev); return rc; } qemu_register_reset(qdev_reset, dev); if (dev->info->vmsd) { vmstate_register_with_alias_id(dev, -1, dev->info->vmsd, dev, dev->instance_id_alias, dev->alias_required_for_version); } dev->state = DEV_STATE_INITIALIZED; return 0; } So the save state entry hasn't been inserted yet for me to attach the no_migrate flag to from init :( Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html