Fabian reports two issues with migration on ppc64le, one of which with a proposed fix, which I include in this series.
1) XICS migration causes a guest hang after migration due to missing ICP server state. Fix is to bring back the vmstate_register call for that device. Breaks backward migration, but it was already non-functional anyway. 2) pseries migration causes a guest hang after migration due to a new variable used to track the stopped state of vcpus, which is not migrated. Fix is to migrate the new variable. To avoid breaking backward migration, a compat property is added. Breaks forward migration, a workaround is proposed. I also added some functional tests changes because there are currently no test that can detect the kind of hangs seen here. RFC on those, feel free to nitpick. Thanks CI run: https://gitlab.com/farosas/qemu/-/pipelines/1992482993 Fabian Vogt (1): hw/intc/xics: Add missing call to register vmstate_icp_server Fabiano Rosas (3): tests/functional: Extract migration code into a new class tests/functional: Add a OS level migration test for pseries target/ppc: Fix env->quiesced migration hw/core/machine.c | 1 + hw/intc/xics.c | 2 ++ target/ppc/cpu.h | 1 + target/ppc/cpu_init.c | 7 +++++ target/ppc/machine.c | 40 ++++++++++++++++++++++++ tests/functional/qemu_test/migration.py | 40 ++++++++++++++++++++++++ tests/functional/test_migration.py | 24 ++------------- tests/functional/test_ppc64_pseries.py | 41 +++++++++++++++++++++++++ 8 files changed, 135 insertions(+), 21 deletions(-) create mode 100644 tests/functional/qemu_test/migration.py -- 2.35.3