qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

migration: register_savevm_live doesn't need dev

Commit 78dd48df3 removed the last caller of register_savevm_live for an
instantiable device (rather than a single system wide device);
so trim out the parameter.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190822115433.12070-1-dgilbert@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

+11 -34
+1 -2
docs/devel/migration.rst
··· 183 183 184 184 .. code:: c 185 185 186 - int register_savevm_live(DeviceState *dev, 187 - const char *idstr, 186 + int register_savevm_live(const char *idstr, 188 187 int instance_id, 189 188 int version_id, 190 189 SaveVMHandlers *ops,
+1 -1
hw/ppc/spapr.c
··· 3078 3078 * interface, this is a legacy from the sPAPREnvironment structure 3079 3079 * which predated MachineState but had a similar function */ 3080 3080 vmstate_register(NULL, 0, &vmstate_spapr, spapr); 3081 - register_savevm_live(NULL, "spapr/htab", -1, 1, 3081 + register_savevm_live("spapr/htab", -1, 1, 3082 3082 &savevm_htab_handlers, spapr); 3083 3083 3084 3084 qbus_set_hotplug_handler(sysbus_get_default(), OBJECT(machine),
+1 -1
hw/s390x/s390-skeys.c
··· 389 389 ss->migration_enabled = value; 390 390 391 391 if (ss->migration_enabled) { 392 - register_savevm_live(NULL, TYPE_S390_SKEYS, 0, 1, 392 + register_savevm_live(TYPE_S390_SKEYS, 0, 1, 393 393 &savevm_s390_storage_keys, ss); 394 394 } else { 395 395 unregister_savevm(DEVICE(ss), TYPE_S390_SKEYS, ss);
+1 -1
hw/s390x/s390-stattrib.c
··· 381 381 { 382 382 S390StAttribState *sas = S390_STATTRIB(obj); 383 383 384 - register_savevm_live(NULL, TYPE_S390_STATTRIB, 0, 0, 384 + register_savevm_live(TYPE_S390_STATTRIB, 0, 0, 385 385 &savevm_s390_stattrib_handlers, sas); 386 386 387 387 object_property_add_bool(obj, "migration-enabled",
+1 -1
hw/s390x/tod.c
··· 101 101 S390TODState *td = S390_TOD(dev); 102 102 103 103 /* Legacy migration interface */ 104 - register_savevm_live(NULL, "todclock", 0, 1, &savevm_tod, td); 104 + register_savevm_live("todclock", 0, 1, &savevm_tod, td); 105 105 } 106 106 107 107 static void s390_tod_class_init(ObjectClass *oc, void *data)
+1 -2
include/migration/register.h
··· 68 68 int (*resume_prepare)(MigrationState *s, void *opaque); 69 69 } SaveVMHandlers; 70 70 71 - int register_savevm_live(DeviceState *dev, 72 - const char *idstr, 71 + int register_savevm_live(const char *idstr, 73 72 int instance_id, 74 73 int version_id, 75 74 const SaveVMHandlers *ops,
+1 -1
migration/block-dirty-bitmap.c
··· 733 733 { 734 734 QSIMPLEQ_INIT(&dirty_bitmap_mig_state.dbms_list); 735 735 736 - register_savevm_live(NULL, "dirty-bitmap", 0, 1, 736 + register_savevm_live("dirty-bitmap", 0, 1, 737 737 &savevm_dirty_bitmap_handlers, 738 738 &dirty_bitmap_mig_state); 739 739 }
+1 -1
migration/block.c
··· 1030 1030 QSIMPLEQ_INIT(&block_mig_state.blk_list); 1031 1031 qemu_mutex_init(&block_mig_state.lock); 1032 1032 1033 - register_savevm_live(NULL, "block", 0, 1, &savevm_block_handlers, 1033 + register_savevm_live("block", 0, 1, &savevm_block_handlers, 1034 1034 &block_mig_state); 1035 1035 }
+1 -1
migration/ram.c
··· 4675 4675 void ram_mig_init(void) 4676 4676 { 4677 4677 qemu_mutex_init(&XBZRLE.lock); 4678 - register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers, &ram_state); 4678 + register_savevm_live("ram", 0, 4, &savevm_ram_handlers, &ram_state); 4679 4679 }
+1 -22
migration/savevm.c
··· 684 684 of the system, so instance_id should be removed/replaced. 685 685 Meanwhile pass -1 as instance_id if you do not already have a clearly 686 686 distinguishing id for all instances of your device class. */ 687 - int register_savevm_live(DeviceState *dev, 688 - const char *idstr, 687 + int register_savevm_live(const char *idstr, 689 688 int instance_id, 690 689 int version_id, 691 690 const SaveVMHandlers *ops, ··· 704 703 se->is_ram = 1; 705 704 } 706 705 707 - if (dev) { 708 - char *id = qdev_get_dev_path(dev); 709 - if (id) { 710 - if (snprintf(se->idstr, sizeof(se->idstr), "%s/", id) >= 711 - sizeof(se->idstr)) { 712 - error_report("Path too long for VMState (%s)", id); 713 - g_free(id); 714 - g_free(se); 715 - 716 - return -1; 717 - } 718 - g_free(id); 719 - 720 - se->compat = g_new0(CompatEntry, 1); 721 - pstrcpy(se->compat->idstr, sizeof(se->compat->idstr), idstr); 722 - se->compat->instance_id = instance_id == -1 ? 723 - calculate_compat_instance_id(idstr) : instance_id; 724 - instance_id = -1; 725 - } 726 - } 727 706 pstrcat(se->idstr, sizeof(se->idstr), idstr); 728 707 729 708 if (instance_id == -1) {
+1 -1
net/slirp.c
··· 576 576 * specific version? 577 577 */ 578 578 g_assert(slirp_state_version() == 4); 579 - register_savevm_live(NULL, "slirp", 0, slirp_state_version(), 579 + register_savevm_live("slirp", 0, slirp_state_version(), 580 580 &savevm_slirp_state, s->slirp); 581 581 582 582 s->poll_notifier.notify = net_slirp_poll_notify;