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;