|
@@ -308,6 +308,10 @@ multiprocess_allowed = get_option('multiprocess') \
|
|
.require(targetos == 'linux', error_message: 'Multiprocess QEMU is supported only on Linux') \
|
|
.require(targetos == 'linux', error_message: 'Multiprocess QEMU is supported only on Linux') \
|
|
.allowed()
|
|
.allowed()
|
|
|
|
|
|
|
|
+vfio_user_server_allowed = get_option('vfio_user_server') \
|
|
|
|
+ .require(targetos == 'linux', error_message: 'vfio-user server is supported only on Linux') \
|
|
|
|
+ .allowed()
|
|
|
|
+
|
|
have_tpm = get_option('tpm') \
|
|
have_tpm = get_option('tpm') \
|
|
.require(targetos != 'windows', error_message: 'TPM emulation only available on POSIX systems') \
|
|
.require(targetos != 'windows', error_message: 'TPM emulation only available on POSIX systems') \
|
|
.allowed()
|
|
.allowed()
|
|
@@ -2380,7 +2384,8 @@ host_kconfig = \
|
|
(have_virtfs ? ['CONFIG_VIRTFS=y'] : []) + \
|
|
(have_virtfs ? ['CONFIG_VIRTFS=y'] : []) + \
|
|
('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
|
|
('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
|
|
(have_pvrdma ? ['CONFIG_PVRDMA=y'] : []) + \
|
|
(have_pvrdma ? ['CONFIG_PVRDMA=y'] : []) + \
|
|
- (multiprocess_allowed ? ['CONFIG_MULTIPROCESS_ALLOWED=y'] : [])
|
|
|
|
|
|
+ (multiprocess_allowed ? ['CONFIG_MULTIPROCESS_ALLOWED=y'] : []) + \
|
|
|
|
+ (vfio_user_server_allowed ? ['CONFIG_VFIO_USER_SERVER_ALLOWED=y'] : [])
|
|
|
|
|
|
ignored = [ 'TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_ARCH' ]
|
|
ignored = [ 'TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_ARCH' ]
|
|
|
|
|
|
@@ -2672,6 +2677,21 @@ if have_system
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
|
|
|
|
+libvfio_user_dep = not_found
|
|
|
|
+if have_system and vfio_user_server_allowed
|
|
|
|
+ have_internal = fs.exists(meson.current_source_dir() / 'subprojects/libvfio-user/meson.build')
|
|
|
|
+
|
|
|
|
+ if not have_internal
|
|
|
|
+ error('libvfio-user source not found - please pull git submodule')
|
|
|
|
+ endif
|
|
|
|
+
|
|
|
|
+ libvfio_user_proj = subproject('libvfio-user')
|
|
|
|
+
|
|
|
|
+ libvfio_user_lib = libvfio_user_proj.get_variable('libvfio_user_dep')
|
|
|
|
+
|
|
|
|
+ libvfio_user_dep = declare_dependency(dependencies: [libvfio_user_lib])
|
|
|
|
+endif
|
|
|
|
+
|
|
fdt = not_found
|
|
fdt = not_found
|
|
if have_system
|
|
if have_system
|
|
fdt_opt = get_option('fdt')
|
|
fdt_opt = get_option('fdt')
|
|
@@ -3790,6 +3810,7 @@ summary_info += {'target list': ' '.join(target_dirs)}
|
|
if have_system
|
|
if have_system
|
|
summary_info += {'default devices': get_option('default_devices')}
|
|
summary_info += {'default devices': get_option('default_devices')}
|
|
summary_info += {'out of process emulation': multiprocess_allowed}
|
|
summary_info += {'out of process emulation': multiprocess_allowed}
|
|
|
|
+ summary_info += {'vfio-user server': vfio_user_server_allowed}
|
|
endif
|
|
endif
|
|
summary(summary_info, bool_yn: true, section: 'Targets and accelerators')
|
|
summary(summary_info, bool_yn: true, section: 'Targets and accelerators')
|
|
|
|
|