qemu-e2k/include/sysemu
William Roche 06152b89db migration: prevent migration when VM has poisoned memory
A memory page poisoned from the hypervisor level is no longer readable.
The migration of a VM will crash Qemu when it tries to read the
memory address space and stumbles on the poisoned page with a similar
stack trace:

Program terminated with signal SIGBUS, Bus error.
#0  _mm256_loadu_si256
#1  buffer_zero_avx2
#2  select_accel_fn
#3  buffer_is_zero
#4  save_zero_page
#5  ram_save_target_page_legacy
#6  ram_save_host_page
#7  ram_find_and_save_block
#8  ram_save_iterate
#9  qemu_savevm_state_iterate
#10 migration_iteration_run
#11 migration_thread
#12 qemu_thread_start

To avoid this VM crash during the migration, prevent the migration
when a known hardware poison exists on the VM.

Signed-off-by: William Roche <william.roche@oracle.com>
Link: https://lore.kernel.org/r/20240130190640.139364-2-william.roche@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
2024-02-05 14:41:58 +08:00
..
accel-blocker.h
accel-ops.h accel: Introduce cpu_exec_reset_hold() 2023-11-07 12:13:27 +01:00
arch_init.h
balloon.h
block-backend-common.h
block-backend-global-state.h block: Mark bdrv_first_blk() and bdrv_is_root_node() GRAPH_RDLOCK 2023-10-12 16:31:33 +02:00
block-backend-io.h util/defer-call: move defer_call() to util/ 2023-10-31 15:41:42 +01:00
block-backend.h
block-ram-registrar.h
blockdev.h
cpu-throttle.h
cpu-timers-internal.h
cpu-timers.h system/replay: Restrict icount to system emulation 2024-01-19 12:28:59 +01:00
cpus.h
cryptodev-vhost-user.h
cryptodev-vhost.h
cryptodev.h
device_tree.h
dirtylimit.h
dirtyrate.h
dma.h
dump-arch.h dump: Add arch cleanup function 2023-11-14 10:42:32 +01:00
dump.h dump: Allow directly outputting raw kdump format 2023-11-02 18:05:02 +04:00
event-loop-base.h
hostmem.h backends: Have HostMemoryBackendClass::alloc() handler return a boolean 2024-01-05 16:20:15 +01:00
hvf_int.h
hvf.h
hw_accel.h
iommufd.h backends/iommufd: Remove mutex 2024-01-05 21:25:20 +01:00
iothread.h
kvm_int.h Add class property to configure KVM device node to use 2024-01-18 10:43:14 +01:00
kvm_xen.h hw/xen: select kernel mode for per-vCPU event channel upcall vector 2023-11-06 10:03:45 +00:00
kvm.h migration: prevent migration when VM has poisoned memory 2024-02-05 14:41:58 +08:00
memory_mapping.h memory: follow Error API guidelines 2023-10-19 23:13:27 +02:00
numa.h
nvmm.h
os-posix.h
os-win32.h
qtest.h system/qtest: Restrict QTest API to system emulation 2023-12-20 10:29:23 +01:00
replay.h system/replay: Restrict icount to system emulation 2024-01-19 12:28:59 +01:00
reset.h
rng-random.h
rng.h
rtc.h
runstate-action.h
runstate.h cpus: vm_resume 2024-01-04 09:52:42 +08:00
seccomp.h
stats.h
sysemu.h
tcg.h
tpm_backend.h
tpm_util.h
tpm.h
vhost-user-backend.h
watchdog.h
whpx.h
xen-mapcache.h
xen.h