File suse-bump-xen-version.patch of Package libvirt.22291

Bump minimum supported Xen version to 4.9

There were no changes to the libxl API between 4.8 and 4.9, so
the LIBXL_API_VERSION is set to 0x040800.

Note: xen.git commit c3999835df is needed in any Xen package where
this patch is expected to work. It is included in Xen 4.13, but would
need backporting to anything older. The dependency on xen.git commit
c3999835df makes it hard to upstream this patch.

See bsc#1157490 and bsc#1167007 for more details
Index: libvirt-6.0.0/m4/virt-driver-libxl.m4
===================================================================
--- libvirt-6.0.0.orig/m4/virt-driver-libxl.m4
+++ libvirt-6.0.0/m4/virt-driver-libxl.m4
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
   LIBXL_CFLAGS=""
   LIBXL_FIRMWARE_DIR=""
   LIBXL_EXECBIN_DIR=""
-  LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"
+  LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040800"
 
   dnl search for libxl, aka libxenlight
   old_with_libxl="$with_libxl"
-  LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0], [true])
+  LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.9.0], [true])
   if test "x$with_libxl" = "xyes" ; then
     LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
     LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -1769,7 +1769,7 @@ libxlDriverConfigNew(void)
 {
     libxlDriverConfigPtr cfg;
     char ebuf[1024];
-    unsigned int free_mem;
+    uint64_t free_mem;
 
     if (libxlConfigInitialize() < 0)
         return NULL;
Index: libvirt-6.0.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-6.0.0.orig/src/libxl/libxl_domain.c
+++ libvirt-6.0.0/src/libxl/libxl_domain.c
@@ -1028,8 +1028,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
 static int
 libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
 {
-    uint32_t needed_mem;
-    uint32_t free_mem;
+    uint64_t needed_mem;
+    uint64_t free_mem;
     int32_t target_mem;
     int tries = 3;
     int wait_secs = 10;
@@ -1423,7 +1423,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
         params.stream_version = restore_ver;
 #endif
         ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
-                                          restore_fd, &params, NULL,
+                                          restore_fd, -1, &params, NULL,
                                           &aop_console_how);
         libxl_domain_restore_params_dispose(&params);
     }
Index: libvirt-6.0.0/tests/libxlmock.c
===================================================================
--- libvirt-6.0.0.orig/tests/libxlmock.c
+++ libvirt-6.0.0/tests/libxlmock.c
@@ -66,7 +66,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
 VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
                        int, 0,
                        libxl_ctx *, ctx,
-                       uint32_t *, memkb);
+                       uint64_t *, memkb);
 
 VIR_MOCK_STUB_RET_ARGS(xc_interface_close,
                        int, 0,
openSUSE Build Service is sponsored by