Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2021-11-12 15:58:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Fri Nov 12 15:58:59 2021 rev:305 rq:930561 version:4.16.0_01

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2021-09-16 23:16:48.839931376 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new.1890/xen.changes        2021-11-12 
15:59:03.598559302 +0100
@@ -1,0 +2,34 @@
+Mon Nov  8 09:09:58 MST 2021 - carn...@suse.com
+
+- Update to Xen 4.16.0 RC2 release
+  xen-4.16.0-testing-src.tar.bz2
+- Modified files
+  ipxe-use-rpm-opt-flags.patch
+  ipxe.tar.bz2 (new version)
+
+-------------------------------------------------------------------
+Mon Nov  1 11:15:13 MDT 2021 - carn...@suse.com
+
+- Update to Xen 4.16.0 RC1 release
+  xen-4.16.0-testing-src.tar.bz2
+- Drop patches contained in new tarball or invalid
+  615c9fd0-VT-d-fix-deassign-of-device-with-RMRR.patch
+  libxc-sr-383b41974d5543b62f3181d216070fe3691fb130.patch
+  libxc-sr-5588ebcfca774477cf823949e5703b0ac48818cc.patch
+  libxc-sr-9e59d9f8ee3808acde9833192211da25f66d8cc2.patch
+  libxc-sr-f17a73b3c0264c62dd6b5dae01ed621c051c3038.patch
+  xenstore-launch.patch
+
+-------------------------------------------------------------------
+Wed Oct  6 08:19:42 MDT 2021 - carn...@suse.com
+
+- bsc#1191363 - VUL-0: CVE-2021-28702: xen: PCI devices with RMRRs
+  not deassigned correctly (XSA-386)
+  615c9fd0-VT-d-fix-deassign-of-device-with-RMRR.patch
+
+-------------------------------------------------------------------
+Mon Sep 13 11:50:00 CEST 2021 - jbeul...@suse.com
+
+- Revert "Simplify %autosetup".
+
+-------------------------------------------------------------------

Old:
----
  libxc-sr-383b41974d5543b62f3181d216070fe3691fb130.patch
  libxc-sr-5588ebcfca774477cf823949e5703b0ac48818cc.patch
  libxc-sr-9e59d9f8ee3808acde9833192211da25f66d8cc2.patch
  libxc-sr-f17a73b3c0264c62dd6b5dae01ed621c051c3038.patch
  xen-4.15.1-testing-src.tar.bz2
  xenstore-launch.patch

New:
----
  xen-4.16.0-testing-src.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:05.410560126 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:05.414560127 +0100
@@ -29,7 +29,7 @@
 Name:           xen
 ExclusiveArch:  %ix86 x86_64 aarch64
 %define changeset 41121
-%define xen_build_dir xen-4.15.1-testing
+%define xen_build_dir xen-4.16.0-testing
 #
 %define with_gdbsx 0
 %define with_dom0_support 0
@@ -130,12 +130,12 @@
 %endif
 Provides:       installhint(reboot-needed)
 
-Version:        4.15.1_01
+Version:        4.16.0_01
 Release:        0
 Summary:        Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
 License:        GPL-2.0-only
 Group:          System/Kernel
-Source0:        xen-4.15.1-testing-src.tar.bz2
+Source0:        xen-4.16.0-testing-src.tar.bz2
 Source1:        stubdom.tar.bz2
 Source2:        ipxe.tar.bz2
 Source3:        mini-os.tar.bz2
@@ -169,40 +169,36 @@
 # Upstream patches
 # EMBARGOED security fixes
 # libxc
-Patch301:       libxc-sr-383b41974d5543b62f3181d216070fe3691fb130.patch
-Patch302:       libxc-sr-9e59d9f8ee3808acde9833192211da25f66d8cc2.patch
-Patch303:       libxc-sr-5588ebcfca774477cf823949e5703b0ac48818cc.patch
-Patch304:       libxc-sr-f17a73b3c0264c62dd6b5dae01ed621c051c3038.patch
-Patch305:       libxc-bitmap-long.patch
-Patch306:       libxc-sr-xl-migration-debug.patch
-Patch307:       libxc-sr-readv_exact.patch
-Patch308:       libxc-sr-save-show_transfer_rate.patch
-Patch309:       libxc-sr-save-mfns.patch
-Patch310:       libxc-sr-save-types.patch
-Patch311:       libxc-sr-save-errors.patch
-Patch312:       libxc-sr-save-iov.patch
-Patch313:       libxc-sr-save-rec_pfns.patch
-Patch314:       libxc-sr-save-guest_data.patch
-Patch315:       libxc-sr-save-local_pages.patch
-Patch316:       libxc-sr-restore-pfns.patch
-Patch317:       libxc-sr-restore-types.patch
-Patch318:       libxc-sr-restore-mfns.patch
-Patch319:       libxc-sr-restore-map_errs.patch
-Patch320:       libxc-sr-restore-populate_pfns-pfns.patch
-Patch321:       libxc-sr-restore-populate_pfns-mfns.patch
-Patch322:       libxc-sr-restore-read_record.patch
-Patch323:       libxc-sr-restore-handle_buffered_page_data.patch
-Patch324:       libxc-sr-restore-handle_incoming_page_data.patch
-Patch325:       libxc-sr-LIBXL_HAVE_DOMAIN_SUSPEND_PROPS.patch
-Patch326:       libxc-sr-precopy_policy.patch
-Patch327:       libxc-sr-max_iters.patch
-Patch328:       libxc-sr-min_remaining.patch
-Patch329:       libxc-sr-abort_if_busy.patch
-Patch330:       libxc-sr-xg_sr_bitmap.patch
-Patch331:       libxc-sr-xg_sr_bitmap-populated_pfns.patch
-Patch332:       libxc-sr-restore-hvm-legacy-superpage.patch
-Patch333:       libxc-sr-track-migration-time.patch
-Patch334:       libxc-sr-number-of-iterations.patch
+Patch301:       libxc-bitmap-long.patch
+Patch302:       libxc-sr-xl-migration-debug.patch
+Patch303:       libxc-sr-readv_exact.patch
+Patch304:       libxc-sr-save-show_transfer_rate.patch
+Patch305:       libxc-sr-save-mfns.patch
+Patch306:       libxc-sr-save-types.patch
+Patch307:       libxc-sr-save-errors.patch
+Patch308:       libxc-sr-save-iov.patch
+Patch309:       libxc-sr-save-rec_pfns.patch
+Patch310:       libxc-sr-save-guest_data.patch
+Patch311:       libxc-sr-save-local_pages.patch
+Patch312:       libxc-sr-restore-pfns.patch
+Patch313:       libxc-sr-restore-types.patch
+Patch314:       libxc-sr-restore-mfns.patch
+Patch315:       libxc-sr-restore-map_errs.patch
+Patch316:       libxc-sr-restore-populate_pfns-pfns.patch
+Patch317:       libxc-sr-restore-populate_pfns-mfns.patch
+Patch318:       libxc-sr-restore-read_record.patch
+Patch319:       libxc-sr-restore-handle_buffered_page_data.patch
+Patch320:       libxc-sr-restore-handle_incoming_page_data.patch
+Patch321:       libxc-sr-LIBXL_HAVE_DOMAIN_SUSPEND_PROPS.patch
+Patch322:       libxc-sr-precopy_policy.patch
+Patch323:       libxc-sr-max_iters.patch
+Patch324:       libxc-sr-min_remaining.patch
+Patch325:       libxc-sr-abort_if_busy.patch
+Patch326:       libxc-sr-xg_sr_bitmap.patch
+Patch327:       libxc-sr-xg_sr_bitmap-populated_pfns.patch
+Patch328:       libxc-sr-restore-hvm-legacy-superpage.patch
+Patch329:       libxc-sr-track-migration-time.patch
+Patch330:       libxc-sr-number-of-iterations.patch
 # Our platform specific patches
 Patch400:       xen-destdir.patch
 Patch401:       vif-bridge-no-iptables.patch
@@ -213,8 +209,7 @@
 Patch406:       suse-xendomains-service.patch
 Patch407:       replace-obsolete-network-configuration-commands-in-s.patch
 Patch408:       disable-building-pv-shim.patch
-Patch409:       xenstore-launch.patch
-Patch410:       ignore-ip-command-script-errors.patch
+Patch409:       ignore-ip-command-script-errors.patch
 # Needs to go upstream
 Patch420:       suspend_evtchn_lock.patch
 Patch421:       vif-route.patch
@@ -421,11 +416,8 @@
 %endif
 
 %prep
-%autosetup -p1 -n %xen_build_dir -a 3
-# extract manually because autosetup, unlike setup, can handle just a singe 
archive (the last one specified with -a)
-tar xfa %SOURCE1
-tar xfa %SOURCE2
-tar xfa %SOURCE4
+%setup -q -n %xen_build_dir -a 1 -a 2 -a 3 -a 4
+%autosetup -D -T -n %xen_build_dir -p1
 
 %build
 %define _lto_cflags %{nil}
@@ -505,6 +497,7 @@
         --disable-xen \
         --enable-tools \
         --enable-docs \
+        --disable-rombios \
         --prefix=/usr \
         --exec_prefix=/usr \
         --bindir=%{_bindir} \
@@ -1043,6 +1036,8 @@
 /usr/sbin/xen-lowmemd
 /usr/sbin/xen-memshare
 /usr/sbin/xen-ucode
+/usr/sbin/xen-mceinj
+/usr/sbin/xen-vmtrace
 %endif
 /usr/sbin/xenhypfs
 /usr/sbin/xen-list

++++++ aarch64-rename-PSR_MODE_ELxx-to-match-linux-headers.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:05.470560153 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:05.470560153 +0100
@@ -10,11 +10,11 @@
  xen/include/public/arch-arm.h | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)
 
-Index: xen-4.13.0-testing/xen/include/public/arch-arm.h
+Index: xen-4.16.0-testing/xen/include/public/arch-arm.h
 ===================================================================
---- xen-4.13.0-testing.orig/xen/include/public/arch-arm.h
-+++ xen-4.13.0-testing/xen/include/public/arch-arm.h
-@@ -371,13 +371,13 @@ typedef uint64_t xen_callback_t;
+--- xen-4.16.0-testing.orig/xen/include/public/arch-arm.h
++++ xen-4.16.0-testing/xen/include/public/arch-arm.h
+@@ -375,13 +375,13 @@ typedef uint64_t xen_callback_t;
  
  /* 64 bit modes */
  #define PSR_MODE_BIT  0x10 /* Set iff AArch32 */

++++++ build-python3-conversion.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:05.554560191 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:05.558560193 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.15.0-testing/Config.mk
+Index: xen-4.16.0-testing/Config.mk
 ===================================================================
---- xen-4.15.0-testing.orig/Config.mk
-+++ xen-4.15.0-testing/Config.mk
+--- xen-4.16.0-testing.orig/Config.mk
++++ xen-4.16.0-testing/Config.mk
 @@ -73,7 +73,7 @@ EXTRA_INCLUDES += $(EXTRA_PREFIX)/includ
  EXTRA_LIB += $(EXTRA_PREFIX)/lib
  endif
@@ -11,11 +11,11 @@
  PYTHON_PREFIX_ARG ?= --prefix="$(prefix)"
  # The above requires that prefix contains *no spaces*. This variable is here
  # to permit the user to set PYTHON_PREFIX_ARG to '' to workaround this bug:
-Index: xen-4.15.0-testing/tools/configure
+Index: xen-4.16.0-testing/tools/configure
 ===================================================================
---- xen-4.15.0-testing.orig/tools/configure
-+++ xen-4.15.0-testing/tools/configure
-@@ -7298,15 +7298,15 @@ if test x"${PYTHONPATH}" = x"no"
+--- xen-4.16.0-testing.orig/tools/configure
++++ xen-4.16.0-testing/tools/configure
+@@ -7276,15 +7276,15 @@ if test x"${PYTHONPATH}" = x"no"
  then
      as_fn_error $? "Unable to find $PYTHON, please install $PYTHON" "$LINENO" 
5
  fi
@@ -35,11 +35,11 @@
  else
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  $as_echo "yes" >&6; }
-Index: xen-4.15.0-testing/tools/configure.ac
+Index: xen-4.16.0-testing/tools/configure.ac
 ===================================================================
---- xen-4.15.0-testing.orig/tools/configure.ac
-+++ xen-4.15.0-testing/tools/configure.ac
-@@ -372,7 +372,7 @@ PYTHONPATH=$PYTHON
+--- xen-4.16.0-testing.orig/tools/configure.ac
++++ xen-4.16.0-testing/tools/configure.ac
+@@ -357,7 +357,7 @@ PYTHONPATH=$PYTHON
  PYTHON=`basename $PYTHONPATH`
  
  AX_PATH_PROG_OR_FAIL([PYTHONPATH], [$PYTHON])
@@ -48,10 +48,10 @@
  
  AS_IF([test "$cross_compiling" != yes], [
      AX_CHECK_PYTHON_DEVEL()
-Index: xen-4.15.0-testing/tools/libs/light/idl.py
+Index: xen-4.16.0-testing/tools/libs/light/idl.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/libs/light/idl.py
-+++ xen-4.15.0-testing/tools/libs/light/idl.py
+--- xen-4.16.0-testing.orig/tools/libs/light/idl.py
++++ xen-4.16.0-testing/tools/libs/light/idl.py
 @@ -271,7 +271,7 @@ class KeyedUnion(Aggregate):
          if not isinstance(keyvar_type, Enumeration):
              raise ValueError
@@ -79,30 +79,30 @@
          if isinstance(t, Type):
              globs[n] = t
          elif isinstance(t,type(object)) and issubclass(t, Type):
-Index: xen-4.15.0-testing/tools/libs/light/gentest.py
+Index: xen-4.16.0-testing/tools/libs/light/gentest.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/libs/light/gentest.py
-+++ xen-4.15.0-testing/tools/libs/light/gentest.py
+--- xen-4.16.0-testing.orig/tools/libs/light/gentest.py
++++ xen-4.16.0-testing/tools/libs/light/gentest.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/python
 +#!/usr/bin/python3
  
  from __future__ import print_function
  
-Index: xen-4.15.0-testing/tools/libs/light/gentypes.py
+Index: xen-4.16.0-testing/tools/libs/light/gentypes.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/libs/light/gentypes.py
-+++ xen-4.15.0-testing/tools/libs/light/gentypes.py
+--- xen-4.16.0-testing.orig/tools/libs/light/gentypes.py
++++ xen-4.16.0-testing/tools/libs/light/gentypes.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/python
 +#!/usr/bin/python3
  
  from __future__ import print_function
  
-Index: xen-4.15.0-testing/tools/ocaml/libs/xentoollog/genlevels.py
+Index: xen-4.16.0-testing/tools/ocaml/libs/xentoollog/genlevels.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/ocaml/libs/xentoollog/genlevels.py
-+++ xen-4.15.0-testing/tools/ocaml/libs/xentoollog/genlevels.py
+--- xen-4.16.0-testing.orig/tools/ocaml/libs/xentoollog/genlevels.py
++++ xen-4.16.0-testing/tools/ocaml/libs/xentoollog/genlevels.py
 @@ -89,7 +89,7 @@ def gen_c(level):
  def autogen_header(open_comment, close_comment):
      s = open_comment + " AUTO-GENERATED FILE DO NOT EDIT " + close_comment + 
"\n"
@@ -112,60 +112,60 @@
      s += "%s" % " ".join(sys.argv)
      s += "\n " + close_comment + "\n\n"
      return s
-Index: xen-4.15.0-testing/tools/include/xen-foreign/mkheader.py
+Index: xen-4.16.0-testing/tools/include/xen-foreign/mkheader.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/include/xen-foreign/mkheader.py
-+++ xen-4.15.0-testing/tools/include/xen-foreign/mkheader.py
+--- xen-4.16.0-testing.orig/tools/include/xen-foreign/mkheader.py
++++ xen-4.16.0-testing/tools/include/xen-foreign/mkheader.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/python
 +#!/usr/bin/python3
  
  import sys, re;
  from structs import unions, structs, defines;
-Index: xen-4.15.0-testing/tools/include/xen-foreign/mkchecker.py
+Index: xen-4.16.0-testing/tools/include/xen-foreign/mkchecker.py
 ===================================================================
---- xen-4.15.0-testing.orig/tools/include/xen-foreign/mkchecker.py
-+++ xen-4.15.0-testing/tools/include/xen-foreign/mkchecker.py
+--- xen-4.16.0-testing.orig/tools/include/xen-foreign/mkchecker.py
++++ xen-4.16.0-testing/tools/include/xen-foreign/mkchecker.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/python
 +#!/usr/bin/python3
  
  import sys;
  from structs import structs, compat_arches;
-Index: xen-4.15.0-testing/xen/tools/gen-cpuid.py
+Index: xen-4.16.0-testing/xen/tools/gen-cpuid.py
 ===================================================================
---- xen-4.15.0-testing.orig/xen/tools/gen-cpuid.py
-+++ xen-4.15.0-testing/xen/tools/gen-cpuid.py
+--- xen-4.16.0-testing.orig/xen/tools/gen-cpuid.py
++++ xen-4.16.0-testing/xen/tools/gen-cpuid.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env python
 +#!/usr/bin/python3
  # -*- coding: utf-8 -*-
  
  import sys, os, re
-Index: xen-4.15.0-testing/xen/tools/compat-build-source.py
+Index: xen-4.16.0-testing/xen/tools/compat-build-source.py
 ===================================================================
---- xen-4.15.0-testing.orig/xen/tools/compat-build-source.py
-+++ xen-4.15.0-testing/xen/tools/compat-build-source.py
+--- xen-4.16.0-testing.orig/xen/tools/compat-build-source.py
++++ xen-4.16.0-testing/xen/tools/compat-build-source.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env python
 +#!/usr/bin/python3
  
  import re,sys
  
-Index: xen-4.15.0-testing/xen/tools/compat-build-header.py
+Index: xen-4.16.0-testing/xen/tools/compat-build-header.py
 ===================================================================
---- xen-4.15.0-testing.orig/xen/tools/compat-build-header.py
-+++ xen-4.15.0-testing/xen/tools/compat-build-header.py
+--- xen-4.16.0-testing.orig/xen/tools/compat-build-header.py
++++ xen-4.16.0-testing/xen/tools/compat-build-header.py
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env python
 +#!/usr/bin/python3
  
  import re,sys
  
-Index: xen-4.15.0-testing/tools/misc/xensymoops
+Index: xen-4.16.0-testing/tools/misc/xensymoops
 ===================================================================
---- xen-4.15.0-testing.orig/tools/misc/xensymoops
-+++ xen-4.15.0-testing/tools/misc/xensymoops
+--- xen-4.16.0-testing.orig/tools/misc/xensymoops
++++ xen-4.16.0-testing/tools/misc/xensymoops
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env python
 +#!/usr/bin/python3

++++++ disable-building-pv-shim.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:05.566560196 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:05.570560198 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.14.0-testing/xen/arch/x86/configs/pvshim_defconfig
+Index: xen-4.16.0-testing/xen/arch/x86/configs/pvshim_defconfig
 ===================================================================
---- xen-4.14.0-testing.orig/xen/arch/x86/configs/pvshim_defconfig
-+++ xen-4.14.0-testing/xen/arch/x86/configs/pvshim_defconfig
+--- xen-4.16.0-testing.orig/xen/arch/x86/configs/pvshim_defconfig
++++ xen-4.16.0-testing/xen/arch/x86/configs/pvshim_defconfig
 @@ -2,8 +2,8 @@
  CONFIG_PV=y
  CONFIG_XEN_GUEST=y
@@ -12,4 +12,4 @@
 +CONFIG_PV_SHIM_EXCLUSIVE=n
  CONFIG_NR_CPUS=32
  CONFIG_EXPERT=y
- CONFIG_SCHED_NULL=y
+ # Disable features not used by the PV shim

++++++ ipxe-use-rpm-opt-flags.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:05.610560216 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:05.610560216 +0100
@@ -1,10 +1,10 @@
 References: bsc#969377 - xen does not build with GCC 6
 
-Index: 
xen-4.8.0-testing/tools/firmware/etherboot/patches/ipxe-use-rpm-opt-flags.patch
-===================================================================
---- /dev/null
-+++ 
xen-4.8.0-testing/tools/firmware/etherboot/patches/ipxe-use-rpm-opt-flags.patch
-@@ -0,0 +1,11 @@
+zbin.c: See upstream commit 956f6a7227b62ce98d7840439af17bbca04f0c86
+
+--- /dev/null  2021-01-21 12:33:57.508399729 -0700
++++ 
xen-4.16.0-testing/tools/firmware/etherboot/patches/ipxe-use-rpm-opt-flags.patch
   2021-11-08 16:38:11.557409210 -0700
+@@ -0,0 +1,46 @@
 +--- ipxe/src/Makefile.orig    2016-03-04 15:48:15.000000000 -0700
 ++++ ipxe/src/Makefile 2016-03-04 15:48:40.000000000 -0700
 +@@ -4,7 +4,7 @@
@@ -12,10 +12,45 @@
 + 
 + CLEANUP              :=
 +-CFLAGS               :=
-++CFLAGS               := $(RPM_OPT_FLAGS) -Wno-error=array-bounds 
-Wno-nonnull-compare -Wno-unused-const-variable -Wno-misleading-indentation 
-Wno-shift-negative-value -Wno-implicit-fallthrough -Wno-nonnull
+++CFLAGS               := $(RPM_OPT_FLAGS) -Wno-error=array-bounds 
-Wno-nonnull-compare -Wno-unused-const-variable -Wno-misleading-indentation 
-Wno-shift-negative-value -Wno-implicit-fallthrough -Wno-nonnull 
-Wno-address-of-packed-member -Wno-maybe-uninitialized -Wno-enum-conversion 
-Wno-format-overflow -Wno-format-truncation
 + ASFLAGS              :=
 + LDFLAGS              :=
 + MAKEDEPS     := Makefile
++--- ipxe/src/util/zbin.c
+++++ ipxe/src/util/zbin.c
++@@ -386,16 +386,16 @@ static int process_zinfo_add ( struct input_file *input
++               ( ( 1UL << ( 8 * datasize ) ) - 1 ) : ~0UL );
++ 
++      if ( val < 0 ) {
++-             fprintf ( stderr, "Add %s%#x+%#lx at %#zx %sflows field\n",
++-                       ( ( addend < 0 ) ? "-" : "" ), abs ( addend ), size,
+++             fprintf ( stderr, "Add %s%#lx+%#lx at %#zx %sflows field\n",
+++                       ( ( addend < 0 ) ? "-" : "" ), labs ( addend ), size,
++                        offset, ( ( addend < 0 ) ? "under" : "over" ) );
++              return -1;
++      }
++ 
++      if ( val & ~mask ) {
++-             fprintf ( stderr, "Add %s%#x+%#lx at %#zx overflows %zd-byte "
+++             fprintf ( stderr, "Add %s%#lx+%#lx at %#zx overflows %zd-byte "
++                        "field (%d bytes too big)\n",
++-                       ( ( addend < 0 ) ? "-" : "" ), abs ( addend ), size,
+++                       ( ( addend < 0 ) ? "-" : "" ), labs ( addend ), size,
++                        offset, datasize,
++                        ( int )( ( val - mask - 1 ) * add->divisor ) );
++              return -1;
++@@ -414,9 +414,9 @@ static int process_zinfo_add ( struct input_file *input
++      }
++ 
++      if ( DEBUG ) {
++-             fprintf ( stderr, "ADDx [%#zx,%#zx) (%s%#x+(%#zx/%#x)) = "
+++             fprintf ( stderr, "ADDx [%#zx,%#zx) (%s%#lx+(%#zx/%#x)) = "
++                        "%#lx\n", offset, ( offset + datasize ),
++-                       ( ( addend < 0 ) ? "-" : "" ), abs ( addend ),
+++                       ( ( addend < 0 ) ? "-" : "" ), labs ( addend ),
++                        len, add->divisor, val );
++      }
++ 
 Index: xen-4.8.0-testing/tools/firmware/etherboot/patches/series
 ===================================================================
 --- xen-4.8.0-testing.orig/tools/firmware/etherboot/patches/series

++++++ ipxe.tar.bz2 ++++++

++++++ libxc-sr-LIBXL_HAVE_DOMAIN_SUSPEND_PROPS.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.322560540 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.322560540 +0100
@@ -21,7 +21,7 @@
 
 --- a/tools/include/libxl.h
 +++ b/tools/include/libxl.h
-@@ -1705,13 +1705,28 @@ static inline int libxl_retrieve_domain_
+@@ -1750,13 +1750,28 @@ static inline int libxl_retrieve_domain_
      libxl_retrieve_domain_configuration_0x041200
  #endif
  
@@ -56,7 +56,7 @@
   * Suspended domain can be resumed with libxl_domain_resume()
 --- a/tools/libs/light/libxl_domain.c
 +++ b/tools/libs/light/libxl_domain.c
-@@ -505,7 +505,8 @@ static void domain_suspend_cb(libxl__egc
+@@ -506,7 +506,8 @@ static void domain_suspend_cb(libxl__egc
  
  }
  
@@ -66,7 +66,7 @@
                           const libxl_asyncop_how *ao_how)
  {
      AO_CREATE(ctx, domid, ao_how);
-@@ -526,8 +527,8 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -527,8 +528,8 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      dss->domid = domid;
      dss->fd = fd;
      dss->type = type;
@@ -77,7 +77,7 @@
      dss->checkpointed_stream = LIBXL_CHECKPOINTED_STREAM_NONE;
  
      rc = libxl__fd_flags_modify_save(gc, dss->fd,
-@@ -542,6 +543,21 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -543,6 +544,21 @@ int libxl_domain_suspend(libxl_ctx *ctx,
      return AO_CREATE_FAIL(rc);
  }
  
@@ -101,7 +101,7 @@
  {
 --- a/tools/ocaml/libs/xl/xenlight_stubs.c
 +++ b/tools/ocaml/libs/xl/xenlight_stubs.c
-@@ -614,10 +614,11 @@ value stub_libxl_domain_suspend(value ct
+@@ -618,10 +618,11 @@ value stub_libxl_domain_suspend(value ct
        int ret;
        uint32_t c_domid = Int_val(domid);
        int c_fd = Int_val(fd);

++++++ libxc-sr-abort_if_busy.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.330560544 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.334560546 +0100
@@ -53,7 +53,7 @@
  =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
 --- a/tools/include/libxl.h
 +++ b/tools/include/libxl.h
-@@ -1718,6 +1718,7 @@ typedef struct {
+@@ -1763,6 +1763,7 @@ typedef struct {
  } libxl_domain_suspend_suse_properties;
  #define LIBXL_SUSPEND_DEBUG 1
  #define LIBXL_SUSPEND_LIVE 2
@@ -83,7 +83,7 @@
  
 --- a/tools/libs/light/libxl_domain.c
 +++ b/tools/libs/light/libxl_domain.c
-@@ -529,6 +529,7 @@ static int do_libxl_domain_suspend(libxl
+@@ -530,6 +530,7 @@ static int do_libxl_domain_suspend(libxl
      dss->type = type;
      dss->max_iters = props->max_iters ?: LIBXL_XGS_POLICY_MAX_ITERATIONS;
      dss->min_remaining = props->min_remaining ?: 
LIBXL_XGS_POLICY_TARGET_DIRTY_COUNT;
@@ -139,7 +139,7 @@
  libxl_domain_type = Enumeration("domain_type", [
 --- a/tools/xl/xl_cmdtable.c
 +++ b/tools/xl/xl_cmdtable.c
-@@ -175,7 +175,11 @@ struct cmd_spec cmd_table[] = {
+@@ -176,7 +176,11 @@ const struct cmd_spec cmd_table[] = {
        "-p                Do not unpause domain after migrating it.\n"
        "-D                Preserve the domain id\n"
        "--max_iters N     Number of copy iterations before final stop+move\n"

++++++ libxc-sr-max_iters.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.342560549 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.342560549 +0100
@@ -46,7 +46,7 @@
  =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
 --- a/tools/include/libxl.h
 +++ b/tools/include/libxl.h
-@@ -1713,6 +1713,7 @@ static inline int libxl_retrieve_domain_
+@@ -1758,6 +1758,7 @@ static inline int libxl_retrieve_domain_
  
  typedef struct {
      uint32_t flags; /* LIBXL_SUSPEND_* */
@@ -67,7 +67,7 @@
  
 --- a/tools/libs/light/libxl_domain.c
 +++ b/tools/libs/light/libxl_domain.c
-@@ -527,6 +527,7 @@ static int do_libxl_domain_suspend(libxl
+@@ -528,6 +528,7 @@ static int do_libxl_domain_suspend(libxl
      dss->domid = domid;
      dss->fd = fd;
      dss->type = type;
@@ -87,7 +87,7 @@
      int rc;
 --- a/tools/xl/xl_cmdtable.c
 +++ b/tools/xl/xl_cmdtable.c
-@@ -173,7 +173,8 @@ struct cmd_spec cmd_table[] = {
+@@ -174,7 +174,8 @@ const struct cmd_spec cmd_table[] = {
        "                of the domain.\n"
        "--debug         Enable verification mode.\n"
        "-p              Do not unpause domain after migrating it.\n"

++++++ libxc-sr-min_remaining.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.354560555 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.354560555 +0100
@@ -51,7 +51,7 @@
  =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
 --- a/tools/include/libxl.h
 +++ b/tools/include/libxl.h
-@@ -1714,6 +1714,7 @@ static inline int libxl_retrieve_domain_
+@@ -1759,6 +1759,7 @@ static inline int libxl_retrieve_domain_
  typedef struct {
      uint32_t flags; /* LIBXL_SUSPEND_* */
      uint32_t max_iters;
@@ -72,7 +72,7 @@
          goto stop_copy;
 --- a/tools/libs/light/libxl_domain.c
 +++ b/tools/libs/light/libxl_domain.c
-@@ -528,6 +528,7 @@ static int do_libxl_domain_suspend(libxl
+@@ -529,6 +529,7 @@ static int do_libxl_domain_suspend(libxl
      dss->fd = fd;
      dss->type = type;
      dss->max_iters = props->max_iters ?: LIBXL_XGS_POLICY_MAX_ITERATIONS;
@@ -92,7 +92,7 @@
      int rc;
 --- a/tools/xl/xl_cmdtable.c
 +++ b/tools/xl/xl_cmdtable.c
-@@ -164,17 +164,18 @@ struct cmd_spec cmd_table[] = {
+@@ -165,17 +165,18 @@ const struct cmd_spec cmd_table[] = {
        &main_migrate, 0, 1,
        "Migrate a domain to another host",
        "[options] <Domain> <host>",

++++++ libxc-sr-readv_exact.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.370560562 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.370560562 +0100
@@ -93,7 +93,7 @@
      struct iovec *local_iov = NULL;
 --- a/tools/libs/ctrl/xc_private.h
 +++ b/tools/libs/ctrl/xc_private.h
-@@ -442,6 +442,7 @@ int xc_flush_mmu_updates(xc_interface *x
+@@ -408,6 +408,7 @@ int xc_flush_mmu_updates(xc_interface *x
  
  /* Return 0 on success; -1 on error setting errno. */
  int read_exact(int fd, void *data, size_t size); /* EOF => -1, errno=0 */

++++++ libxc-sr-restore-hvm-legacy-superpage.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.386560569 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.386560569 +0100
@@ -44,9 +44,9 @@
  
 --- a/tools/libs/guest/xg_private.h
 +++ b/tools/libs/guest/xg_private.h
-@@ -154,4 +154,9 @@ int pin_table(xc_interface *xch, unsigne
- #define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), M2P_SHIFT)
- #define M2P_CHUNKS(_m)  (M2P_SIZE((_m)) >> M2P_SHIFT)
+@@ -179,4 +179,9 @@ struct xc_cpu_policy {
+ };
+ #endif /* x86 */
  
 +#define SUPERPAGE_2MB_SHIFT   9
 +#define SUPERPAGE_2MB_NR_PFNS (1UL << SUPERPAGE_2MB_SHIFT)

++++++ libxc-sr-track-migration-time.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.430560589 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.434560591 +0100
@@ -9,7 +9,7 @@
  tools/include/xentoollog.h       |    1 
  tools/libs/ctrl/xc_domain.c      |   12 ++++++-
  tools/libs/ctrl/xc_private.h     |    9 +++++
- tools/libs/ctrl/xc_resume.c      |    5 ++-
+ tools/libs/guest/xg_resume.c     |    5 ++-
  tools/libs/guest/xg_sr_common.c  |   59 
+++++++++++++++++++++++++++++++++++++++
  tools/libs/guest/xg_sr_common.h  |    3 +
  tools/libs/guest/xg_sr_restore.c |    3 +
@@ -29,7 +29,7 @@
  /*
 --- a/tools/libs/ctrl/xc_domain.c
 +++ b/tools/libs/ctrl/xc_domain.c
-@@ -68,20 +68,28 @@ int xc_domain_cacheflush(xc_interface *x
+@@ -66,20 +66,28 @@ int xc_domain_cacheflush(xc_interface *x
  int xc_domain_pause(xc_interface *xch,
                      uint32_t domid)
  {
@@ -78,9 +78,9 @@
  #if defined(HAVE_VALGRIND_MEMCHECK_H) && !defined(NDEBUG) && 
!defined(__MINIOS__)
  /* Compile in Valgrind client requests? */
  #include <valgrind/memcheck.h>
---- a/tools/libs/ctrl/xc_resume.c
-+++ b/tools/libs/ctrl/xc_resume.c
-@@ -282,7 +282,10 @@ out:
+--- a/tools/libs/guest/xg_resume.c
++++ b/tools/libs/guest/xg_resume.c
+@@ -259,7 +259,10 @@ out:
   */
  int xc_domain_resume(xc_interface *xch, uint32_t domid, int fast)
  {
@@ -249,7 +249,7 @@
      {
 --- a/tools/xl/xl.c
 +++ b/tools/xl/xl.c
-@@ -406,6 +406,8 @@ int main(int argc, char **argv)
+@@ -420,6 +420,8 @@ int main(int argc, char **argv)
      logger = xtl_createlogger_stdiostream(stderr, minmsglevel, xtl_flags);
      if (!logger) exit(EXIT_FAILURE);
  

++++++ libxc-sr-xl-migration-debug.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.446560597 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.446560597 +0100
@@ -35,7 +35,7 @@
  
 --- a/tools/xl/xl_cmdtable.c
 +++ b/tools/xl/xl_cmdtable.c
-@@ -171,7 +171,7 @@ struct cmd_spec cmd_table[] = {
+@@ -172,7 +172,7 @@ const struct cmd_spec cmd_table[] = {
        "                migrate-receive [-d -e]\n"
        "-e              Do not wait in the background (on <host>) for the 
death\n"
        "                of the domain.\n"

++++++ libxl.LIBXL_HOTPLUG_TIMEOUT.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.458560602 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.458560602 +0100
@@ -52,10 +52,10 @@
 The change for libxl which handles this xenstore value will enable
 additional logging if the key is found. That extra logging will show how
 the execution time of each script.
-Index: xen-4.15.1-testing/tools/libs/light/libxl_aoutils.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_aoutils.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_aoutils.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_aoutils.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_aoutils.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_aoutils.c
 @@ -529,6 +529,8 @@ static void async_exec_timeout(libxl__eg
  {
      libxl__async_exec_state *aes = CONTAINER_OF(ev, *aes, time);
@@ -85,11 +85,11 @@
  
      libxl__ev_time_deregister(gc, &aes->time);
  
-Index: xen-4.15.1-testing/tools/libs/light/libxl_create.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_create.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_create.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_create.c
-@@ -1252,6 +1252,7 @@ static void initiate_domain_create(libxl
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_create.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_create.c
+@@ -1281,6 +1281,7 @@ static void initiate_domain_create(libxl
       * build info around just to know if the domain has a device model or not.
       */
      store_libxl_entry(gc, domid, &d_config->b_info);
@@ -97,10 +97,10 @@
  
      for (i = 0; i < d_config->num_disks; i++) {
          ret = libxl__disk_devtype.set_default(gc, domid, &d_config->disks[i],
-Index: xen-4.15.1-testing/tools/libs/light/libxl_device.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_device.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_device.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_device.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_device.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_device.c
 @@ -1218,7 +1218,7 @@ static void device_hotplug(libxl__egc *e
      }
  
@@ -126,10 +126,10 @@
      rc = libxl__async_exec_start(aes);
      if (rc)
          goto out;
-Index: xen-4.15.1-testing/tools/libs/light/libxl_event.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_event.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_event.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_event.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_event.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_event.c
 @@ -1033,27 +1033,29 @@ static void devstate_callback(libxl__egc
  {
      EGC_GC;
@@ -176,10 +176,10 @@
      rc = libxl__xswait_start(gc, &ds->w);
      if (rc) goto out;
  
-Index: xen-4.15.1-testing/tools/libs/light/libxl_internal.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_internal.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_internal.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_internal.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_internal.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_internal.c
 @@ -18,6 +18,97 @@
  #include "libxl_internal.h"
  #include "libxl_arch.h"
@@ -278,10 +278,10 @@
  void libxl__alloc_failed(libxl_ctx *ctx, const char *func,
                           size_t nmemb, size_t size) {
  #define M "libxl: FATAL ERROR: memory allocation failure"
-Index: xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+Index: xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_internal.h
-+++ xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_internal.h
++++ xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 @@ -50,6 +50,7 @@
  #include <sys/un.h>
  #include <sys/file.h>

++++++ libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.470560607 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.470560607 +0100
@@ -7,10 +7,10 @@
  tools/libxl/libxlu_disk_l.l |    1 +
  5 files changed, 18 insertions(+), 1 deletion(-)
 
-Index: xen-4.15.1-testing/docs/man/xl-disk-configuration.5.pod.in
+Index: xen-4.16.0-testing/docs/man/xl-disk-configuration.5.pod.in
 ===================================================================
---- xen-4.15.1-testing.orig/docs/man/xl-disk-configuration.5.pod.in
-+++ xen-4.15.1-testing/docs/man/xl-disk-configuration.5.pod.in
+--- xen-4.16.0-testing.orig/docs/man/xl-disk-configuration.5.pod.in
++++ xen-4.16.0-testing/docs/man/xl-disk-configuration.5.pod.in
 @@ -344,6 +344,32 @@ can be used to disable "hole punching" f
  were intentionally created non-sparse to avoid fragmentation of the
  file.
@@ -44,12 +44,12 @@
  =back
  
  
-Index: xen-4.15.1-testing/tools/include/libxl.h
+Index: xen-4.16.0-testing/tools/include/libxl.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/include/libxl.h
-+++ xen-4.15.1-testing/tools/include/libxl.h
-@@ -503,6 +503,21 @@
- #define LIBXL_HAVE_X86_MSR_RELAXED 1
+--- xen-4.16.0-testing.orig/tools/include/libxl.h
++++ xen-4.16.0-testing/tools/include/libxl.h
+@@ -528,6 +528,21 @@
+ #define LIBXL_HAVE_MAX_GRANT_VERSION 1
  
  /*
 + * The libxl_device_disk has no way to indicate that cache=unsafe is
@@ -70,10 +70,10 @@
   * libxl ABI compatibility
   *
   * The only guarantee which libxl makes regarding ABI compatibility
-Index: xen-4.15.1-testing/tools/libs/light/libxl_disk.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_disk.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_disk.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_disk.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_disk.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_disk.c
 @@ -386,6 +386,8 @@ static void device_disk_add(libxl__egc *
          flexarray_append_pair(back, "discard-enable",
                                libxl_defbool_val(disk->discard_enable) ?
@@ -83,10 +83,10 @@
  
          flexarray_append(front, "backend-id");
          flexarray_append(front, GCSPRINTF("%d", disk->backend_domid));
-Index: xen-4.15.1-testing/tools/libs/light/libxl_dm.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_dm.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_dm.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_dm.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_dm.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_dm.c
 @@ -1019,14 +1019,27 @@ enum {
      LIBXL__COLO_SECONDARY,
  };
@@ -164,7 +164,7 @@
          break;
      default:
           abort();
-@@ -1983,8 +1998,8 @@ static int libxl__build_device_model_arg
+@@ -1981,8 +1996,8 @@ static int libxl__build_device_model_arg
                          return ERROR_INVAL;
                      }
                      flexarray_vappend(dm_args, "-drive",
@@ -175,10 +175,10 @@
                          "-device", 
GCSPRINTF("ide-hd,bus=ahci0.%d,unit=0,drive=ahcidisk-%d",
                          disk, disk), NULL);
                      continue;
-Index: xen-4.15.1-testing/tools/libs/util/libxlu_disk.c
+Index: xen-4.16.0-testing/tools/libs/util/libxlu_disk.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/util/libxlu_disk.c
-+++ xen-4.15.1-testing/tools/libs/util/libxlu_disk.c
+--- xen-4.16.0-testing.orig/tools/libs/util/libxlu_disk.c
++++ xen-4.16.0-testing/tools/libs/util/libxlu_disk.c
 @@ -78,6 +78,8 @@ int xlu_disk_parse(XLU_Config *cfg,
          if (!disk->pdev_path || !strcmp(disk->pdev_path, ""))
              disk->format = LIBXL_DISK_FORMAT_EMPTY;
@@ -188,10 +188,10 @@
  
      if (!disk->vdev) {
          xlu__disk_err(&dpc,0, "no vdev specified");
-Index: xen-4.15.1-testing/tools/libs/util/libxlu_disk_i.h
+Index: xen-4.16.0-testing/tools/libs/util/libxlu_disk_i.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/util/libxlu_disk_i.h
-+++ xen-4.15.1-testing/tools/libs/util/libxlu_disk_i.h
+--- xen-4.16.0-testing.orig/tools/libs/util/libxlu_disk_i.h
++++ xen-4.16.0-testing/tools/libs/util/libxlu_disk_i.h
 @@ -10,7 +10,7 @@ typedef struct {
      void *scanner;
      YY_BUFFER_STATE buf;
@@ -201,10 +201,10 @@
      const char *spec;
  } DiskParseContext;
  
-Index: xen-4.15.1-testing/tools/libs/util/libxlu_disk_l.l
+Index: xen-4.16.0-testing/tools/libs/util/libxlu_disk_l.l
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/util/libxlu_disk_l.l
-+++ xen-4.15.1-testing/tools/libs/util/libxlu_disk_l.l
+--- xen-4.16.0-testing.orig/tools/libs/util/libxlu_disk_l.l
++++ xen-4.16.0-testing/tools/libs/util/libxlu_disk_l.l
 @@ -207,6 +207,7 @@ colo-port=[^,]*,?  { STRIP(','); setcolop
  colo-export=[^,]*,?   { STRIP(','); SAVESTRING("colo-export", colo_export, 
FROMEQUALS); }
  active-disk=[^,]*,?   { STRIP(','); SAVESTRING("active-disk", active_disk, 
FROMEQUALS); }

++++++ libxl.max_event_channels.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.482560613 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.486560615 +0100
@@ -8,11 +8,11 @@
 
 Therefore, just let the built-in default depend on the number of vcpus.
 
-Index: xen-4.15.0-testing/tools/libs/light/libxl_create.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_create.c
 ===================================================================
---- xen-4.15.0-testing.orig/tools/libs/light/libxl_create.c
-+++ xen-4.15.0-testing/tools/libs/light/libxl_create.c
-@@ -261,7 +261,7 @@ int libxl__domain_build_info_setdefault(
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_create.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_create.c
+@@ -262,7 +262,7 @@ int libxl__domain_build_info_setdefault(
              b_info->iomem[i].gfn = b_info->iomem[i].start;
  
      if (!b_info->event_channels)

++++++ libxl.pvscsi.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.494560618 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.494560618 +0100
@@ -34,11 +34,11 @@
  tools/libxl/xl_cmdtable.c            |   15 
  16 files changed, 2326 insertions(+), 4 deletions(-)
 
-Index: xen-4.15.1-testing/docs/man/xl.cfg.5.pod.in
+Index: xen-4.16.0-testing/docs/man/xl.cfg.5.pod.in
 ===================================================================
---- xen-4.15.1-testing.orig/docs/man/xl.cfg.5.pod.in
-+++ xen-4.15.1-testing/docs/man/xl.cfg.5.pod.in
-@@ -778,6 +778,62 @@ frontend to backend. It can be used as a
+--- xen-4.16.0-testing.orig/docs/man/xl.cfg.5.pod.in
++++ xen-4.16.0-testing/docs/man/xl.cfg.5.pod.in
+@@ -800,6 +800,62 @@ frontend to backend. It can be used as a
  For more information about the protocol, see
  https://xenbits.xenproject.org/docs/unstable/misc/pvcalls.html.
  
@@ -101,10 +101,10 @@
  =item B<vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]>
  
  Specifies the paravirtual framebuffer devices which should be supplied
-Index: xen-4.15.1-testing/docs/man/xl.1.pod.in
+Index: xen-4.16.0-testing/docs/man/xl.1.pod.in
 ===================================================================
---- xen-4.15.1-testing.orig/docs/man/xl.1.pod.in
-+++ xen-4.15.1-testing/docs/man/xl.1.pod.in
+--- xen-4.16.0-testing.orig/docs/man/xl.1.pod.in
++++ xen-4.16.0-testing/docs/man/xl.1.pod.in
 @@ -1610,6 +1610,24 @@ List virtual network interfaces for a do
  
  =back
@@ -130,11 +130,11 @@
  =head1 PCI PASS-THROUGH
  
  =over 4
-Index: xen-4.15.1-testing/tools/libs/light/Makefile
+Index: xen-4.16.0-testing/tools/libs/light/Makefile
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/Makefile
-+++ xen-4.15.1-testing/tools/libs/light/Makefile
-@@ -76,6 +76,7 @@ SRCS-y += libxl.c
+--- xen-4.16.0-testing.orig/tools/libs/light/Makefile
++++ xen-4.16.0-testing/tools/libs/light/Makefile
+@@ -78,6 +78,7 @@ SRCS-y += libxl.c
  SRCS-y += libxl_create.c
  SRCS-y += libxl_dm.c
  SRCS-y += libxl_pci.c
@@ -142,10 +142,10 @@
  SRCS-y += libxl_dom.c
  SRCS-y += libxl_exec.c
  SRCS-y += libxl_xshelp.c
-Index: xen-4.15.1-testing/tools/libs/util/Makefile
+Index: xen-4.16.0-testing/tools/libs/util/Makefile
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/util/Makefile
-+++ xen-4.15.1-testing/tools/libs/util/Makefile
+--- xen-4.16.0-testing.orig/tools/libs/util/Makefile
++++ xen-4.16.0-testing/tools/libs/util/Makefile
 @@ -8,6 +8,7 @@ SRCS-y += libxlu_disk_l.c
  SRCS-y += libxlu_disk.c
  SRCS-y += libxlu_vif.c
@@ -154,11 +154,11 @@
  
  CFLAGS += -Wno-format-zero-length -Wmissing-declarations \
        -Wno-declaration-after-statement -Wformat-nonliteral
-Index: xen-4.15.1-testing/tools/include/libxl.h
+Index: xen-4.16.0-testing/tools/include/libxl.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/include/libxl.h
-+++ xen-4.15.1-testing/tools/include/libxl.h
-@@ -1198,6 +1198,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libx
+--- xen-4.16.0-testing.orig/tools/include/libxl.h
++++ xen-4.16.0-testing/tools/include/libxl.h
+@@ -1243,6 +1243,13 @@ void libxl_mac_copy(libxl_ctx *ctx, libx
  #define LIBXL_HAVE_PCITOPOLOGY 1
  
  /*
@@ -172,7 +172,7 @@
   * LIBXL_HAVE_SOCKET_BITMAP
   *
   * If this is defined, then libxl_socket_bitmap_alloc and
-@@ -2263,6 +2270,41 @@ int libxl_device_channel_getinfo(libxl_c
+@@ -2308,6 +2315,41 @@ int libxl_device_channel_getinfo(libxl_c
                                   const libxl_device_channel *channel,
                                   libxl_channelinfo *channelinfo);
  
@@ -214,11 +214,11 @@
  /* Virtual TPMs */
  int libxl_device_vtpm_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vtpm 
*vtpm,
                            const libxl_asyncop_how *ao_how)
-Index: xen-4.15.1-testing/tools/libs/light/libxl_create.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_create.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_create.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_create.c
-@@ -1816,6 +1816,7 @@ const libxl__device_type *device_type_tb
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_create.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_create.c
+@@ -1846,6 +1846,7 @@ const libxl__device_type *device_type_tb
      &libxl__disk_devtype,
      &libxl__nic_devtype,
      &libxl__vtpm_devtype,
@@ -226,10 +226,10 @@
      &libxl__usbctrl_devtype,
      &libxl__usbdev_devtype,
      &libxl__pci_devtype,
-Index: xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+Index: xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_internal.h
-+++ xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_internal.h
++++ xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 @@ -4006,6 +4006,7 @@ extern const libxl__device_type libxl__v
  extern const libxl__device_type libxl__disk_devtype;
  extern const libxl__device_type libxl__nic_devtype;
@@ -238,11 +238,11 @@
  extern const libxl__device_type libxl__usbctrl_devtype;
  extern const libxl__device_type libxl__usbdev_devtype;
  extern const libxl__device_type libxl__pci_devtype;
-Index: xen-4.15.1-testing/tools/libs/light/libxl_types.idl
+Index: xen-4.16.0-testing/tools/libs/light/libxl_types.idl
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_types.idl
-+++ xen-4.15.1-testing/tools/libs/light/libxl_types.idl
-@@ -945,6 +945,43 @@ libxl_device_vsnd = Struct("device_vsnd"
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_types.idl
++++ xen-4.16.0-testing/tools/libs/light/libxl_types.idl
+@@ -950,6 +950,43 @@ libxl_device_vsnd = Struct("device_vsnd"
      ("pcms", Array(libxl_vsnd_pcm, "num_vsnd_pcms"))
      ])
  
@@ -286,7 +286,7 @@
  libxl_domain_config = Struct("domain_config", [
      ("c_info", libxl_domain_create_info),
      ("b_info", libxl_domain_build_info),
-@@ -956,6 +993,7 @@ libxl_domain_config = Struct("domain_con
+@@ -961,6 +998,7 @@ libxl_domain_config = Struct("domain_con
      ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
      ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
      ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
@@ -294,7 +294,7 @@
      ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
      ("p9s", Array(libxl_device_p9, "num_p9s")),
      ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
-@@ -997,6 +1035,21 @@ libxl_nicinfo = Struct("nicinfo", [
+@@ -1002,6 +1040,21 @@ libxl_nicinfo = Struct("nicinfo", [
      ("rref_rx", integer),
      ], dir=DIR_OUT)
  
@@ -316,10 +316,10 @@
  libxl_vtpminfo = Struct("vtpminfo", [
      ("backend", string),
      ("backend_id", uint32),
-Index: xen-4.15.1-testing/tools/libs/light/libxl_types_internal.idl
+Index: xen-4.16.0-testing/tools/libs/light/libxl_types_internal.idl
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_types_internal.idl
-+++ xen-4.15.1-testing/tools/libs/light/libxl_types_internal.idl
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_types_internal.idl
++++ xen-4.16.0-testing/tools/libs/light/libxl_types_internal.idl
 @@ -32,6 +32,7 @@ libxl__device_kind = Enumeration("device
      (14, "PVCALLS"),
      (15, "VSND"),
@@ -328,10 +328,10 @@
      ])
  
  libxl__console_backend = Enumeration("console_backend", [
-Index: xen-4.15.1-testing/tools/libs/light/libxl_vscsi.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_vscsi.c
 ===================================================================
 --- /dev/null
-+++ xen-4.15.1-testing/tools/libs/light/libxl_vscsi.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_vscsi.c
 @@ -0,0 +1,1185 @@
 +/*
 + * Copyright (C) 2016      SUSE Linux GmbH
@@ -1518,10 +1518,10 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-Index: xen-4.15.1-testing/tools/libs/util/libxlu_vscsi.c
+Index: xen-4.16.0-testing/tools/libs/util/libxlu_vscsi.c
 ===================================================================
 --- /dev/null
-+++ xen-4.15.1-testing/tools/libs/util/libxlu_vscsi.c
++++ xen-4.16.0-testing/tools/libs/util/libxlu_vscsi.c
 @@ -0,0 +1,669 @@
 +/*
 + * libxlu_vscsi.c - xl configuration file parsing: setup and helper functions
@@ -2192,10 +2192,10 @@
 +    return ERROR_INVAL;
 +}
 +#endif
-Index: xen-4.15.1-testing/tools/include/libxlutil.h
+Index: xen-4.16.0-testing/tools/include/libxlutil.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/include/libxlutil.h
-+++ xen-4.15.1-testing/tools/include/libxlutil.h
+--- xen-4.16.0-testing.orig/tools/include/libxlutil.h
++++ xen-4.16.0-testing/tools/include/libxlutil.h
 @@ -131,6 +131,25 @@ int xlu_rdm_parse(XLU_Config *cfg, libxl
  int xlu_vif_parse_rate(XLU_Config *cfg, const char *rate,
                         libxl_device_nic *nic);
@@ -2222,10 +2222,10 @@
  #endif /* LIBXLUTIL_H */
  
  /*
-Index: xen-4.15.1-testing/tools/xl/Makefile
+Index: xen-4.16.0-testing/tools/xl/Makefile
 ===================================================================
---- xen-4.15.1-testing.orig/tools/xl/Makefile
-+++ xen-4.15.1-testing/tools/xl/Makefile
+--- xen-4.16.0-testing.orig/tools/xl/Makefile
++++ xen-4.16.0-testing/tools/xl/Makefile
 @@ -19,7 +19,7 @@ CFLAGS_XL += -Wshadow
  XL_OBJS-$(CONFIG_X86) = xl_psr.o
  XL_OBJS = xl.o xl_cmdtable.o xl_sxp.o xl_utils.o $(XL_OBJS-y)
@@ -2235,10 +2235,10 @@
  XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o
  XL_OBJS += xl_info.o xl_console.o xl_misc.o
  XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o
-Index: xen-4.15.1-testing/tools/xl/xl.h
+Index: xen-4.16.0-testing/tools/xl/xl.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/xl/xl.h
-+++ xen-4.15.1-testing/tools/xl/xl.h
+--- xen-4.16.0-testing.orig/tools/xl/xl.h
++++ xen-4.16.0-testing/tools/xl/xl.h
 @@ -166,6 +166,9 @@ int main_channellist(int argc, char **ar
  int main_blockattach(int argc, char **argv);
  int main_blocklist(int argc, char **argv);
@@ -2249,10 +2249,10 @@
  int main_vtpmattach(int argc, char **argv);
  int main_vtpmlist(int argc, char **argv);
  int main_vtpmdetach(int argc, char **argv);
-Index: xen-4.15.1-testing/tools/xl/xl_parse.c
+Index: xen-4.16.0-testing/tools/xl/xl_parse.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/xl/xl_parse.c
-+++ xen-4.15.1-testing/tools/xl/xl_parse.c
+--- xen-4.16.0-testing.orig/tools/xl/xl_parse.c
++++ xen-4.16.0-testing/tools/xl/xl_parse.c
 @@ -1214,7 +1214,8 @@ void parse_config_data(const char *confi
      long l, vcpus = 0;
      XLU_Config *config;
@@ -2263,7 +2263,7 @@
      XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
                     *mca_caps;
      int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, 
num_mca_caps;
-@@ -2051,6 +2052,17 @@ void parse_config_data(const char *confi
+@@ -2060,6 +2061,17 @@ void parse_config_data(const char *confi
          }
      }
  
@@ -2281,10 +2281,10 @@
      if (!xlu_cfg_get_list(config, "vtpm", &vtpms, 0, 0)) {
          d_config->num_vtpms = 0;
          d_config->vtpms = NULL;
-Index: xen-4.15.1-testing/tools/xl/xl_vscsi.c
+Index: xen-4.16.0-testing/tools/xl/xl_vscsi.c
 ===================================================================
 --- /dev/null
-+++ xen-4.15.1-testing/tools/xl/xl_vscsi.c
++++ xen-4.16.0-testing/tools/xl/xl_vscsi.c
 @@ -0,0 +1,229 @@
 +/*
 + * Copyright 2009-2017 Citrix Ltd and other contributors
@@ -2515,11 +2515,11 @@
 +    return !!rc;
 +}
 +
-Index: xen-4.15.1-testing/tools/xl/xl_cmdtable.c
+Index: xen-4.16.0-testing/tools/xl/xl_cmdtable.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/xl/xl_cmdtable.c
-+++ xen-4.15.1-testing/tools/xl/xl_cmdtable.c
-@@ -381,6 +381,21 @@ struct cmd_spec cmd_table[] = {
+--- xen-4.16.0-testing.orig/tools/xl/xl_cmdtable.c
++++ xen-4.16.0-testing/tools/xl/xl_cmdtable.c
+@@ -382,6 +382,21 @@ const struct cmd_spec cmd_table[] = {
        "[option] <Domain> <DevId>",
        "-f, --force        do not wait for the domain to release the device"
      },

++++++ mini-os.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/Config.mk 
new/extras/mini-os-remote/Config.mk
--- old/extras/mini-os-remote/Config.mk 2021-04-07 18:07:17.000000000 +0200
+++ new/extras/mini-os-remote/Config.mk 2021-11-01 17:50:51.000000000 +0100
@@ -171,49 +171,39 @@
 # CONFIG_ variables.
 
 # Configuration defaults
+CONFIG-y += CONFIG_START_NETWORK
+CONFIG-y += CONFIG_SPARSE_BSS
+CONFIG-y += CONFIG_BLKFRONT
+CONFIG-y += CONFIG_NETFRONT
+CONFIG-y += CONFIG_FBFRONT
+CONFIG-y += CONFIG_KBDFRONT
+CONFIG-y += CONFIG_CONSFRONT
+CONFIG-y += CONFIG_XENBUS
+CONFIG-y += CONFIG_XC
+CONFIG-n += CONFIG_QEMU_XS_ARGS
+CONFIG-n += CONFIG_TEST
+CONFIG-n += CONFIG_PCIFRONT
+CONFIG-n += CONFIG_TPMFRONT
+CONFIG-n += CONFIG_TPM_TIS
+CONFIG-n += CONFIG_TPMBACK
+CONFIG-n += CONFIG_BALLOON
+# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
+# console apart of standard dom0 handled console.
+CONFIG-n += CONFIG_USE_XEN_CONSOLE
 ifeq ($(TARGET_ARCH_FAM),x86)
-CONFIG_PARAVIRT ?= y
+CONFIG-y += CONFIG_PARAVIRT
 else
-CONFIG_PARAVIRT ?= n
+CONFIG-n += CONFIG_PARAVIRT
 endif
-CONFIG_START_NETWORK ?= y
-CONFIG_SPARSE_BSS ?= y
-CONFIG_QEMU_XS_ARGS ?= n
-CONFIG_TEST ?= n
-CONFIG_PCIFRONT ?= n
-CONFIG_BLKFRONT ?= y
-CONFIG_TPMFRONT ?= n
-CONFIG_TPM_TIS ?= n
-CONFIG_TPMBACK ?= n
-CONFIG_NETFRONT ?= y
-CONFIG_FBFRONT ?= y
-CONFIG_KBDFRONT ?= y
-CONFIG_CONSFRONT ?= y
-CONFIG_XENBUS ?= y
-CONFIG_XC ?=y
-CONFIG_LWIP ?= $(lwip)
-CONFIG_BALLOON ?= n
-# Setting CONFIG_USE_XEN_CONSOLE copies all print output to the Xen emergency
-# console apart of standard dom0 handled console.
-CONFIG_USE_XEN_CONSOLE ?= n
+CONFIG-$(lwip) += CONFIG_LWIP
+
+$(foreach i,$(CONFIG-y),$(eval $(i) ?= y))
+$(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
+
+CONFIG-all := $(CONFIG-y) $(CONFIG-n)
 
 # Export config items as compiler directives
-DEFINES-$(CONFIG_PARAVIRT) += -DCONFIG_PARAVIRT
-DEFINES-$(CONFIG_START_NETWORK) += -DCONFIG_START_NETWORK
-DEFINES-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
-DEFINES-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
-DEFINES-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
-DEFINES-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
-DEFINES-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
-DEFINES-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
-DEFINES-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
-DEFINES-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
-DEFINES-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
-DEFINES-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
-DEFINES-$(CONFIG_CONSFRONT) += -DCONFIG_CONSFRONT
-DEFINES-$(CONFIG_XENBUS) += -DCONFIG_XENBUS
-DEFINES-$(CONFIG_BALLOON) += -DCONFIG_BALLOON
-DEFINES-$(CONFIG_USE_XEN_CONSOLE) += -DCONFIG_USE_XEN_CONSOLE
+$(foreach i,$(CONFIG-all),$(eval DEFINES-$($(i)) += -D$(i)))
 
 DEFINES-y += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/arch/arm/setup.c 
new/extras/mini-os-remote/arch/arm/setup.c
--- old/extras/mini-os-remote/arch/arm/setup.c  2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/arch/arm/setup.c  2021-11-01 17:50:51.000000000 
+0100
@@ -53,6 +53,21 @@
 {
 }
 
+void arch_pre_suspend(void)
+{
+}
+
+int arch_suspend(void)
+{
+    printk("Suspend not supported on ARM. Aborting.");
+    do_exit();
+    return 1;
+}
+
+void arch_post_suspend(int canceled)
+{
+}
+
 void
 arch_do_exit(void)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/arch/x86/setup.c 
new/extras/mini-os-remote/arch/x86/setup.c
--- old/extras/mini-os-remote/arch/x86/setup.c  2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/arch/x86/setup.c  2021-11-01 17:50:51.000000000 
+0100
@@ -45,7 +45,7 @@
 /*
  * This pointer holds a reference to the copy of the start_info struct.
  */
-static start_info_t *start_info_ptr;
+start_info_t *start_info_ptr;
 
 /*
  * Shared page for communicating with the hypervisor.
@@ -221,7 +221,7 @@
 #endif
        start_info_ptr = (start_info_t *)par;
 
-       start_kernel((start_info_t *)par);
+       start_kernel();
 }
 
 void arch_pre_suspend(void)
@@ -249,6 +249,15 @@
     arch_mm_pre_suspend();
 }
 
+int arch_suspend(void)
+{
+    /*
+     * This hypercall returns 1 if the suspend
+     * was cancelled and 0 if resuming in a new domain
+     */
+    return HYPERVISOR_suspend(virt_to_mfn(start_info_ptr));
+}
+
 void arch_post_suspend(int canceled)
 {
 #if CONFIG_PARAVIRT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/console/console.c 
new/extras/mini-os-remote/console/console.c
--- old/extras/mini-os-remote/console/console.c 2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/console/console.c 2021-11-01 17:50:51.000000000 
+0100
@@ -122,21 +122,21 @@
 
 void print(int direct, const char *fmt, va_list args)
 {
-    static char   buf[1024];
+    static char __print_buf[1024];
     
-    (void)vsnprintf(buf, sizeof(buf), fmt, args);
+    (void)vsnprintf(__print_buf, sizeof(__print_buf), fmt, args);
 
     if(direct)
     {
-        (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf);
+        (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(__print_buf), 
__print_buf);
         return;
     } else {
 #ifndef CONFIG_USE_XEN_CONSOLE
     if(!console_initialised)
 #endif    
-            (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf);
+            (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(__print_buf), 
__print_buf);
         
-        console_print(NULL, buf, strlen(buf));
+        console_print(NULL, __print_buf, strlen(__print_buf));
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/kernel.h 
new/extras/mini-os-remote/include/kernel.h
--- old/extras/mini-os-remote/include/kernel.h  2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/include/kernel.h  2021-11-01 17:50:51.000000000 
+0100
@@ -4,7 +4,7 @@
 #define MAX_CMDLINE_SIZE 1024
 extern char cmdline[MAX_CMDLINE_SIZE];
 
-void start_kernel(void* par);
+void start_kernel(void);
 void pre_suspend(void);
 void post_suspend(int canceled);
 void do_exit(void) __attribute__((noreturn));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/netfront.h 
new/extras/mini-os-remote/include/netfront.h
--- old/extras/mini-os-remote/include/netfront.h        2021-04-07 
18:07:17.000000000 +0200
+++ new/extras/mini-os-remote/include/netfront.h        2021-11-01 
17:50:51.000000000 +0100
@@ -8,6 +8,8 @@
                                                     int len, void* arg),
                                    unsigned char rawmac[6],
                                    char **ip);
+char *netfront_get_netmask(struct netfront_dev *dev);
+char *netfront_get_gateway(struct netfront_dev *dev);
 void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len);
 void shutdown_netfront(struct netfront_dev *dev);
 void suspend_netfront(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/shutdown.h 
new/extras/mini-os-remote/include/shutdown.h
--- old/extras/mini-os-remote/include/shutdown.h        2021-04-07 
18:07:17.000000000 +0200
+++ new/extras/mini-os-remote/include/shutdown.h        2021-11-01 
17:50:51.000000000 +0100
@@ -3,7 +3,7 @@
 
 #include <mini-os/hypervisor.h>
 
-void init_shutdown(start_info_t *si);
+void init_shutdown(void);
 void fini_shutdown(void);
 void kernel_suspend(void);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/x86/os.h 
new/extras/mini-os-remote/include/x86/os.h
--- old/extras/mini-os-remote/include/x86/os.h  2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/include/x86/os.h  2021-11-01 17:50:51.000000000 
+0100
@@ -73,6 +73,7 @@
 #endif
 
 void arch_pre_suspend(void);
+int  arch_suspend(void);
 void arch_post_suspend(int canceled);
 void arch_fini(void);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/include/xen/grant_table.h 
new/extras/mini-os-remote/include/xen/grant_table.h
--- old/extras/mini-os-remote/include/xen/grant_table.h 2021-04-07 
18:07:17.000000000 +0200
+++ new/extras/mini-os-remote/include/xen/grant_table.h 2021-11-01 
17:50:51.000000000 +0100
@@ -627,9 +627,6 @@
 #define _GNTMAP_contains_pte    (4)
 #define GNTMAP_contains_pte     (1<<_GNTMAP_contains_pte)
 
-#define _GNTMAP_can_fail        (5)
-#define GNTMAP_can_fail         (1<<_GNTMAP_can_fail)
-
 /*
  * Bits to be placed in guest kernel available PTE bits (architecture
  * dependent; only supported when XENFEAT_gnttab_map_avail_bits is set).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/kernel.c 
new/extras/mini-os-remote/kernel.c
--- old/extras/mini-os-remote/kernel.c  2021-04-07 18:07:17.000000000 +0200
+++ new/extras/mini-os-remote/kernel.c  2021-11-01 17:50:51.000000000 +0100
@@ -77,7 +77,7 @@
     return 0;
 }
 
-void start_kernel(void* par)
+void start_kernel(void)
 {
     /* Set up events. */
     init_events();
@@ -107,7 +107,7 @@
 
 #ifdef CONFIG_XENBUS
     /* Init shutdown thread */
-    init_shutdown((start_info_t *)par);
+    init_shutdown();
 #endif
 
     /* Call (possibly overridden) app_main() */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/lwip-net.c 
new/extras/mini-os-remote/lwip-net.c
--- old/extras/mini-os-remote/lwip-net.c        2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/lwip-net.c        2021-11-01 17:50:51.000000000 
+0100
@@ -343,22 +343,40 @@
   struct ip_addr ipaddr = { htonl(IF_IPADDR) };
   struct ip_addr netmask = { htonl(IF_NETMASK) };
   struct ip_addr gw = { 0 };
-  char *ip = NULL;
+  char *ip = NULL, *netmask_str = NULL, *gw_str = NULL;
 
   tprintk("Waiting for network.\n");
 
   dev = init_netfront(NULL, NULL, rawmac, &ip);
+  if (!dev) {
+      tprintk("Error initializing netfront.\n");
+      return;
+  }
+  netmask_str = netfront_get_netmask(dev);
+  gw_str = netfront_get_gateway(dev);
   
   if (ip) {
     ipaddr.addr = inet_addr(ip);
-    if (IN_CLASSA(ntohl(ipaddr.addr)))
-      netmask.addr = htonl(IN_CLASSA_NET);
-    else if (IN_CLASSB(ntohl(ipaddr.addr)))
-      netmask.addr = htonl(IN_CLASSB_NET);
-    else if (IN_CLASSC(ntohl(ipaddr.addr)))
-      netmask.addr = htonl(IN_CLASSC_NET);
-    else
-      tprintk("Strange IP %s, leaving netmask to 0.\n", ip);
+    free(ip);
+
+    if (netmask_str) {
+        netmask.addr = inet_addr(netmask_str);
+        free(netmask_str);
+    } else {
+        if (IN_CLASSA(ntohl(ipaddr.addr)))
+            netmask.addr = htonl(IN_CLASSA_NET);
+        else if (IN_CLASSB(ntohl(ipaddr.addr)))
+            netmask.addr = htonl(IN_CLASSB_NET);
+        else if (IN_CLASSC(ntohl(ipaddr.addr)))
+            netmask.addr = htonl(IN_CLASSC_NET);
+        else
+            tprintk("Strange IP %s, leaving netmask to 0.\n", ip);
+    }
+
+    if (gw_str) {
+        gw.addr = inet_addr(gw_str);
+        free(gw_str);
+    }
   }
   tprintk("IP %x netmask %x gateway %x.\n",
           ntohl(ipaddr.addr), ntohl(netmask.addr), ntohl(gw.addr));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/netfront.c 
new/extras/mini-os-remote/netfront.c
--- old/extras/mini-os-remote/netfront.c        2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/netfront.c        2021-11-01 17:50:51.000000000 
+0100
@@ -36,6 +36,8 @@
 };
 
 struct netfront_dev {
+    int refcount;
+
     domid_t dom;
 
     unsigned short tx_freelist[NET_TX_RING_SIZE + 1];
@@ -65,24 +67,20 @@
 
     void (*netif_rx)(unsigned char* data, int len, void* arg);
     void *netif_rx_arg;
-};
 
-struct netfront_dev_list {
-    struct netfront_dev *dev;
     unsigned char rawmac[6];
     char *ip;
+    char *mask;
+    char *gw;
 
-    int refcount;
-
-    struct netfront_dev_list *next;
+    struct netfront_dev *next;
 };
 
-static struct netfront_dev_list *dev_list = NULL;
+static struct netfront_dev *dev_list = NULL;
 
 void init_rx_buffers(struct netfront_dev *dev);
-static struct netfront_dev *_init_netfront(struct netfront_dev *dev,
-                                           unsigned char rawmac[6], char **ip);
-static void _shutdown_netfront(struct netfront_dev *dev);
+static struct netfront_dev *_init_netfront(struct netfront_dev *dev);
+static int _shutdown_netfront(struct netfront_dev *dev);
 void netfront_set_rx_handler(struct netfront_dev *dev,
                              void (*thenetif_rx)(unsigned char *data, int len,
                                                  void *arg),
@@ -272,6 +270,7 @@
     mask_evtchn(dev->evtchn);
 
     free(dev->mac);
+    free(dev->ip);
     free(dev->backend);
 
     gnttab_end_access(dev->rx_ring_ref);
@@ -305,8 +304,7 @@
 {
     char nodename[256];
     struct netfront_dev *dev;
-    struct netfront_dev_list *ldev = NULL;
-    struct netfront_dev_list *list = NULL;
+    struct netfront_dev *list;
     static int netfrontends = 0;
 
     if (!_nodename)
@@ -317,10 +315,9 @@
     }
 
     /* Check if the device is already initialized */
-    for (list = dev_list; list != NULL; list = list->next) {
-        if (strcmp(nodename, list->dev->nodename) == 0) {
-            list->refcount++;
-            dev = list->dev;
+    for (dev = dev_list; dev != NULL; dev = dev->next) {
+        if (strcmp(nodename, dev->nodename) == 0) {
+            dev->refcount++;
             if (thenetif_rx)
                 netfront_set_rx_handler(dev, thenetif_rx, NULL);
             goto out;
@@ -341,48 +338,52 @@
     dev->netif_rx = thenetif_rx;
     dev->netif_rx_arg = NULL;
 
-    ldev = malloc(sizeof(struct netfront_dev_list));
-    memset(ldev, 0, sizeof(struct netfront_dev_list));
-
-    if (_init_netfront(dev, ldev->rawmac, &(ldev->ip))) {
-        ldev->dev = dev;
-        ldev->refcount = 1;
-        ldev->next = NULL;
+    if (_init_netfront(dev)) {
+        dev->refcount = 1;
+        dev->next = NULL;
 
         if (!dev_list) {
-            dev_list = ldev;
+            dev_list = dev;
         } else {
             for (list = dev_list; list->next != NULL; list = list->next)
                 ;
-            list->next = ldev;
-               }
+            list->next = dev;
+        }
         netfrontends++;
     } else {
-        free(ldev);
         dev = NULL;
         goto err;
     }
 
 out:
     if (rawmac) {
-        rawmac[0] = ldev->rawmac[0];
-        rawmac[1] = ldev->rawmac[1];
-        rawmac[2] = ldev->rawmac[2];
-        rawmac[3] = ldev->rawmac[3];
-        rawmac[4] = ldev->rawmac[4];
-        rawmac[5] = ldev->rawmac[5];
+        rawmac[0] = dev->rawmac[0];
+        rawmac[1] = dev->rawmac[1];
+        rawmac[2] = dev->rawmac[2];
+        rawmac[3] = dev->rawmac[3];
+        rawmac[4] = dev->rawmac[4];
+        rawmac[5] = dev->rawmac[5];
        }
     if (ip)
-        *ip = strdup(ldev->ip);
+        *ip = dev->ip ? strdup(dev->ip) : NULL;
 
 err:
     return dev;
 }
 
-static struct netfront_dev *_init_netfront(struct netfront_dev *dev,
-                                          unsigned char rawmac[6],
-                                          char **ip)
+char *netfront_get_netmask(struct netfront_dev *dev)
+{
+    return dev->mask ? strdup(dev->mask) : NULL;
+}
+
+char *netfront_get_gateway(struct netfront_dev *dev)
+{
+    return dev->gw ? strdup(dev->gw) : NULL;
+}
+
+static struct netfront_dev *_init_netfront(struct netfront_dev *dev)
 {
+    int domid;
     xenbus_transaction_t xbt;
     char* err = NULL;
     char* message=NULL;
@@ -393,6 +394,12 @@
     int i;
     char path[256];
 
+    snprintf(path, sizeof(path), "%s/backend-id", dev->nodename);
+    domid = xenbus_read_integer(path);
+    if (domid < 0)
+        return NULL;
+    dev->dom = domid;
+
     printk("net TX ring size %lu\n", (unsigned long) NET_TX_RING_SIZE);
     printk("net RX ring size %lu\n", (unsigned long) NET_RX_RING_SIZE);
     init_SEMAPHORE(&dev->tx_sem, NET_TX_RING_SIZE);
@@ -407,8 +414,6 @@
         BUG_ON(dev->rx_buffers[i].page == NULL);
     }
 
-    snprintf(path, sizeof(path), "%s/backend-id", dev->nodename);
-    dev->dom = xenbus_read_integer(path);
 #ifdef HAVE_LIBC
     if (dev->netif_rx == NETIF_SELECT_RX)
         evtchn_alloc_unbound(dev->dom, netfront_select_handler, dev, 
&dev->evtchn);
@@ -503,6 +508,8 @@
     {
         XenbusState state;
         char path[strlen(dev->backend) + strlen("/state") + 1];
+        char *p;
+
         snprintf(path, sizeof(path), "%s/state", dev->backend);
 
         xenbus_watch_path_token(XBT_NIL, path, path, &dev->events);
@@ -517,9 +524,19 @@
             goto error;
         }
 
-        if (ip) {
-            snprintf(path, sizeof(path), "%s/ip", dev->backend);
-            xenbus_read(XBT_NIL, path, ip);
+        snprintf(path, sizeof(path), "%s/ip", dev->backend);
+        xenbus_read(XBT_NIL, path, &dev->ip);
+
+        p = dev->ip ? strchr(dev->ip, ' ') : NULL;
+        if (p) {
+            *p++ = '\0';
+            dev->mask = p;
+
+            p = strchr(p, ' ');
+            if (p) {
+                *p++ = '\0';
+                dev->gw = p;
+            }
         }
     }
 
@@ -530,14 +547,13 @@
     /* Special conversion specifier 'hh' needed for __ia64__. Without
      * this mini-os panics with 'Unaligned reference'.
      */
-    if (rawmac)
-        sscanf(dev->mac,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
-               &rawmac[0],
-               &rawmac[1],
-               &rawmac[2],
-               &rawmac[3],
-               &rawmac[4],
-               &rawmac[5]);
+    sscanf(dev->mac,"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
+           &dev->rawmac[0],
+           &dev->rawmac[1],
+           &dev->rawmac[2],
+           &dev->rawmac[3],
+           &dev->rawmac[4],
+           &dev->rawmac[5]);
 
     return dev;
 
@@ -567,38 +583,33 @@
 
 void shutdown_netfront(struct netfront_dev *dev)
 {
-    struct netfront_dev_list *list = NULL;
-    struct netfront_dev_list *to_del = NULL;
+    struct netfront_dev *list;
 
     /* Check this is a valid device */
-    for (list = dev_list; list != NULL; list = list->next) {
-        if (list->dev == dev)
-            break;
-    }
+    for (list = dev_list; list != NULL && list != dev; list = list->next);
 
     if (!list) {
         printk("Trying to shutdown an invalid netfront device (%p)\n", dev);
         return;
     }
 
-    list->refcount--;
-    if (list->refcount == 0) {
-        _shutdown_netfront(dev);
+    dev->refcount--;
+    if (dev->refcount == 0) {
+        if (_shutdown_netfront(dev))
+            return;
 
-        to_del = list;
-        if (to_del == dev_list) {
-            free(to_del);
-                       dev_list = NULL;
+        if (dev == dev_list) {
+            dev_list = NULL;
         } else {
-            for (list = dev_list; list->next != to_del; list = list->next)
+            for (list = dev_list; list->next != dev; list = list->next)
                 ;
-            list->next = to_del->next;
-            free(to_del);
+            list->next = dev->next;
         }
+        free_netfront(dev);
     }
 }
 
-static void _shutdown_netfront(struct netfront_dev *dev)
+static int _shutdown_netfront(struct netfront_dev *dev)
 {
     char* err = NULL, *err2;
     XenbusState state;
@@ -659,24 +670,23 @@
     err2 = xenbus_rm(XBT_NIL, nodename);
     free(err2);
 
-    if (!err)
-        free_netfront(dev);
+    return err ? -EBUSY : 0;
 }
 
 void suspend_netfront(void)
 {
-    struct netfront_dev_list *list;
+    struct netfront_dev *dev;
 
-    for (list = dev_list; list != NULL; list = list->next)
-        _shutdown_netfront(list->dev);
+    for (dev = dev_list; dev != NULL; dev = dev->next)
+        _shutdown_netfront(dev);
 }
 
 void resume_netfront(void)
 {
-    struct netfront_dev_list *list;
+    struct netfront_dev *dev;
 
-    for (list = dev_list; list != NULL; list = list->next)
-        _init_netfront(list->dev, NULL, NULL);
+    for (dev = dev_list; dev != NULL; dev = dev->next)
+        _init_netfront(dev);
 }
 
 void init_rx_buffers(struct netfront_dev *dev)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/shutdown.c 
new/extras/mini-os-remote/shutdown.c
--- old/extras/mini-os-remote/shutdown.c        2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/shutdown.c        2021-11-01 17:50:51.000000000 
+0100
@@ -46,8 +46,6 @@
 #include <mini-os/xmalloc.h>
 
 
-static start_info_t *start_info_ptr;
-
 #ifdef CONFIG_XENBUS
 static const char *path = "control/shutdown";
 static const char *token = "control/shutdown";
@@ -111,10 +109,8 @@
     }
 }
 
-void init_shutdown(start_info_t *si)
+void init_shutdown(void)
 {
-    start_info_ptr = si;
-
     end_shutdown_thread = 0;
     create_thread("shutdown", shutdown_thread, NULL);
 }
@@ -142,11 +138,7 @@
     pre_suspend();
     arch_pre_suspend();
 
-    /*
-     * This hypercall returns 1 if the suspend
-     * was cancelled and 0 if resuming in a new domain
-     */
-    rc = HYPERVISOR_suspend(virt_to_mfn(start_info_ptr));
+    rc = arch_suspend();
 
     arch_post_suspend(rc);
     post_suspend(rc);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extras/mini-os-remote/xenbus/xenbus.c 
new/extras/mini-os-remote/xenbus/xenbus.c
--- old/extras/mini-os-remote/xenbus/xenbus.c   2021-04-07 18:07:17.000000000 
+0200
+++ new/extras/mini-os-remote/xenbus/xenbus.c   2021-11-01 17:50:51.000000000 
+0100
@@ -549,21 +549,6 @@
     return res;
 }
 
-/* Send a debug message to xenbus.  Can block. */
-static void xenbus_debug_msg(const char *msg)
-{
-    int len = strlen(msg);
-    struct write_req req[] = {
-        { "print", sizeof("print") },
-        { msg, len },
-        { "", 1 }};
-    struct xsd_sockmsg *reply;
-
-    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
-    printk("Got a reply, type %d, id %d, len %d.\n",
-            reply->type, reply->req_id, reply->len);
-}
-
 /* List the contents of a directory.  Returns a malloc()ed array of
    pointers to malloc()ed strings.  The array is NULL terminated.  May
    block. */
@@ -858,6 +843,22 @@
     return ret;
 }
 
+#ifdef CONFIG_TEST
+/* Send a debug message to xenbus.  Can block. */
+static void xenbus_debug_msg(const char *msg)
+{
+    int len = strlen(msg);
+    struct write_req req[] = {
+        { "print", sizeof("print") },
+        { msg, len },
+        { "", 1 }};
+    struct xsd_sockmsg *reply;
+
+    reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req));
+    printk("Got a reply, type %d, id %d, len %d.\n",
+            reply->type, reply->req_id, reply->len);
+}
+
 static void do_ls_test(const char *pre)
 {
     char **dirs, *msg;
@@ -944,6 +945,7 @@
     do_read_test("device/vif/0/flibble");
     printk("(Should have said ENOENT)\n");
 }
+#endif /* CONFIG_TEST */
 
 /*
  * Local variables:

++++++ replace-obsolete-network-configuration-commands-in-s.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:06.762560740 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:06.766560742 +0100
@@ -16,10 +16,10 @@
  .../i386-dm/qemu-ifup-Linux                                |  5 +++--
  9 files changed, 26 insertions(+), 26 deletions(-)
 
-Index: xen-4.15.0-testing/README
+Index: xen-4.16.0-testing/README
 ===================================================================
---- xen-4.15.0-testing.orig/README
-+++ xen-4.15.0-testing/README
+--- xen-4.16.0-testing.orig/README
++++ xen-4.16.0-testing/README
 @@ -60,8 +60,7 @@ provided by your OS distributor:
      * Development install of GLib v2.0 (e.g. libglib2.0-dev)
      * Development install of Pixman (e.g. libpixman-1-dev)
@@ -28,12 +28,12 @@
 -    * iproute package (/sbin/ip)
 +    * iproute package (/sbin/ip, /sbin/bridge)
      * GNU bison and GNU flex
-     * GNU gettext
      * ACPI ASL compiler (iasl)
-Index: xen-4.15.0-testing/tools/hotplug/Linux/remus-netbuf-setup
+ 
+Index: xen-4.16.0-testing/tools/hotplug/Linux/remus-netbuf-setup
 ===================================================================
---- xen-4.15.0-testing.orig/tools/hotplug/Linux/remus-netbuf-setup
-+++ xen-4.15.0-testing/tools/hotplug/Linux/remus-netbuf-setup
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/remus-netbuf-setup
++++ xen-4.16.0-testing/tools/hotplug/Linux/remus-netbuf-setup
 @@ -76,6 +76,7 @@
  #specific setup code such as renaming.
  dir=$(dirname "$0")
@@ -60,10 +60,10 @@
          check_ifb "$ifb" || continue
          REMUS_IFB="$ifb"
          break
-Index: xen-4.15.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.16.0-testing/tools/hotplug/Linux/vif-bridge
 ===================================================================
---- xen-4.15.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.15.0-testing/tools/hotplug/Linux/vif-bridge
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.16.0-testing/tools/hotplug/Linux/vif-bridge
 @@ -42,7 +42,8 @@ if [ -z "$bridge" ]; then
      if which brctl >&/dev/null; then
          bridge=$(brctl show | awk 'NR==2{print$1}')
@@ -74,10 +74,10 @@
      fi
    if [ -z "$bridge" ]
    then
-Index: xen-4.15.0-testing/tools/hotplug/Linux/vif-nat
+Index: xen-4.16.0-testing/tools/hotplug/Linux/vif-nat
 ===================================================================
---- xen-4.15.0-testing.orig/tools/hotplug/Linux/vif-nat
-+++ xen-4.15.0-testing/tools/hotplug/Linux/vif-nat
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/vif-nat
++++ xen-4.16.0-testing/tools/hotplug/Linux/vif-nat
 @@ -172,7 +172,11 @@ case "$command" in
          ;;
      offline)
@@ -91,10 +91,10 @@
          ;;
  esac
  
-Index: xen-4.15.0-testing/tools/hotplug/Linux/vif-route
+Index: xen-4.16.0-testing/tools/hotplug/Linux/vif-route
 ===================================================================
---- xen-4.15.0-testing.orig/tools/hotplug/Linux/vif-route
-+++ xen-4.15.0-testing/tools/hotplug/Linux/vif-route
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/vif-route
++++ xen-4.16.0-testing/tools/hotplug/Linux/vif-route
 @@ -23,13 +23,23 @@ main_ip=$(dom0_ip)
  
  case "${command}" in
@@ -121,10 +121,10 @@
          ipcmd='del'
          cmdprefix='do_without_error'
          ;;
-Index: xen-4.15.0-testing/tools/hotplug/Linux/xen-network-common.sh
+Index: xen-4.16.0-testing/tools/hotplug/Linux/xen-network-common.sh
 ===================================================================
---- xen-4.15.0-testing.orig/tools/hotplug/Linux/xen-network-common.sh
-+++ xen-4.15.0-testing/tools/hotplug/Linux/xen-network-common.sh
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/xen-network-common.sh
++++ xen-4.16.0-testing/tools/hotplug/Linux/xen-network-common.sh
 @@ -15,6 +15,12 @@
  #
  

++++++ stubdom.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/stubdom.tar.bz2 
/work/SRC/openSUSE:Factory/.xen.new.1890/stubdom.tar.bz2 differ: char 11, line 1

++++++ xen-4.15.1-testing-src.tar.bz2 -> xen-4.16.0-testing-src.tar.bz2 ++++++
++++ 58276 lines of diff (skipped)

++++++ xen-arch-kconfig-nr_cpus.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.646562051 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.650562053 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.15.0-testing/xen/arch/Kconfig
+Index: xen-4.16.0-testing/xen/arch/Kconfig
 ===================================================================
---- xen-4.15.0-testing.orig/xen/arch/Kconfig
-+++ xen-4.15.0-testing/xen/arch/Kconfig
-@@ -2,7 +2,7 @@
+--- xen-4.16.0-testing.orig/xen/arch/Kconfig
++++ xen-4.16.0-testing/xen/arch/Kconfig
+@@ -4,7 +4,7 @@ config 64BIT
  config NR_CPUS
        int "Maximum number of CPUs"
        range 1 4095

++++++ xen-destdir.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.654562055 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.658562057 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.15.0-testing/tools/xenstore/Makefile
+Index: xen-4.16.0-testing/tools/xenstore/Makefile
 ===================================================================
---- xen-4.15.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.15.0-testing/tools/xenstore/Makefile
+--- xen-4.16.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.16.0-testing/tools/xenstore/Makefile
 @@ -76,7 +76,7 @@ xenstored.a: $(XENSTORED_OBJS)
        $(AR) cr $@ $^
  
@@ -9,8 +9,8 @@
 -      ln -f xenstore $@
 +      ln -sf xenstore $@
  
- xenstore: xenstore_client.o
-       $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) 
$(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
+ xenstore: xenstore_client.o xs_lib.o
+       $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) 
$(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
 @@ -113,11 +113,12 @@ ifeq ($(XENSTORE_XENSTORED),y)
        $(INSTALL_DIR) $(DESTDIR)$(sbindir)
        $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)

++++++ xen.bug1026236.suse_vtsc_tolerance.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.678562066 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.678562066 +0100
@@ -8,11 +8,11 @@
 the hostadmin to decide how much tolerance all running domUs can
 actually handle. The default is zero tolerance.
 
-Index: xen-4.15.0-testing/xen/arch/x86/time.c
+Index: xen-4.16.0-testing/xen/arch/x86/time.c
 ===================================================================
---- xen-4.15.0-testing.orig/xen/arch/x86/time.c
-+++ xen-4.15.0-testing/xen/arch/x86/time.c
-@@ -45,6 +45,9 @@
+--- xen-4.16.0-testing.orig/xen/arch/x86/time.c
++++ xen-4.16.0-testing/xen/arch/x86/time.c
+@@ -46,6 +46,9 @@
  static char __initdata opt_clocksource[10];
  string_param("clocksource", opt_clocksource);
  
@@ -22,7 +22,7 @@
  unsigned long __read_mostly cpu_khz;  /* CPU clock frequency in kHz. */
  DEFINE_SPINLOCK(rtc_lock);
  unsigned long pit0_ticks;
-@@ -2413,6 +2416,7 @@ int tsc_set_info(struct domain *d,
+@@ -2475,6 +2478,7 @@ int tsc_set_info(struct domain *d,
  
      switch ( tsc_mode )
      {
@@ -30,7 +30,7 @@
      case TSC_MODE_DEFAULT:
      case TSC_MODE_ALWAYS_EMULATE:
          d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
-@@ -2426,8 +2430,26 @@ int tsc_set_info(struct domain *d,
+@@ -2488,8 +2492,26 @@ int tsc_set_info(struct domain *d,
           * When a guest is created, gtsc_khz is passed in as zero, making
           * d->arch.tsc_khz == cpu_khz. Thus no need to check incarnation.
           */

++++++ xen.libxl.dmmd.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.686562070 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.690562072 +0100
@@ -7,10 +7,10 @@
  tools/libxl/libxlu_disk_l.l |    2 ++
  4 files changed, 37 insertions(+), 6 deletions(-)
 
-Index: xen-4.15.1-testing/tools/libs/light/libxl_disk.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_disk.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_disk.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_disk.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_disk.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_disk.c
 @@ -178,7 +178,7 @@ static int libxl__device_disk_setdefault
      return rc;
  }
@@ -31,10 +31,10 @@
                  flexarray_append(back, "params");
                  flexarray_append(back, GCSPRINTF("%s:%s",
                                
libxl__device_disk_string_of_format(disk->format),
-Index: xen-4.15.1-testing/tools/libs/light/libxl_device.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_device.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_device.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_device.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_device.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_device.c
 @@ -326,7 +326,8 @@ static int disk_try_backend(disk_try_bac
          return 0;
  
@@ -57,10 +57,10 @@
   bad_colo:
      LOG(DEBUG, "Disk vdev=%s, backend %s not compatible with colo",
          a->disk->vdev, libxl_disk_backend_to_string(backend));
-Index: xen-4.15.1-testing/tools/libs/light/libxl_dm.c
+Index: xen-4.16.0-testing/tools/libs/light/libxl_dm.c
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_dm.c
-+++ xen-4.15.1-testing/tools/libs/light/libxl_dm.c
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_dm.c
++++ xen-4.16.0-testing/tools/libs/light/libxl_dm.c
 @@ -1197,6 +1197,30 @@ out:
      return rc;
  }
@@ -105,10 +105,10 @@
              if (dev_number == -1) {
                  LOGD(WARN, guest_domid, "unable to determine"" disk number 
for %s",
                       disks[i].vdev);
-Index: xen-4.15.1-testing/tools/libs/util/libxlu_disk_l.l
+Index: xen-4.16.0-testing/tools/libs/util/libxlu_disk_l.l
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/util/libxlu_disk_l.l
-+++ xen-4.15.1-testing/tools/libs/util/libxlu_disk_l.l
+--- xen-4.16.0-testing.orig/tools/libs/util/libxlu_disk_l.l
++++ xen-4.16.0-testing/tools/libs/util/libxlu_disk_l.l
 @@ -241,6 +241,8 @@ target=.*  { STRIP(','); SAVESTRING("targ
                      free(newscript);
                  }
@@ -118,13 +118,13 @@
  tapdisk:/.*   { DPC->had_depr_prefix=1; DEPRECATE(0); }
  tap2?:/.*     { DPC->had_depr_prefix=1; DEPRECATE(0); }
  aio:/.*               { DPC->had_depr_prefix=1; DEPRECATE(0); }
-Index: xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+Index: xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 ===================================================================
---- xen-4.15.1-testing.orig/tools/libs/light/libxl_internal.h
-+++ xen-4.15.1-testing/tools/libs/light/libxl_internal.h
+--- xen-4.16.0-testing.orig/tools/libs/light/libxl_internal.h
++++ xen-4.16.0-testing/tools/libs/light/libxl_internal.h
 @@ -2065,6 +2065,10 @@ _hidden char *libxl__object_to_json(libx
- _hidden void libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool retore,
-                                  libxl_domain_build_info *info);
+ _hidden int libxl__cpuid_legacy(libxl_ctx *ctx, uint32_t domid, bool retore,
+                                 libxl_domain_build_info *info);
  
 +_hidden int libxl__device_from_disk(libxl__gc *gc, uint32_t domid,
 +                                   const libxl_device_disk *disk,

++++++ xen.sysconfig-fillup.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.698562075 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.698562075 +0100
@@ -18,8 +18,10 @@
 
 Prevent this by defining all keys, with empty values, so that consumers
 of the values will continue to use the built-in defaults.
---- a/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
-+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
+Index: xen-4.16.0-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
+===================================================================
+--- xen-4.16.0-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
++++ xen-4.16.0-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
 @@ -3,7 +3,9 @@
  ## Default: "none"
  #
@@ -52,8 +54,8 @@
 +XENSTORED=
  
  ## Type: string
- ## Default: ""
-@@ -44,30 +46,31 @@ XENSTORED_ARGS=
+ ## Default: unlimited
+@@ -57,9 +59,10 @@ XENSTORED_ARGS=
  ## Type: string
  ## Default: Not defined, tracing off
  #
@@ -64,16 +66,9 @@
 +#
 +XENSTORED_TRACE=
  
- ## Type: string
- ## Default: "@XEN_LIB_STORED@"
- #
- # Running xenstored on XENSTORED_ROOTDIR
- # Only evaluated if XENSTORETYPE is "daemon".
--#XENSTORED_ROOTDIR=@XEN_LIB_STORED@
-+XENSTORED_ROOTDIR=
- 
- ## Type: string
- ## Default: @LIBEXEC@/boot/xenstore-stubdom.gz
+ ## Type: integer
+ ## Default: 50
+@@ -75,14 +78,14 @@ XENSTORED_ARGS=
  #
  # xenstore domain kernel.
  # Only evaluated if XENSTORETYPE is "domain".
@@ -90,7 +85,7 @@
  
  ## Type: string
  ## Default: not set, no autoballooning of xenstore domain
-@@ -78,7 +81,7 @@ XENSTORED_ARGS=
+@@ -93,7 +96,7 @@ XENSTORED_ARGS=
  # - combination of both in form of <val>:<frac> (e.g. 8:1/100), resulting
  #   value will be the higher of both specifications
  # Only evaluated if XENSTORETYPE is "domain".
@@ -99,7 +94,7 @@
  
  ## Type: string
  ## Default: ""
-@@ -91,4 +94,4 @@ XENSTORE_DOMAIN_ARGS=
+@@ -106,4 +109,4 @@ XENSTORE_DOMAIN_ARGS=
  #QEMU_XEN=@qemu_xen_path@
  
  # Dom0 UUID

++++++ xenstore-run-in-studomain.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.770562108 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.770562108 +0100
@@ -11,7 +11,7 @@
  #
  # Select type of xentore service.
  #
-@@ -66,14 +66,14 @@ XENSTORED_ROOTDIR=
+@@ -81,14 +81,14 @@ XENSTORED_TRACE=
  XENSTORE_DOMAIN_KERNEL=
  
  ## Type: integer
@@ -30,7 +30,7 @@
  # - plain integer value for max size in MiB
 --- a/tools/hotplug/Linux/launch-xenstore.in
 +++ b/tools/hotplug/Linux/launch-xenstore.in
-@@ -61,7 +61,7 @@ fi
+@@ -48,7 +48,7 @@ test_xenstore && exit 0
  
  test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons && . 
@CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons
  
@@ -39,7 +39,7 @@
  
  /bin/mkdir -p @XEN_RUN_DIR@
  
-@@ -87,9 +87,10 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/x
+@@ -95,9 +95,10 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/x
  [ "$XENSTORETYPE" = "domain" ] && {
        [ -z "$XENSTORE_DOMAIN_KERNEL" ] && 
XENSTORE_DOMAIN_KERNEL=@LIBEXEC@/boot/xenstore-stubdom.gz
        XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --kernel 
$XENSTORE_DOMAIN_KERNEL"
@@ -50,5 +50,5 @@
 +      [ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] && XENSTORE_MAX_DOMAIN_SIZE="1/100"
 +      XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem 
$XENSTORE_MAX_DOMAIN_SIZE"
  
-       echo $nonl Starting $XENSTORE_DOMAIN_KERNEL...
+       echo -n Starting $XENSTORE_DOMAIN_KERNEL...
        ${LIBEXEC_BIN}/init-xenstore-domain $XENSTORE_DOMAIN_ARGS || exit 1

++++++ xl-save-pc.patch ++++++
--- /var/tmp/diff_new_pack.0sUO7F/_old  2021-11-12 15:59:09.782562114 +0100
+++ /var/tmp/diff_new_pack.0sUO7F/_new  2021-11-12 15:59:09.782562114 +0100
@@ -40,7 +40,7 @@
  install: all
 --- a/tools/xl/xl.h
 +++ b/tools/xl/xl.h
-@@ -300,6 +300,7 @@ typedef enum {
+@@ -301,6 +301,7 @@ typedef enum {
      DOMAIN_RESTART_SOFT_RESET,   /* Soft reset should be performed */
  } domain_restart_type;
  

Reply via email to