qemu-e2k/include/hw
Mark Cave-Ayland ff4a1daba6 esp: fix setting of ESPState mig_version_id when launching QEMU with -S option
If QEMU is launched with the -S option then the ESPState mig_version_id property
is left unset due to the ordering of the VMState fields in the VMStateDescription
for sysbusespscsi and pciespscsi. If the VM is migrated and restored in this
stopped state, the version tests in the vmstate_esp VMStateDescription and
esp_post_load() become confused causing the migration to fail.

Fix the ordering problem by moving the setting of mig_version_id to a common
esp_pre_save() function which is invoked first by both sysbusespscsi and
pciespscsi rather than at the point where ESPState is itself serialised into the
migration stream.

Buglink: https://bugs.launchpad.net/qemu/+bug/1922611
Fixes: 0bd005be78 ("esp: add vmstate_esp version to embedded ESPState")
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210407124842.32695-1-mark.cave-ayland@ilande.co.uk>
2021-04-12 22:31:24 +01:00
..
acpi acpi: Move maximum size logic into acpi_add_rom_blob() 2021-03-22 18:58:19 -04:00
adc hw/adc: Add an ADC module for NPCM7XX 2021-01-12 21:19:02 +00:00
arm hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
audio
block qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
char target-arm queue: 2021-03-23 21:15:17 +00:00
core accel/tcg: Precompute curr_cflags into cpu->tcg_cflags 2021-03-06 11:53:57 -08:00
cpu
cris hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
display
dma hw/dma: Implement a Xilinx CSU DMA model 2021-03-08 17:20:04 +00:00
firmware
gpio
hyperv
i2c hw/i2c: Implement NPCM7XX SMBus Module FIFO Mode 2021-02-16 14:12:54 +00:00
i386 x86: rename oem-id and oem-table-id properties 2021-04-04 17:44:08 -04:00
ide
input
intc m68k: add an interrupt controller 2021-03-15 21:02:20 +01:00
ipack
ipmi
isa vt82c686: Make vt82c686b-pm an abstract base class and add vt8231-pm based on it 2021-02-21 19:42:34 +01:00
kvm
lm32
m68k hw/m68k/next-cube: Add missing header comment to next-cube.h 2021-01-19 09:11:52 +01:00
mem memory: add a sparse memory device for fuzzing 2021-03-16 14:30:30 -04:00
mips hw/mips: Add a bootloader helper 2021-02-21 18:41:04 +01:00
misc hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
net hw/net: Add npcm7xx emc model 2021-03-05 15:17:34 +00:00
nubus
nvram
pci virtio-pci: compat page aligned ATS 2021-04-06 07:11:36 -04:00
pci-bridge
pci-host Pull request 2021-02-10 15:42:20 +00:00
ppc spapr: Fix typo in the patb_entry comment 2021-03-31 11:10:50 +11:00
rdma
remote multi-process: perform device reset in the remote process 2021-02-10 09:23:28 +00:00
riscv hw/riscv: microchip_pfsoc: Map EMMC/SD mux register 2021-03-22 21:54:40 -04:00
rtc
rx
s390x s390x: move S390_ADAPTER_SUPPRESSIBLE 2021-03-26 09:33:50 +01:00
scsi esp: fix setting of ESPState mig_version_id when launching QEMU with -S option 2021-04-12 22:31:24 +01:00
sd Pull request trivial patches 20210220 2021-02-21 12:12:18 +00:00
sh4 hw/sh4: Add missing license 2021-03-06 16:18:42 +01:00
southbridge
sparc hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
ssi hw/ssi: xilinx_spips: Remove DMA related dead codes from zynqmp_spips 2021-03-10 13:54:51 +00:00
timer hw/timer/sse-timer: Model the SSE Subsystem System Timer 2021-03-08 17:20:01 +00:00
tricore tricore: added triboard with tc27x_soc 2021-03-14 14:41:55 +01:00
unicore32
usb usb/storage: move declarations to usb/msd.h header 2021-03-15 17:01:12 +01:00
vfio
virtio virtio-blk: Respect discard granularity 2021-03-15 09:48:53 +00:00
watchdog arm: Remove frq properties on CMSDK timer, dualtimer, watchdog, ARMSSE 2021-01-29 15:54:44 +00:00
xen xen: remove GNUC check 2020-12-15 12:53:13 -05:00
xtensa
boards.h machine: Provide a function to check the dynamic sysbus allowlist 2021-04-06 11:49:14 +01:00
clock.h clock: Add clock_ns_to_ticks() function 2021-03-08 17:20:01 +00:00
elf_ops.h hw/elf_ops: Fix a typo 2021-03-09 21:27:51 +01:00
fw-path-provider.h
hotplug.h
hw.h
ide.h
irq.h
loader-fit.h
loader.h hw/core/loader: Add new function rom_ptr_for_as() 2021-03-23 11:47:31 +00:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h ptimer: Add new ptimer_set_period_from_clock() function 2021-01-29 15:54:42 +00:00
qdev-clock.h clock: Add ClockEvent parameter to callbacks 2021-03-08 17:20:01 +00:00
qdev-core.h machine: introduce MachineInitPhase 2020-12-15 12:51:52 -05:00
qdev-dma.h
qdev-properties-system.h qdev: Reuse DEFINE_PROP in all DEFINE_PROP_* macros 2020-12-18 15:20:17 -05:00
qdev-properties.h qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 2020-12-18 15:20:18 -05:00
register.h hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
registerfields.h
resettable.h
stream.h hw/core/stream: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
sysbus.h
usb.h usb: remove support for -usbdevice parameters 2021-03-15 17:00:58 +01:00
vmstate-if.h