qemu/include/hw/ppc
Cédric Le Goater 310cda5b5e spapr/xive: Fix migration of hot-plugged CPUs
The migration sequence of a guest using the XIVE exploitation mode
relies on the fact that the states of all devices are restored before
the machine is. This is not true for hot-plug devices such as CPUs
which state come after the machine. This breaks migration because the
thread interrupt context registers are not correctly set.

Fix migration of hotplugged CPUs by restoring their context in the
'post_load' handler of the XiveTCTX model.

Fixes: 277dd3d771 ("spapr/xive: add migration support for KVM")
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20190813064853.29310-1-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-08-13 16:50:30 +10:00
..
fdt.h target/ppc: Pass cpu instead of env to ppc_create_page_sizes_prop() 2018-04-27 18:05:22 +10:00
mac_dbdma.h mac_dbdma: remove DBDMA_init() function 2017-09-27 13:05:41 +10:00
openpic_kvm.h openpic: move KVM-specific declarations into separate openpic_kvm.h file 2018-03-06 13:16:29 +11:00
openpic.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pnv_core.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
pnv_lpc.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
pnv_occ.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
pnv_psi.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
pnv_xive.h ppc/pnv: add a XIVE interrupt controller model for POWER9 2019-03-12 14:33:04 +11:00
pnv_xscom.h ppc/pnv: fix XSCOM MMIO base address for P9 machines with multiple chips 2019-07-02 09:43:58 +10:00
pnv.h ppc/pnv: remove xscom_base field from PnvChip 2019-07-02 09:43:58 +10:00
ppc4xx.h ppc4xx: Use ram_addr_t in ppc4xx_sdram_adjust() 2019-02-04 18:44:17 +11:00
ppc_e500.h intc/openpic: Build openpic only once 2013-07-09 21:33:02 +02:00
ppc.h ppc: externalize ppc_get_vcpu_by_pir() 2019-03-12 14:33:04 +11:00
spapr_cpu_core.h spapr: Use CamelCase properly 2019-03-12 14:33:05 +11:00
spapr_drc.h spapr: Clean up spapr_drc_populate_dt() 2019-06-12 10:41:49 +10:00
spapr_irq.h spapr/xive: simplify spapr_irq_init_device() to remove the emulated init 2019-07-02 09:43:58 +10:00
spapr_ovec.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
spapr_rtas.h tests: add RTAS command in the protocol 2016-09-23 10:29:40 +10:00
spapr_vio.h spapr: Use CamelCase properly 2019-03-12 14:33:05 +11:00
spapr_xive.h spapr/xive: rework the mapping the KVM memory regions 2019-07-02 09:43:58 +10:00
spapr.h xics/spapr: Register RTAS/hypercalls once at machine init 2019-07-02 09:43:58 +10:00
xics_spapr.h xics/spapr: Rename xics_kvm_init() 2019-07-02 09:43:58 +10:00
xics.h xics/kvm: Add error propagation to ic*_set_kvm_state() functions 2019-07-02 09:43:58 +10:00
xive_regs.h spapr/xive: fix EQ page addresses above 64GB 2019-05-29 11:39:44 +10:00
xive.h spapr/xive: Fix migration of hot-plugged CPUs 2019-08-13 16:50:30 +10:00