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


Reply via email to