Sync from SUSE:SLFO:Main xen revision 4d5e5d4e9a7a0dfde59c1d61df70884b

This commit is contained in:
Adrian Schröter 2025-02-07 18:47:59 +01:00
parent 4ce9e75764
commit 5be7b338bb
19 changed files with 173 additions and 127 deletions

View File

@ -136,53 +136,3 @@ Index: xen-4.19.0-testing/xen/tools/compat-build-header.py
import re,sys
Index: xen-4.19.0-testing/tools/misc/xensymoops
===================================================================
--- xen-4.19.0-testing.orig/tools/misc/xensymoops
+++ xen-4.19.0-testing/tools/misc/xensymoops
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# An oops analyser for Xen
# Usage: xensymoops path-to-xen.s < oops-message
@@ -43,12 +43,12 @@ def read_oops():
return (eip_addr, stack_addresses)
def usage():
- print >> sys.stderr, """Usage: %s path-to-asm < oops-msg
+ print("""Usage: %s path-to-asm < oops-msg
The oops message should be fed to the standard input. The
command-line argument specifies the path to the Xen assembly dump
produced by \"make debug\". The location of EIP and the backtrace
will be output to standard output.
- """ % sys.argv[0]
+ """ % sys.argv[0], file=sys.stderr)
sys.exit()
##### main
@@ -99,7 +99,7 @@ while True:
# if this address was seen as a potential code address in the backtrace then
# record it in the backtrace list
- if stk_addrs.has_key(address):
+ if address in stk_addrs:
backtrace.append((stk_addrs[address], address, func))
# if this was the address that EIP...
@@ -107,12 +107,12 @@ while True:
eip_func = func
-print "EIP %s in function %s" % (eip_addr, eip_func)
-print "Backtrace:"
+print("EIP %s in function %s" % (eip_addr, eip_func))
+print("Backtrace:")
# sorting will order primarily by the first element of each tuple,
# i.e. the order in the original oops
backtrace.sort()
for (i, a, f) in backtrace:
- print "%s in function %s" % ( a, f )
+ print("%s in function %s" % ( a, f ))

View File

@ -20,7 +20,7 @@ Acked-by: Christian Lindig <christian.lindig@citrix.com>
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1850,13 +1850,28 @@ static inline int libxl_retrieve_domain_
@@ -1855,13 +1855,28 @@ static inline int libxl_retrieve_domain_
libxl_retrieve_domain_configuration_0x041200
#endif

View File

@ -53,7 +53,7 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1863,6 +1863,7 @@ typedef struct {
@@ -1868,6 +1868,7 @@ typedef struct {
} libxl_domain_suspend_suse_properties;
#define LIBXL_SUSPEND_DEBUG 1
#define LIBXL_SUSPEND_LIVE 2

View File

@ -46,7 +46,7 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1858,6 +1858,7 @@ static inline int libxl_retrieve_domain_
@@ -1863,6 +1863,7 @@ static inline int libxl_retrieve_domain_
typedef struct {
uint32_t flags; /* LIBXL_SUSPEND_* */

View File

@ -51,7 +51,7 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1859,6 +1859,7 @@ static inline int libxl_retrieve_domain_
@@ -1864,6 +1864,7 @@ static inline int libxl_retrieve_domain_
typedef struct {
uint32_t flags; /* LIBXL_SUSPEND_* */
uint32_t max_iters;

View File

@ -19,7 +19,7 @@ v2:
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -699,8 +699,23 @@ int write_exact(int fd, const void *data
@@ -633,8 +633,23 @@ int write_exact(int fd, const void *data
#if defined(__MINIOS__)
/*
@ -44,7 +44,7 @@ v2:
int writev_exact(int fd, const struct iovec *iov, int iovcnt)
{
int rc, i;
@@ -715,6 +730,46 @@ int writev_exact(int fd, const struct io
@@ -649,6 +664,46 @@ int writev_exact(int fd, const struct io
return 0;
}
#else
@ -93,7 +93,7 @@ v2:
struct iovec *local_iov = NULL;
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -389,6 +389,7 @@ int xc_flush_mmu_updates(xc_interface *x
@@ -382,6 +382,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 */

View File

@ -85,7 +85,7 @@ the execution time of each script.
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1345,6 +1345,7 @@ static void initiate_domain_create(libxl
@@ -1363,6 +1363,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);
@ -294,7 +294,7 @@ the execution time of each script.
/* private */
libxl__ev_time time;
libxl__ev_child child;
@@ -4892,6 +4895,9 @@ _hidden int userlookup_helper_getpwuid(l
@@ -4899,6 +4902,9 @@ _hidden int userlookup_helper_getpwuid(l
#endif

View File

@ -7,10 +7,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
tools/libxl/libxlu_disk_l.l | 1 +
5 files changed, 18 insertions(+), 1 deletion(-)
Index: xen-4.19.0-testing/docs/man/xl-disk-configuration.5.pod.in
Index: xen-4.20.0-testing/docs/man/xl-disk-configuration.5.pod.in
===================================================================
--- xen-4.19.0-testing.orig/docs/man/xl-disk-configuration.5.pod.in
+++ xen-4.19.0-testing/docs/man/xl-disk-configuration.5.pod.in
--- xen-4.20.0-testing.orig/docs/man/xl-disk-configuration.5.pod.in
+++ xen-4.20.0-testing/docs/man/xl-disk-configuration.5.pod.in
@@ -339,6 +339,32 @@ No
discard
@ -44,10 +44,10 @@ Index: xen-4.19.0-testing/docs/man/xl-disk-configuration.5.pod.in
=back
An advisory setting for the backend driver, specifying whether to
Index: xen-4.19.0-testing/tools/include/libxl.h
Index: xen-4.20.0-testing/tools/include/libxl.h
===================================================================
--- xen-4.19.0-testing.orig/tools/include/libxl.h
+++ xen-4.19.0-testing/tools/include/libxl.h
--- xen-4.20.0-testing.orig/tools/include/libxl.h
+++ xen-4.20.0-testing/tools/include/libxl.h
@@ -603,6 +603,21 @@
#define LIBXL_HAVE_P9_ADD 1
@ -70,10 +70,10 @@ Index: xen-4.19.0-testing/tools/include/libxl.h
* libxl ABI compatibility
*
* The only guarantee which libxl makes regarding ABI compatibility
Index: xen-4.19.0-testing/tools/libs/light/libxl_disk.c
Index: xen-4.20.0-testing/tools/libs/light/libxl_disk.c
===================================================================
--- xen-4.19.0-testing.orig/tools/libs/light/libxl_disk.c
+++ xen-4.19.0-testing/tools/libs/light/libxl_disk.c
--- xen-4.20.0-testing.orig/tools/libs/light/libxl_disk.c
+++ xen-4.20.0-testing/tools/libs/light/libxl_disk.c
@@ -464,6 +464,8 @@ static void device_disk_add(libxl__egc *
flexarray_append_pair(back, "discard-enable",
libxl_defbool_val(disk->discard_enable) ?
@ -83,11 +83,11 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_disk.c
flexarray_append(back, "specification");
flexarray_append(back, libxl__device_disk_string_of_specification(disk->specification));
if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) {
Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
Index: xen-4.20.0-testing/tools/libs/light/libxl_dm.c
===================================================================
--- xen-4.19.0-testing.orig/tools/libs/light/libxl_dm.c
+++ xen-4.19.0-testing/tools/libs/light/libxl_dm.c
@@ -1019,14 +1019,27 @@ enum {
--- xen-4.20.0-testing.orig/tools/libs/light/libxl_dm.c
+++ xen-4.20.0-testing/tools/libs/light/libxl_dm.c
@@ -1003,14 +1003,27 @@ enum {
LIBXL__COLO_SECONDARY,
};
@ -117,7 +117,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
const char *exportname = disk->colo_export;
const char *active_disk = disk->active_disk;
const char *hidden_disk = disk->hidden_disk;
@@ -1085,8 +1098,8 @@ static char *qemu_disk_ide_drive_string(
@@ -1069,8 +1082,8 @@ static char *qemu_disk_ide_drive_string(
switch (colo_mode) {
case LIBXL__COLO_NONE:
drive = GCSPRINTF
@ -128,7 +128,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break;
case LIBXL__COLO_PRIMARY:
/*
@@ -1099,13 +1112,14 @@ static char *qemu_disk_ide_drive_string(
@@ -1083,13 +1096,14 @@ static char *qemu_disk_ide_drive_string(
* vote-threshold=1
*/
drive = GCSPRINTF(
@ -145,7 +145,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break;
case LIBXL__COLO_SECONDARY:
/*
@@ -1119,7 +1133,7 @@ static char *qemu_disk_ide_drive_string(
@@ -1103,7 +1117,7 @@ static char *qemu_disk_ide_drive_string(
* file.backing.backing=exportname,
*/
drive = GCSPRINTF(
@ -154,7 +154,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
"driver=replication,"
"mode=secondary,"
"top-id=top-colo,"
@@ -1128,7 +1142,8 @@ static char *qemu_disk_ide_drive_string(
@@ -1112,7 +1126,8 @@ static char *qemu_disk_ide_drive_string(
"file.backing.driver=qcow2,"
"file.backing.file.filename=%s,"
"file.backing.backing=%s",
@ -164,7 +164,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break;
default:
abort();
@@ -1997,8 +2012,8 @@ static int libxl__build_device_model_arg
@@ -1985,8 +2000,8 @@ static int libxl__build_device_model_arg
return ERROR_INVAL;
}
flexarray_vappend(dm_args, "-drive",
@ -175,10 +175,10 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
"-device", GCSPRINTF("ide-hd,bus=ahci0.%d,unit=0,drive=ahcidisk-%d",
disk, disk), NULL);
continue;
Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk.c
Index: xen-4.20.0-testing/tools/libs/util/libxlu_disk.c
===================================================================
--- xen-4.19.0-testing.orig/tools/libs/util/libxlu_disk.c
+++ xen-4.19.0-testing/tools/libs/util/libxlu_disk.c
--- xen-4.20.0-testing.orig/tools/libs/util/libxlu_disk.c
+++ xen-4.20.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 @@ Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk.c
if (!disk->vdev) {
xlu__disk_err(&dpc,0, "no vdev specified");
Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk_i.h
Index: xen-4.20.0-testing/tools/libs/util/libxlu_disk_i.h
===================================================================
--- xen-4.19.0-testing.orig/tools/libs/util/libxlu_disk_i.h
+++ xen-4.19.0-testing/tools/libs/util/libxlu_disk_i.h
--- xen-4.20.0-testing.orig/tools/libs/util/libxlu_disk_i.h
+++ xen-4.20.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 @@ Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk_i.h
const char *spec;
} DiskParseContext;
Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk_l.l
Index: xen-4.20.0-testing/tools/libs/util/libxlu_disk_l.l
===================================================================
--- xen-4.19.0-testing.orig/tools/libs/util/libxlu_disk_l.l
+++ xen-4.19.0-testing/tools/libs/util/libxlu_disk_l.l
--- xen-4.20.0-testing.orig/tools/libs/util/libxlu_disk_l.l
+++ xen-4.20.0-testing/tools/libs/util/libxlu_disk_l.l
@@ -216,6 +216,7 @@ colo-port=[^,]*,? { STRIP(','); setcolop
colo-export=[^,]*,? { STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
active-disk=[^,]*,? { STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); }

BIN
mini-os.tar.bz2 (Stored with Git LFS)

Binary file not shown.

BIN
stubdom.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@ -2,7 +2,7 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style.
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2136,7 +2136,10 @@ void __init setup_IO_APIC(void)
@@ -2152,7 +2152,10 @@ void __init setup_IO_APIC(void)
io_apic_irqs = ~PIC_IRQS;
printk("ENABLING IO-APIC IRQs\n");

BIN
xen-4.19.1-testing-src.tar.bz2 (Stored with Git LFS)

Binary file not shown.

BIN
xen-4.20.0-testing-src.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,13 +1,13 @@
Index: xen-4.19.0-testing/xen/arch/Kconfig
Index: xen-4.20.0-testing/xen/arch/Kconfig
===================================================================
--- xen-4.19.0-testing.orig/xen/arch/Kconfig
+++ xen-4.19.0-testing/xen/arch/Kconfig
@@ -7,7 +7,7 @@ config PHYS_ADDR_T_32
config NR_CPUS
--- xen-4.20.0-testing.orig/xen/arch/Kconfig
+++ xen-4.20.0-testing/xen/arch/Kconfig
@@ -8,7 +8,7 @@ config NR_CPUS
int "Maximum number of CPUs"
range 1 1 if ARM && MPU
range 1 16383
- default "256" if X86
+ default "1024" if X86
default "1" if ARM && MPU
default "8" if ARM && RCAR3
default "4" if ARM && QEMU
default "4" if ARM && MPSOC

View File

@ -20,7 +20,7 @@ actually handle. The default is zero tolerance.
unsigned long __read_mostly cpu_khz; /* CPU clock frequency in kHz. */
DEFINE_SPINLOCK(rtc_lock);
unsigned long pit0_ticks;
@@ -2797,6 +2800,8 @@ int tsc_set_info(struct domain *d,
@@ -2926,6 +2929,8 @@ int tsc_set_info(struct domain *d,
switch ( tsc_mode )
{
@ -29,7 +29,7 @@ actually handle. The default is zero tolerance.
case XEN_CPUID_TSC_MODE_DEFAULT:
case XEN_CPUID_TSC_MODE_ALWAYS_EMULATE:
d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
@@ -2810,8 +2815,25 @@ int tsc_set_info(struct domain *d,
@@ -2939,8 +2944,25 @@ 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.
*/

View File

@ -1,3 +1,99 @@
-------------------------------------------------------------------
Fri Jan 31 09:59:45 MST 2025 - carnold@suse.com
- Update to Xen 4.20.0 RC3 release
* x86/HVM: correct MMIO emulation cache bounds check
* x86/HVM: allocate emulation cache entries dynamically
* x86/HVM: correct read/write split at page boundaries
* x86/iommu: check for CMPXCHG16B when enabling IOMMU
* iommu/vtd: remove non-CX16 logic from interrupt remapping
* x86/iommu: remove non-CX16 logic from DMA remapping
* iommu/amd: atomically update IRTE
* x86emul: further correct 64-bit mode zero count repeated string
insn handling
* x86/PV: further harden guest memory accesses against speculative
abuse
* x86/intel: Fix PERF_GLOBAL fixup when virtualised
-------------------------------------------------------------------
Fri Jan 31 08:49:14 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add explicit build dependency on python3-setuptools, needed by python313
-------------------------------------------------------------------
Mon Jan 20 05:46:51 MST 2025 - carnold@suse.com
- Update to Xen 4.20.0 RC2 release
* xen/arm: Fully initialise struct membanks_hdr fields
* build: Set DATE to SOURCE_DATE_EPOCH if available (for
reproducible builds)
* x86: Add Support for Paging-Write Feature
* x86/time: introduce command line option to select wallclock
* x86/time: prefer CMOS over EFI_GET_TIME
* xentrace: free CPU mask string before overwriting pointer
* xl: properly dispose of vTPM struct instance
* xl: properly dispose of libxl_dominfo struct instances
* Various documentation fixes and updates (including ppc and
riscv additions)
* Various MISRA compliance improvements.
-------------------------------------------------------------------
Fri Jan 10 12:43:42 MST 2025 - carnold@suse.com
- Update to Xen 4.20.0 RC1 release
* x86/amd: Misc setup for Fam1Ah processors
* xen/perfc cleanups and adjustments
* libxl: drop setting XEN_QEMU_CONSOLE_LIMIT in the environment
(XSA-180 / CVE-2014-3672)
* x86emul: VCVT{,U}DQ2PD ignores embedded rounding
* x86emul: correct put_fpu()'s segment selector handling
* xen/flask: Wire up XEN_DOMCTL_dt_overlay and XEN_DOMCTL_set_llc_colors
* xen/events: fix race with set_global_virq_handler()
-------------------------------------------------------------------
Mon Jan 6 06:01:11 MST 2025 - carnold@suse.com
- Update to Xen 4.20.0 pre-release (jsc#PED-8907)
xen-4.20.0-testing-src.tar.bz2
- New Features
* On Arm:
- Experimental support for Armv8-R.
- Support for NXP S32G3 Processors Family and NXP LINFlexD UART driver.
- Basic handling for SCMI requests over SMC using Shared Memory, by allowing
forwarding the calls to EL3 FW if coming from hwdom.
- Support for LLC (Last Level Cache) coloring.
* On x86:
- xl suspend/resume subcommands.
- Support for SRSO_U/S_NO and SRSO_MSR_FIX
- Changed Features
* Fixed blkif protocol specification for sector sizes different than 512b.
* The dombuilder in libxenguest no longer un-gzips secondary modules, instead
leaving this to the guest kernel to do in guest context.
* On x86:
- Prefer ACPI reboot over UEFI ResetSystem() run time service call.
- Switched the xAPIC flat driver to use physical destination mode for external
interrupts instead of logical destination mode.
- Removed Features
* On x86:
- Support for running on Xeon Phi processors.
- Removed the `ucode=allow-same` command line option.
- Removed x2APIC Cluster Mode for external interrupts. x2APIC Physical and
Mixed Modes are still available.
- Dropped patches
xsa466.patch
-------------------------------------------------------------------
Wed Dec 11 11:11:11 UTC 2024 - ohering@suse.de
- Move /etc/bash_completion.d/xl back to %_datadir/bash-completion/completions
-------------------------------------------------------------------
Mon Dec 9 10:13:51 MST 2024 - carnold@suse.com
- bsc#1234282 - VUL-0: xen: XSA-466: Xen hypercall page unsafe
against speculative attacks
xsa466.patch
-------------------------------------------------------------------
Wed Dec 4 09:16:24 MST 2024 - carnold@suse.com
@ -56,7 +152,7 @@ Tue Oct 29 12:34:56 UTC 2024 - ohering@suse.de
Thu Sep 26 11:30:00 CEST 2024 - jbeulich@suse.com
- bsc#1230366 - VUL-0: CVE-2024-45817: xen: x86: Deadlock in
vlapic_error() (XSA-462)
vlapic_error() (XSA-462)
66f2af41-x86-vLAPIC-undue-recursion-of-vlapic_error.patch
Drop xsa462.patch
- Upstream bug fixes (bsc#1027519)

View File

@ -43,7 +43,7 @@ References: bsc#954872
case LIBXL_DISK_BACKEND_STANDALONE:
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1197,6 +1197,30 @@ out:
@@ -1181,6 +1181,30 @@ out:
return rc;
}
@ -72,9 +72,9 @@ References: bsc#954872
+}
+
static int libxl__build_device_model_args_new(libxl__gc *gc,
const char *dm, int guest_domid,
const libxl_domain_config *guest_config,
@@ -1885,9 +1909,11 @@ static int libxl__build_device_model_arg
const char *dm, int guest_domid,
const libxl_domain_config *guest_config,
@@ -1873,9 +1897,11 @@ static int libxl__build_device_model_arg
libxl__device_disk_dev_number(disks[i].vdev, &disk, &part);
const char *format;
char *drive;

View File

@ -1,7 +1,7 @@
#
# spec file for package xen
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -30,7 +30,7 @@
Name: xen
ExclusiveArch: %ix86 x86_64 aarch64
%define xen_build_dir xen-4.19.1-testing
%define xen_build_dir xen-4.20.0-testing
#
%define with_gdbsx 0
%define with_dom0_support 0
@ -103,6 +103,7 @@ BuildRequires: lzo-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: xz-devel
BuildRequires: pkgconfig(systemd)
%ifarch x86_64
@ -124,12 +125,12 @@ BuildRequires: pesign-obs-integration
BuildRequires: python-rpm-macros
Provides: installhint(reboot-needed)
Version: 4.19.1_02
Version: 4.20.0_06
Release: 0
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
License: GPL-2.0-only
Group: System/Kernel
Source0: xen-4.19.1-testing-src.tar.bz2
Source0: xen-4.20.0-testing-src.tar.bz2
Source1: stubdom.tar.bz2
Source2: mini-os.tar.bz2
Source9: xen.changes
@ -512,6 +513,7 @@ make \
DESTDIR=%{buildroot} \
SYSCONFIG_DIR=%{_fillupdir} \
PKG_INSTALLDIR=%{_libdir}/pkgconfig \
BASH_COMPLETION_DIR=%{_datadir}/bash-completion/completions \
%{?_smp_mflags} \
install
find %{buildroot} -ls
@ -906,12 +908,15 @@ find %{buildroot} \( \
-name "*.dtb" -o \
-name "openbios-*" -o \
-name "petalogix*" -o \
-name "ppc*" -o \
-name "*.pyc" -o \
-name "s390*" -o \
-name "slof*" -o \
-name "spapr*" -o \
-name "*.egg-info" \) \
-name "PKG-INFO" -o \
-name "SOURCES.txt" -o \
-name "dependency_links.txt" -o \
-name "top_level.txt" -o \
-name "*.egg-info" \) \
-print -delete
# Wipe empty directories
if find %{buildroot}/usr -type d -print0 | xargs -0n1 rmdir -p 2>/dev/null
@ -940,7 +945,7 @@ rm -rf %{buildroot}/%{with_systemd_modules_load}
rm -rf %{buildroot}/usr/sbin
rm -rf %{buildroot}/etc/xen
rm -rf %{buildroot}/var
rm -f %{buildroot}/%{_sysconfdir}/bash_completion.d/xl
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/xl
rm -f %{buildroot}/%{_sysconfdir}/init.d/xen*
rm -f %{buildroot}/%{_bindir}/*trace*
rm -f %{buildroot}/%{_bindir}/vchan-socket-proxy
@ -1076,7 +1081,7 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%exclude %{_unitdir}/%{name}-vcpu-watch.service
%exclude %{_unitdir}/xendomains-wait-disks.service
%config %{with_systemd_modules_load}
/etc/bash_completion.d/xl
%{_datadir}/bash-completion/completions/xl
%dir %{_libdir}/python%{pyver}/site-packages/grub
%dir %{_libdir}/python%{pyver}/site-packages/xen
%dir %{_libdir}/python%{pyver}/site-packages/xen/lowlevel

View File

@ -40,8 +40,8 @@ Keep going if the event type and shutdown reason remains the same.
install: all
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -303,6 +303,7 @@ typedef enum {
DOMAIN_RESTART_SOFT_RESET, /* Soft reset should be performed */
@@ -306,6 +306,7 @@ typedef enum {
DOMAIN_RESTART_SUSPENDED, /* Domain suspended - keep looping */
} domain_restart_type;
+#define XL_SAVE_PAUSE_CHECKPOINT "suse-xl-save-pc"
@ -102,7 +102,7 @@ Keep going if the event type and shutdown reason remains the same.
#include <libxl.h>
#include <libxl_utils.h>
#include <libxlutil.h>
@@ -668,6 +669,10 @@ int create_domain(struct domain_create *
@@ -706,6 +707,10 @@ int create_domain(struct domain_create *
int migrate_fd = dom_info->migrate_fd;
bool config_in_json;
@ -113,7 +113,7 @@ Keep going if the event type and shutdown reason remains the same.
int i;
int need_daemon = daemonize;
int ret, rc;
@@ -1034,6 +1039,24 @@ start:
@@ -1073,6 +1078,24 @@ start:
ret = domain_wait_event(domid, &event);
if (ret) goto out;
@ -138,7 +138,7 @@ Keep going if the event type and shutdown reason remains the same.
switch (event->type) {
case LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN:
@@ -1095,14 +1118,39 @@ start:
@@ -1134,10 +1157,34 @@ start:
goto start;
case DOMAIN_RESTART_NONE:
@ -171,10 +171,5 @@ Keep going if the event type and shutdown reason remains the same.
goto out;
+ }
default:
abort();
}
+ break;
case LIBXL_EVENT_TYPE_DOMAIN_DEATH:
LOG("Domain %u has been destroyed.", domid);
case DOMAIN_RESTART_SUSPENDED:
LOG("Continue waiting for domain %u", domid);