A guest running with KVM PR ends up irresponsive after migration most of the time. This happens because the HPT allocated by QEMU is likely to have a different address on the destination than it had on the source, but we push the source address to KVM.
This series does a little cleanup and fixes the issue. I could successfully test it with a nested setup (KVM PR running in KVM HV). However, this isn't enough to fix migration when using KVM PR on baremetal... CPUs seem to end up looping on H_CEDE in the guest. I can't figure out what's happening... Any suggestion would be appreciated. Cheers, -- Greg --- Greg Kurz (4): spapr: only update SDR1 once per-cpu during CAS spapr: introduce a helper to compute the address of the HPT ppc: kvm: introduce a helper to update SDR1 for a single CPU ppc: kvm: update HPT pointer in KVM PR after migration hw/ppc/spapr.c | 15 +++++++++++++++ hw/ppc/spapr_cpu_core.c | 8 +++----- hw/ppc/spapr_hcall.c | 20 +++++++++----------- include/hw/ppc/spapr.h | 1 + target/ppc/cpu.h | 1 + target/ppc/kvm.c | 12 ++++++++---- target/ppc/kvm_ppc.h | 3 ++- target/ppc/machine.c | 7 +++++++ 8 files changed, 46 insertions(+), 21 deletions(-)