migration: Define VMSTATE_INSTANCE_ID_ANY
Define the new macro VMSTATE_INSTANCE_ID_ANY for callers who wants to auto-generate the vmstate instance ID. Previously it was hard coded as -1 instead of this macro. It helps to change this default value in the follow up patches. No functional change. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
8bba004cca
commit
1df2c9a26f
@ -412,7 +412,8 @@ dbus_vmstate_complete(UserCreatable *uc, Error **errp)
|
||||
return;
|
||||
}
|
||||
|
||||
if (vmstate_register(VMSTATE_IF(self), -1, &dbus_vmstate, self) < 0) {
|
||||
if (vmstate_register(VMSTATE_IF(self), VMSTATE_INSTANCE_ID_ANY,
|
||||
&dbus_vmstate, self) < 0) {
|
||||
error_setg(errp, "Failed to register vmstate");
|
||||
}
|
||||
}
|
||||
|
@ -708,7 +708,7 @@ static int stellaris_sys_init(uint32_t base, qemu_irq irq,
|
||||
memory_region_init_io(&s->iomem, NULL, &ssys_ops, s, "ssys", 0x00001000);
|
||||
memory_region_add_subregion(get_system_memory(), base, &s->iomem);
|
||||
ssys_reset(s);
|
||||
vmstate_register(NULL, -1, &vmstate_stellaris_sys, s);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_stellaris_sys, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -879,7 +879,8 @@ static void device_set_realized(Object *obj, bool value, Error **errp)
|
||||
|
||||
if (qdev_get_vmsd(dev)) {
|
||||
if (vmstate_register_with_alias_id(VMSTATE_IF(dev),
|
||||
-1, qdev_get_vmsd(dev), dev,
|
||||
VMSTATE_INSTANCE_ID_ANY,
|
||||
qdev_get_vmsd(dev), dev,
|
||||
dev->instance_id_alias,
|
||||
dev->alias_required_for_version,
|
||||
&local_err) < 0) {
|
||||
|
@ -154,7 +154,7 @@ static void ads7846_realize(SSISlave *d, Error **errp)
|
||||
|
||||
ads7846_int_update(s);
|
||||
|
||||
vmstate_register(NULL, -1, &vmstate_ads7846, s);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_ads7846, s);
|
||||
}
|
||||
|
||||
static void ads7846_class_init(ObjectClass *klass, void *data)
|
||||
|
@ -61,7 +61,7 @@ I2CBus *i2c_init_bus(DeviceState *parent, const char *name)
|
||||
|
||||
bus = I2C_BUS(qbus_create(TYPE_I2C_BUS, parent, name));
|
||||
QLIST_INIT(&bus->current_devs);
|
||||
vmstate_register(NULL, -1, &vmstate_i2c_bus, bus);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_i2c_bus, bus);
|
||||
return bus;
|
||||
}
|
||||
|
||||
|
@ -88,5 +88,6 @@ void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode)
|
||||
}
|
||||
s->num_buttons = n;
|
||||
qemu_add_kbd_event_handler(stellaris_gamepad_put_key, s);
|
||||
vmstate_register(NULL, -1, &vmstate_stellaris_gamepad, s);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY,
|
||||
&vmstate_stellaris_gamepad, s);
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ static void apic_common_realize(DeviceState *dev, Error **errp)
|
||||
}
|
||||
|
||||
if (s->legacy_instance_id) {
|
||||
instance_id = -1;
|
||||
instance_id = VMSTATE_INSTANCE_ID_ANY;
|
||||
}
|
||||
vmstate_register_with_alias_id(NULL, instance_id, &vmstate_apic_common,
|
||||
s, -1, 0, NULL);
|
||||
|
@ -146,7 +146,8 @@ static int max111x_init(SSISlave *d, int inputs)
|
||||
s->input[7] = 0x80;
|
||||
s->com = 0;
|
||||
|
||||
vmstate_register(VMSTATE_IF(dev), -1, &vmstate_max111x, s);
|
||||
vmstate_register(VMSTATE_IF(dev), VMSTATE_INSTANCE_ID_ANY,
|
||||
&vmstate_max111x, s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1874,7 +1874,8 @@ static void e100_nic_realize(PCIDevice *pci_dev, Error **errp)
|
||||
|
||||
s->vmstate = g_memdup(&vmstate_eepro100, sizeof(vmstate_eepro100));
|
||||
s->vmstate->name = qemu_get_queue(s->nic)->model;
|
||||
vmstate_register(VMSTATE_IF(&pci_dev->qdev), -1, s->vmstate, s);
|
||||
vmstate_register(VMSTATE_IF(&pci_dev->qdev), VMSTATE_INSTANCE_ID_ANY,
|
||||
s->vmstate, s);
|
||||
}
|
||||
|
||||
static void eepro100_instance_init(Object *obj)
|
||||
|
@ -122,7 +122,7 @@ static void pci_bus_realize(BusState *qbus, Error **errp)
|
||||
bus->machine_done.notify = pcibus_machine_done;
|
||||
qemu_add_machine_init_done_notifier(&bus->machine_done);
|
||||
|
||||
vmstate_register(NULL, -1, &vmstate_pcibus, bus);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_pcibus, bus);
|
||||
}
|
||||
|
||||
static void pcie_bus_realize(BusState *qbus, Error **errp)
|
||||
|
@ -2948,7 +2948,7 @@ static void spapr_machine_init(MachineState *machine)
|
||||
* interface, this is a legacy from the sPAPREnvironment structure
|
||||
* which predated MachineState but had a similar function */
|
||||
vmstate_register(NULL, 0, &vmstate_spapr, spapr);
|
||||
register_savevm_live("spapr/htab", -1, 1,
|
||||
register_savevm_live("spapr/htab", VMSTATE_INSTANCE_ID_ANY, 1,
|
||||
&savevm_htab_handlers, spapr);
|
||||
|
||||
qbus_set_hotplug_handler(sysbus_get_default(), OBJECT(machine),
|
||||
|
@ -180,7 +180,7 @@ static arm_timer_state *arm_timer_init(uint32_t freq)
|
||||
s->control = TIMER_CTRL_IE;
|
||||
|
||||
s->timer = ptimer_init(arm_timer_tick, s, PTIMER_POLICY_DEFAULT);
|
||||
vmstate_register(NULL, -1, &vmstate_arm_timer, s);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY, &vmstate_arm_timer, s);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -914,7 +914,8 @@ static void tpm_emulator_inst_init(Object *obj)
|
||||
tpm_emu->cur_locty_number = ~0;
|
||||
qemu_mutex_init(&tpm_emu->mutex);
|
||||
|
||||
vmstate_register(NULL, -1, &vmstate_tpm_emulator, obj);
|
||||
vmstate_register(NULL, VMSTATE_INSTANCE_ID_ANY,
|
||||
&vmstate_tpm_emulator, obj);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1157,6 +1157,8 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateDescription *vmsd,
|
||||
|
||||
bool vmstate_save_needed(const VMStateDescription *vmsd, void *opaque);
|
||||
|
||||
#define VMSTATE_INSTANCE_ID_ANY -1
|
||||
|
||||
/* Returns: 0 on success, -1 on failure */
|
||||
int vmstate_register_with_alias_id(VMStateIf *obj, int instance_id,
|
||||
const VMStateDescription *vmsd,
|
||||
|
@ -775,7 +775,7 @@ int register_savevm_live(const char *idstr,
|
||||
|
||||
pstrcat(se->idstr, sizeof(se->idstr), idstr);
|
||||
|
||||
if (instance_id == -1) {
|
||||
if (instance_id == VMSTATE_INSTANCE_ID_ANY) {
|
||||
se->instance_id = calculate_new_instance_id(se->idstr);
|
||||
} else {
|
||||
se->instance_id = instance_id;
|
||||
@ -842,14 +842,14 @@ int vmstate_register_with_alias_id(VMStateIf *obj, int instance_id,
|
||||
|
||||
se->compat = g_new0(CompatEntry, 1);
|
||||
pstrcpy(se->compat->idstr, sizeof(se->compat->idstr), vmsd->name);
|
||||
se->compat->instance_id = instance_id == -1 ?
|
||||
se->compat->instance_id = instance_id == VMSTATE_INSTANCE_ID_ANY ?
|
||||
calculate_compat_instance_id(vmsd->name) : instance_id;
|
||||
instance_id = -1;
|
||||
instance_id = VMSTATE_INSTANCE_ID_ANY;
|
||||
}
|
||||
}
|
||||
pstrcat(se->idstr, sizeof(se->idstr), vmsd->name);
|
||||
|
||||
if (instance_id == -1) {
|
||||
if (instance_id == VMSTATE_INSTANCE_ID_ANY) {
|
||||
se->instance_id = calculate_new_instance_id(se->idstr);
|
||||
} else {
|
||||
se->instance_id = instance_id;
|
||||
|
Loading…
Reference in New Issue
Block a user