On Wed, Oct 16, 2019 at 10:29:29AM +0800, Peter Xu wrote: > v2: > - use uint32_t rather than int64_t [Juan] > - one more patch (patch 4) to check dup SaveStateEntry [Dave] > - one more patch to define a macro (patch 1) to simplify patch 2 > > Please review, thanks.
I wonder how hard it is to write a simple test case to reproduce the original bug. We can extend tests/migration-test.c or tests/acceptance/migration.py. If using -device with explicit apic-id, we probably don't even need to create >255 VCPUs. > > Peter Xu (4): > migration: Define VMSTATE_INSTANCE_ID_ANY > migration: Change SaveStateEntry.instance_id into uint32_t > apic: Use 32bit APIC ID for migration instance ID > migration: Check in savevm_state_handler_insert for dups > > hw/arm/stellaris.c | 2 +- > hw/core/qdev.c | 3 ++- > hw/display/ads7846.c | 2 +- > hw/i2c/core.c | 2 +- > hw/input/stellaris_input.c | 3 ++- > hw/intc/apic_common.c | 7 +++++-- > hw/misc/max111x.c | 2 +- > hw/net/eepro100.c | 2 +- > hw/pci/pci.c | 2 +- > hw/ppc/spapr.c | 2 +- > hw/timer/arm_timer.c | 2 +- > hw/tpm/tpm_emulator.c | 3 ++- > include/migration/register.h | 2 +- > include/migration/vmstate.h | 6 ++++-- > migration/savevm.c | 40 +++++++++++++++++++++++++----------- > stubs/vmstate.c | 2 +- > 16 files changed, 53 insertions(+), 29 deletions(-) > > -- > 2.21.0 > -- Eduardo