libvirt/src/qemu
zhenwei pi 7555a55470 qemu: implement memory failure event
Since QEMU 5.2 (commit-77b285f7f6), QEMU supports 'memory failure'
event, posts event to monitor if hitting a hardware memory error.
Fully support this feature for QEMU.

Test with commit 'libvirt: support memory failure event', build a
little complex environment(nested KVM):
1, install newly built libvirt in L1, and start a L2 vm. run command
in L1:
 ~# virsh event l2 --event memory-failure

2, run command in L0 to inject MCE to L1:
 ~# virsh qemu-monitor-command l1 --hmp mce 0 9 0xbd000000000000c0 0xd 0x62000000 0x8c

Test result in l1(recipient hypervisor case):
event 'memory-failure' for domain l2:
recipient: hypervisor
action: ignore
flags:
        action required: 0
        recursive: 0

Test result in l1(recipient guest case):
event 'memory-failure' for domain l2:
recipient: guest
action: inject
flags:
        action required: 0
        recursive: 0

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2020-10-23 09:42:00 +02:00
..
EVENTHANDLERS.txt
libvirt_qemu_probes.d
libvirtd_qemu.aug
meson.build
MIGRATION.txt
qemu_agent.c qemu: agent: fix array access 2020-10-20 15:53:52 +02:00
qemu_agent.h
qemu_alias.c
qemu_alias.h
qemu_backup.c qemu: block: Extract code for adding NBD exports to 'qemuBlockExportAddNBD' 2020-10-19 13:36:58 +02:00
qemu_backup.h
qemu_block.c Replace all instances of 'virHashCreate' with 'virHashNew' 2020-10-22 15:02:46 +02:00
qemu_block.h qemu: Add infrastructure for 'block-export-add' to export NBD 2020-10-19 13:36:58 +02:00
qemu_blockjob.c util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_blockjob.h
qemu_capabilities.c util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_capabilities.h qemu: add vhost-vdpa capability 2020-10-20 14:47:20 -04:00
qemu_capspriv.h qemu: Track default-ram-id machine attribute 2020-10-01 12:04:48 +02:00
qemu_cgroup.c qemu: use g_autoptr for virCgroup 2020-10-09 16:24:44 +02:00
qemu_cgroup.h
qemu_checkpoint.c util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_checkpoint.h
qemu_command.c qemu: stop passing -enable-fips to QEMU >= 5.2.0 2020-10-22 09:03:33 +02:00
qemu_command.h qemu: stop passing -enable-fips to QEMU >= 5.2.0 2020-10-22 09:03:33 +02:00
qemu_conf.c qemu: use g_new0 2020-10-05 16:44:06 +02:00
qemu_conf.h lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_dbus.c
qemu_dbus.h
qemu_domain_address.c qemu: use g_new0 2020-10-05 16:44:06 +02:00
qemu_domain_address.h
qemu_domain.c util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_domain.h util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_domainjob.c qemuProcessReconnect: clear 'oldjob' 2020-09-14 18:10:56 +02:00
qemu_domainjob.h qemuProcessReconnect: clear 'oldjob' 2020-09-14 18:10:56 +02:00
qemu_driver.c Replace all instances of 'virHashCreate' with 'virHashNew' 2020-10-22 15:02:46 +02:00
qemu_driver.h
qemu_extdevice.c
qemu_extdevice.h
qemu_firmware.c qemu: firmware: use g_new0 2020-10-05 16:44:06 +02:00
qemu_firmware.h
qemu_hostdev.c lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_hostdev.h
qemu_hotplug.c qemu: support hotplug of vdpa devices 2020-10-20 15:15:06 -04:00
qemu_hotplug.h
qemu_interface.c qemu: add vdpa support 2020-10-20 14:48:02 -04:00
qemu_interface.h qemu: add vdpa support 2020-10-20 14:48:02 -04:00
qemu_interop_config.c util: hash: Remove virHashValueFree 2020-10-22 15:02:46 +02:00
qemu_interop_config.h qemu: generalize qemuFetchConfigs 2019-09-24 12:17:10 -04:00
qemu_migration_cookie.c util: hash: Remove virHashValueFree 2020-10-22 15:02:46 +02:00
qemu_migration_cookie.h qemu: migration: Rename qemuMigrationEatCookie to qemuMigrationCookieParse 2020-10-01 10:01:05 +02:00
qemu_migration_params.c virBitmapNew: Don't check return value 2020-10-05 15:38:47 +02:00
qemu_migration_params.h qemu: Allow migration over UNIX socket 2020-09-05 07:55:45 +02:00
qemu_migration_paramspriv.h
qemu_migration.c virHashAtomicNew: Remove 'size' argument 2020-10-22 15:02:46 +02:00
qemu_migration.h qemu: Allow NBD migration over UNIX socket 2020-09-04 10:20:49 +02:00
qemu_monitor_json.c qemu: implement memory failure event 2020-10-23 09:42:00 +02:00
qemu_monitor_json.h qemu: add monitor functions for handling file descriptors 2020-10-20 15:14:37 -04:00
qemu_monitor_priv.h
qemu_monitor_text.c
qemu_monitor_text.h
qemu_monitor.c qemu: implement memory failure event 2020-10-23 09:42:00 +02:00
qemu_monitor.h qemu: implement memory failure event 2020-10-23 09:42:00 +02:00
qemu_namespace.c qemu: use g_new0 2020-10-05 16:44:06 +02:00
qemu_namespace.h
qemu_process.c qemu: implement memory failure event 2020-10-23 09:42:00 +02:00
qemu_process.h qemu: Prepare hostdev data which depends on the host state separately 2020-10-20 15:08:22 +02:00
qemu_processpriv.h
qemu_qapi.c Replace all instances of 'virHashCreate' with 'virHashNew' 2020-10-22 15:02:46 +02:00
qemu_qapi.h
qemu_saveimage.c qemu: use g_new0 2020-10-05 16:44:06 +02:00
qemu_saveimage.h
qemu_security.c
qemu_security.h
qemu_shim.c
qemu_slirp.c virBitmapNew: Don't check return value 2020-10-05 15:38:47 +02:00
qemu_slirp.h
qemu_snapshot.c util: hash: Change type of hash table name/key to 'char' 2020-10-22 15:02:46 +02:00
qemu_snapshot.h qemu: snapshot: Introduce helpers for creating overlays on <transient/> disks 2020-10-01 09:55:02 +02:00
qemu_tpm.c
qemu_tpm.h
qemu_validate.c qemu: add vdpa support 2020-10-20 14:48:02 -04:00
qemu_validate.h
qemu_vhost_user_gpu.c
qemu_vhost_user_gpu.h
qemu_vhost_user.c qemu: use g_new0 2020-10-05 16:44:06 +02:00
qemu_vhost_user.h
qemu_virtiofs.c
qemu_virtiofs.h
qemu.conf qemu.conf: Re-word the description for *_tls_x509_verify 2020-10-09 10:18:45 +02:00
test_libvirtd_qemu.aug.in
THREADS.txt
virtqemud.init.in
virtqemud.service.in
virtqemud.sysconf