mirror of
https://github.com/qemu/qemu.git
synced 2025-08-13 18:46:38 +00:00

Adds an IGVM loader to QEMU which processes a given IGVM file and applies the directives within the file to the current guest configuration. The IGVM loader can be used to configure both confidential and non-confidential guests. For confidential guests, the ConfidentialGuestSupport object for the system is used to encrypt memory, apply the initial CPU state and perform other confidential guest operations. The loader is configured via a new IgvmCfg QOM object which allows the user to provide a path to the IGVM file to process. Signed-off-by: Roy Hopkins <roy.hopkins@randomman.co.uk> Acked-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Gerd Hoffman <kraxel@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Link: https://lore.kernel.org/r/ae3a07d8f514d93845a9c16bb155c847cb567b0d.1751554099.git.roy.hopkins@randomman.co.uk Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
46 lines
1.3 KiB
Meson
46 lines
1.3 KiB
Meson
system_ss.add([files(
|
|
'cryptodev-builtin.c',
|
|
'cryptodev-hmp-cmds.c',
|
|
'cryptodev.c',
|
|
'hostmem-ram.c',
|
|
'hostmem.c',
|
|
'rng-builtin.c',
|
|
'rng-egd.c',
|
|
'rng.c',
|
|
'confidential-guest-support.c',
|
|
), numa])
|
|
|
|
if host_os != 'windows'
|
|
system_ss.add(files('rng-random.c'))
|
|
if host_os != 'emscripten'
|
|
system_ss.add(files('hostmem-file.c'))
|
|
system_ss.add([files('hostmem-shm.c'), rt])
|
|
endif
|
|
endif
|
|
if host_os == 'linux'
|
|
system_ss.add(files('hostmem-memfd.c'))
|
|
system_ss.add(files('host_iommu_device.c'))
|
|
endif
|
|
if keyutils.found()
|
|
system_ss.add(keyutils, files('cryptodev-lkcf.c'))
|
|
endif
|
|
if have_vhost_user
|
|
system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('vhost-user.c'))
|
|
endif
|
|
system_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost.c'))
|
|
system_ss.add(when: 'CONFIG_IOMMUFD', if_true: files('iommufd.c'))
|
|
if have_vhost_user_crypto
|
|
system_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('cryptodev-vhost-user.c'))
|
|
endif
|
|
system_ss.add(when: gio, if_true: files('dbus-vmstate.c'))
|
|
system_ss.add(when: 'CONFIG_SGX', if_true: files('hostmem-epc.c'))
|
|
if igvm.found()
|
|
system_ss.add(igvm)
|
|
system_ss.add(files('igvm-cfg.c'), igvm)
|
|
system_ss.add(files('igvm.c'), igvm)
|
|
endif
|
|
|
|
system_ss.add(when: 'CONFIG_SPDM_SOCKET', if_true: files('spdm-socket.c'))
|
|
|
|
subdir('tpm')
|