mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
libxl: use API 4.13 to support domUs with more than 4TB
To support domUs with more than 4TB memory it is required to use LIBXL_API_VERSION >= 0x040800, which uses uint64_t for certained guest memory related quantities. Unfortunately this change is not straight forward. While most of the code in libxl.h handles the various LIBXL_API_VERSION variants correctly, the check for valid a LIBXL_API_VERSION at the beginning of the file was broken between Xen 4.7 and 4.13 - it did not cover for API changes introduced in Xen 4.7 and 4.8. This was fixed with xen-project/xen@c3999835df, which for libvirt means in practice either the libxl API from Xen 4.5 or 4.13+ can be used. This change uses pkgconfig to decide which API can be safely selected. Xen provides a pkgconfig file since Xen 4.6, which is also the lowest version expected by libvirt. Signed-off-by: Olaf Hering <olaf@aepfle.de> Reviewed-by: Jim Fehlig <jfehlig@suse.com>
This commit is contained in:
parent
8bc6a55f1b
commit
2fc3a704e7
@ -1592,8 +1592,13 @@ if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
|
|||||||
xtl_link_dep = cc.find_library('xenctrl')
|
xtl_link_dep = cc.find_library('xenctrl')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if libxl_dep.version().version_compare('>=4.13.0')
|
||||||
|
LIBXL_API_VERSION='0x041300'
|
||||||
|
else
|
||||||
|
LIBXL_API_VERSION='0x040500'
|
||||||
|
endif
|
||||||
libxl_dep = declare_dependency(
|
libxl_dep = declare_dependency(
|
||||||
compile_args: '-DLIBXL_API_VERSION=0x040500',
|
compile_args: '-DLIBXL_API_VERSION=' + LIBXL_API_VERSION,
|
||||||
dependencies: [
|
dependencies: [
|
||||||
libxl_dep,
|
libxl_dep,
|
||||||
xtl_link_dep,
|
xtl_link_dep,
|
||||||
|
Loading…
Reference in New Issue
Block a user