mirror of
https://github.com/qemu/qemu.git
synced 2025-08-04 08:23:09 +00:00
meson: Add optional dependency on IGVM library
The IGVM library allows Independent Guest Virtual Machine files to be parsed and processed. IGVM files are used to configure guest memory layout, initial processor state and other configuration pertaining to secure virtual machines. This adds the --enable-igvm configure option, enabled by default, which attempts to locate and link against the IGVM library via pkgconfig and sets CONFIG_IGVM if found. The library is added to the system_ss target in backends/meson.build where the IGVM parsing will be performed by the ConfidentialGuestSupport object. 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: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Ani Sinha <anisinha@redhat.com> Link: https://lore.kernel.org/r/45945a83a638c3f08e68c025f378e7b7f4f6d593.1751554099.git.roy.hopkins@randomman.co.uk Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b28f6d5c16
commit
84fe49d94a
@ -34,6 +34,9 @@ if have_vhost_user_crypto
|
|||||||
endif
|
endif
|
||||||
system_ss.add(when: gio, if_true: files('dbus-vmstate.c'))
|
system_ss.add(when: gio, if_true: files('dbus-vmstate.c'))
|
||||||
system_ss.add(when: 'CONFIG_SGX', if_true: files('hostmem-epc.c'))
|
system_ss.add(when: 'CONFIG_SGX', if_true: files('hostmem-epc.c'))
|
||||||
|
if igvm.found()
|
||||||
|
system_ss.add(igvm)
|
||||||
|
endif
|
||||||
|
|
||||||
system_ss.add(when: 'CONFIG_SPDM_SOCKET', if_true: files('spdm-socket.c'))
|
system_ss.add(when: 'CONFIG_SPDM_SOCKET', if_true: files('spdm-socket.c'))
|
||||||
|
|
||||||
|
@ -1424,6 +1424,12 @@ if host_os == 'linux' and (have_system or have_tools)
|
|||||||
method: 'pkg-config',
|
method: 'pkg-config',
|
||||||
required: get_option('libudev'))
|
required: get_option('libudev'))
|
||||||
endif
|
endif
|
||||||
|
igvm = not_found
|
||||||
|
if not get_option('igvm').auto() or have_system
|
||||||
|
igvm = dependency('igvm', version: '>= 0.3.0',
|
||||||
|
method: 'pkg-config',
|
||||||
|
required: get_option('igvm'))
|
||||||
|
endif
|
||||||
|
|
||||||
mpathlibs = [libudev]
|
mpathlibs = [libudev]
|
||||||
mpathpersist = not_found
|
mpathpersist = not_found
|
||||||
@ -2601,6 +2607,7 @@ config_host_data.set('CONFIG_CFI', get_option('cfi'))
|
|||||||
config_host_data.set('CONFIG_SELINUX', selinux.found())
|
config_host_data.set('CONFIG_SELINUX', selinux.found())
|
||||||
config_host_data.set('CONFIG_XEN_BACKEND', xen.found())
|
config_host_data.set('CONFIG_XEN_BACKEND', xen.found())
|
||||||
config_host_data.set('CONFIG_LIBDW', libdw.found())
|
config_host_data.set('CONFIG_LIBDW', libdw.found())
|
||||||
|
config_host_data.set('CONFIG_IGVM', igvm.found())
|
||||||
if xen.found()
|
if xen.found()
|
||||||
# protect from xen.version() having less than three components
|
# protect from xen.version() having less than three components
|
||||||
xen_version = xen.version().split('.') + ['0', '0']
|
xen_version = xen.version().split('.') + ['0', '0']
|
||||||
@ -4965,6 +4972,7 @@ summary_info += {'seccomp support': seccomp}
|
|||||||
summary_info += {'GlusterFS support': glusterfs}
|
summary_info += {'GlusterFS support': glusterfs}
|
||||||
summary_info += {'hv-balloon support': hv_balloon}
|
summary_info += {'hv-balloon support': hv_balloon}
|
||||||
summary_info += {'TPM support': have_tpm}
|
summary_info += {'TPM support': have_tpm}
|
||||||
|
summary_info += {'IGVM support': igvm}
|
||||||
summary_info += {'libssh support': libssh}
|
summary_info += {'libssh support': libssh}
|
||||||
summary_info += {'lzo support': lzo}
|
summary_info += {'lzo support': lzo}
|
||||||
summary_info += {'snappy support': snappy}
|
summary_info += {'snappy support': snappy}
|
||||||
|
@ -117,6 +117,8 @@ option('tpm', type : 'feature', value : 'auto',
|
|||||||
description: 'TPM support')
|
description: 'TPM support')
|
||||||
option('valgrind', type : 'feature', value: 'auto',
|
option('valgrind', type : 'feature', value: 'auto',
|
||||||
description: 'valgrind debug support for coroutine stacks')
|
description: 'valgrind debug support for coroutine stacks')
|
||||||
|
option('igvm', type: 'feature', value: 'auto',
|
||||||
|
description: 'Independent Guest Virtual Machine (IGVM) file support')
|
||||||
|
|
||||||
# Do not enable it by default even for Mingw32, because it doesn't
|
# Do not enable it by default even for Mingw32, because it doesn't
|
||||||
# work on Wine.
|
# work on Wine.
|
||||||
|
@ -130,6 +130,7 @@ meson_options_help() {
|
|||||||
printf "%s\n" ' hv-balloon hv-balloon driver (requires Glib 2.68+ GTree API)'
|
printf "%s\n" ' hv-balloon hv-balloon driver (requires Glib 2.68+ GTree API)'
|
||||||
printf "%s\n" ' hvf HVF acceleration support'
|
printf "%s\n" ' hvf HVF acceleration support'
|
||||||
printf "%s\n" ' iconv Font glyph conversion support'
|
printf "%s\n" ' iconv Font glyph conversion support'
|
||||||
|
printf "%s\n" ' igvm IGVM file support'
|
||||||
printf "%s\n" ' jack JACK sound support'
|
printf "%s\n" ' jack JACK sound support'
|
||||||
printf "%s\n" ' keyring Linux keyring support'
|
printf "%s\n" ' keyring Linux keyring support'
|
||||||
printf "%s\n" ' kvm KVM acceleration support'
|
printf "%s\n" ' kvm KVM acceleration support'
|
||||||
@ -346,6 +347,8 @@ _meson_option_parse() {
|
|||||||
--iasl=*) quote_sh "-Diasl=$2" ;;
|
--iasl=*) quote_sh "-Diasl=$2" ;;
|
||||||
--enable-iconv) printf "%s" -Diconv=enabled ;;
|
--enable-iconv) printf "%s" -Diconv=enabled ;;
|
||||||
--disable-iconv) printf "%s" -Diconv=disabled ;;
|
--disable-iconv) printf "%s" -Diconv=disabled ;;
|
||||||
|
--enable-igvm) printf "%s" -Digvm=enabled ;;
|
||||||
|
--disable-igvm) printf "%s" -Digvm=disabled ;;
|
||||||
--includedir=*) quote_sh "-Dincludedir=$2" ;;
|
--includedir=*) quote_sh "-Dincludedir=$2" ;;
|
||||||
--enable-install-blobs) printf "%s" -Dinstall_blobs=true ;;
|
--enable-install-blobs) printf "%s" -Dinstall_blobs=true ;;
|
||||||
--disable-install-blobs) printf "%s" -Dinstall_blobs=false ;;
|
--disable-install-blobs) printf "%s" -Dinstall_blobs=false ;;
|
||||||
|
Loading…
Reference in New Issue
Block a user