qemu/include/hw
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
..
acpi hw/acpi: extract acpi_add_rom_blob() 2019-06-16 16:16:52 -04:00
adc
arm hw/arm/fsl-imx6ul.c: Remove dead SMP-related code 2019-07-22 14:07:39 +01:00
audio
block Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char Normalize position of header guard 2019-06-12 13:20:20 +02:00
core
cpu
cris
display edid: add xmax + ymax properties 2019-06-13 09:34:38 +02:00
dma Normalize position of header guard 2019-06-12 13:20:20 +02:00
firmware machine: Refactor smp-related call chains to pass MachineState 2019-07-05 17:07:36 -03:00
gpio
hyperv
i2c hw/i2c/bitbang_i2c: Use in-place rather than malloc'd bitbang_i2c_interface struct 2019-07-03 10:51:35 +02:00
i386 i386: Make unversioned CPU models be aliases 2019-07-05 17:08:04 -03:00
ide
input
intc
ipack
ipmi Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
isa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
kvm Supply missing header guards 2019-06-12 13:20:21 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k Supply missing header guards 2019-06-12 13:20:21 +02:00
mem
mips Supply missing header guards 2019-06-12 13:20:21 +02:00
misc hw/misc/aspeed_xdma: New device 2019-07-01 17:29:00 +01:00
net Normalize position of header guard 2019-06-12 13:20:20 +02:00
nvram
pci pcie_root_port: Allow ACS to be disabled 2019-07-30 12:07:07 -04:00
pci-bridge Supply missing header guards 2019-06-12 13:20:21 +02:00
pci-host ppc patch queue 2019-06-12 2019-06-12 14:43:47 +01:00
ppc spapr/xive: Fix migration of hot-plugged CPUs 2019-08-13 16:50:30 +10:00
rdma
riscv hw/riscv: Load OpenSBI as the default firmware 2019-07-18 14:18:45 -07:00
s390x vfio-ccw: support async command subregion 2019-06-24 17:27:57 +02:00
scsi scsi-disk: Use qdev_prop_drive_iothread 2019-06-04 15:22:22 +02:00
sd Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
semihosting semihosting: split console_out into string and char versions 2019-06-12 17:53:22 +01:00
sh4 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sparc Supply missing header guards 2019-06-12 13:20:21 +02:00
ssi aspeed/smc: add a 'sdram_base' property 2019-07-01 17:28:59 +01:00
timer pl031: Correctly migrate state when using -rtc clock=host 2019-07-15 14:17:04 +01:00
tricore
unicore32
usb
vfio vfio-common.h: Remove inaccurate comment 2019-07-02 13:12:53 -06:00
virtio virtio-balloon: Use temporary PBP only 2019-07-25 07:58:03 -04:00
watchdog aspeed: Link SCU to the watchdog 2019-07-01 17:29:00 +01:00
xen xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xtensa
boards.h machine: Refactor smp_parse() in vl.c as MachineClass::smp_parse() 2019-07-05 17:08:04 -03:00
bt.h
elf_ops.h
empty_slot.h
fw-path-provider.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
hotplug.h
hw.h Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ide.h
irq.h
loader-fit.h
loader.h
nmi.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qdev-core.h Revert "Revert "globals: Allow global properties to be optional"" 2019-07-29 16:57:27 -04:00
qdev-dma.h Supply missing header guards 2019-06-12 13:20:21 +02:00
qdev-properties.h block: Add qdev_prop_drive_iothread property type 2019-06-04 15:22:22 +02:00
qdev.h
register.h
registerfields.h
stream.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sysbus.h
usb.h