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 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 --- a/tools/include/libxl.h
+++ b/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 libxl_retrieve_domain_configuration_0x041200
#endif #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> =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h --- a/tools/include/libxl.h
+++ b/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; } libxl_domain_suspend_suse_properties;
#define LIBXL_SUSPEND_DEBUG 1 #define LIBXL_SUSPEND_DEBUG 1
#define LIBXL_SUSPEND_LIVE 2 #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> =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h --- a/tools/include/libxl.h
+++ b/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 { typedef struct {
uint32_t flags; /* LIBXL_SUSPEND_* */ 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> =item B<remus> [I<OPTIONS>] I<domain-id> I<host>
--- a/tools/include/libxl.h --- a/tools/include/libxl.h
+++ b/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 { typedef struct {
uint32_t flags; /* LIBXL_SUSPEND_* */ uint32_t flags; /* LIBXL_SUSPEND_* */
uint32_t max_iters; uint32_t max_iters;

View File

@ -19,7 +19,7 @@ v2:
--- a/tools/libs/ctrl/xc_private.c --- a/tools/libs/ctrl/xc_private.c
+++ b/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__) #if defined(__MINIOS__)
/* /*
@ -44,7 +44,7 @@ v2:
int writev_exact(int fd, const struct iovec *iov, int iovcnt) int writev_exact(int fd, const struct iovec *iov, int iovcnt)
{ {
int rc, i; 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; return 0;
} }
#else #else
@ -93,7 +93,7 @@ v2:
struct iovec *local_iov = NULL; struct iovec *local_iov = NULL;
--- a/tools/libs/ctrl/xc_private.h --- a/tools/libs/ctrl/xc_private.h
+++ b/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. */ /* Return 0 on success; -1 on error setting errno. */
int read_exact(int fd, void *data, size_t size); /* EOF => -1, errno=0 */ 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 --- a/tools/libs/light/libxl_create.c
+++ b/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. * build info around just to know if the domain has a device model or not.
*/ */
store_libxl_entry(gc, domid, &d_config->b_info); store_libxl_entry(gc, domid, &d_config->b_info);
@ -294,7 +294,7 @@ the execution time of each script.
/* private */ /* private */
libxl__ev_time time; libxl__ev_time time;
libxl__ev_child child; 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 #endif

View File

@ -7,10 +7,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
tools/libxl/libxlu_disk_l.l | 1 + tools/libxl/libxlu_disk_l.l | 1 +
5 files changed, 18 insertions(+), 1 deletion(-) 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.20.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/docs/man/xl-disk-configuration.5.pod.in
@@ -339,6 +339,32 @@ No @@ -339,6 +339,32 @@ No
discard discard
@ -44,10 +44,10 @@ Index: xen-4.19.0-testing/docs/man/xl-disk-configuration.5.pod.in
=back =back
An advisory setting for the backend driver, specifying whether to 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.20.0-testing.orig/tools/include/libxl.h
+++ xen-4.19.0-testing/tools/include/libxl.h +++ xen-4.20.0-testing/tools/include/libxl.h
@@ -603,6 +603,21 @@ @@ -603,6 +603,21 @@
#define LIBXL_HAVE_P9_ADD 1 #define LIBXL_HAVE_P9_ADD 1
@ -70,10 +70,10 @@ Index: xen-4.19.0-testing/tools/include/libxl.h
* libxl ABI compatibility * libxl ABI compatibility
* *
* The only guarantee which libxl makes regarding 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.20.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/tools/libs/light/libxl_disk.c
@@ -464,6 +464,8 @@ static void device_disk_add(libxl__egc * @@ -464,6 +464,8 @@ static void device_disk_add(libxl__egc *
flexarray_append_pair(back, "discard-enable", flexarray_append_pair(back, "discard-enable",
libxl_defbool_val(disk->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, "specification");
flexarray_append(back, libxl__device_disk_string_of_specification(disk->specification)); flexarray_append(back, libxl__device_disk_string_of_specification(disk->specification));
if (disk->specification == LIBXL_DISK_SPECIFICATION_VIRTIO) { 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.20.0-testing.orig/tools/libs/light/libxl_dm.c
+++ xen-4.19.0-testing/tools/libs/light/libxl_dm.c +++ xen-4.20.0-testing/tools/libs/light/libxl_dm.c
@@ -1019,14 +1019,27 @@ enum { @@ -1003,14 +1003,27 @@ enum {
LIBXL__COLO_SECONDARY, 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 *exportname = disk->colo_export;
const char *active_disk = disk->active_disk; const char *active_disk = disk->active_disk;
const char *hidden_disk = disk->hidden_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) { switch (colo_mode) {
case LIBXL__COLO_NONE: case LIBXL__COLO_NONE:
drive = GCSPRINTF drive = GCSPRINTF
@ -128,7 +128,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break; break;
case LIBXL__COLO_PRIMARY: 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 * vote-threshold=1
*/ */
drive = GCSPRINTF( drive = GCSPRINTF(
@ -145,7 +145,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break; break;
case LIBXL__COLO_SECONDARY: 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, * file.backing.backing=exportname,
*/ */
drive = GCSPRINTF( drive = GCSPRINTF(
@ -154,7 +154,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
"driver=replication," "driver=replication,"
"mode=secondary," "mode=secondary,"
"top-id=top-colo," "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.driver=qcow2,"
"file.backing.file.filename=%s," "file.backing.file.filename=%s,"
"file.backing.backing=%s", "file.backing.backing=%s",
@ -164,7 +164,7 @@ Index: xen-4.19.0-testing/tools/libs/light/libxl_dm.c
break; break;
default: default:
abort(); 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; return ERROR_INVAL;
} }
flexarray_vappend(dm_args, "-drive", 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", "-device", GCSPRINTF("ide-hd,bus=ahci0.%d,unit=0,drive=ahcidisk-%d",
disk, disk), NULL); disk, disk), NULL);
continue; 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.20.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/tools/libs/util/libxlu_disk.c
@@ -78,6 +78,8 @@ int xlu_disk_parse(XLU_Config *cfg, @@ -78,6 +78,8 @@ int xlu_disk_parse(XLU_Config *cfg,
if (!disk->pdev_path || !strcmp(disk->pdev_path, "")) if (!disk->pdev_path || !strcmp(disk->pdev_path, ""))
disk->format = LIBXL_DISK_FORMAT_EMPTY; 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) { if (!disk->vdev) {
xlu__disk_err(&dpc,0, "no vdev specified"); 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.20.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/tools/libs/util/libxlu_disk_i.h
@@ -10,7 +10,7 @@ typedef struct { @@ -10,7 +10,7 @@ typedef struct {
void *scanner; void *scanner;
YY_BUFFER_STATE buf; YY_BUFFER_STATE buf;
@ -201,10 +201,10 @@ Index: xen-4.19.0-testing/tools/libs/util/libxlu_disk_i.h
const char *spec; const char *spec;
} DiskParseContext; } 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.20.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/tools/libs/util/libxlu_disk_l.l
@@ -216,6 +216,7 @@ colo-port=[^,]*,? { STRIP(','); setcolop @@ -216,6 +216,7 @@ colo-port=[^,]*,? { STRIP(','); setcolop
colo-export=[^,]*,? { STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); } colo-export=[^,]*,? { STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); }
active-disk=[^,]*,? { STRIP(','); SAVESTRING("active-disk", active_disk, 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 --- a/xen/arch/x86/io_apic.c
+++ b/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; io_apic_irqs = ~PIC_IRQS;
printk("ENABLING IO-APIC IRQs\n"); 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.20.0-testing.orig/xen/arch/Kconfig
+++ xen-4.19.0-testing/xen/arch/Kconfig +++ xen-4.20.0-testing/xen/arch/Kconfig
@@ -7,7 +7,7 @@ config PHYS_ADDR_T_32 @@ -8,7 +8,7 @@ config NR_CPUS
config NR_CPUS
int "Maximum number of CPUs" int "Maximum number of CPUs"
range 1 1 if ARM && MPU
range 1 16383 range 1 16383
- default "256" if X86 - default "256" if X86
+ default "1024" if X86 + default "1024" if X86
default "1" if ARM && MPU
default "8" if ARM && RCAR3 default "8" if ARM && RCAR3
default "4" if ARM && QEMU 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. */ unsigned long __read_mostly cpu_khz; /* CPU clock frequency in kHz. */
DEFINE_SPINLOCK(rtc_lock); DEFINE_SPINLOCK(rtc_lock);
unsigned long pit0_ticks; 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 ) 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_DEFAULT:
case XEN_CPUID_TSC_MODE_ALWAYS_EMULATE: case XEN_CPUID_TSC_MODE_ALWAYS_EMULATE:
d->arch.vtsc_offset = get_s_time() - elapsed_nsec; 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 * 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. * 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 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 Thu Sep 26 11:30:00 CEST 2024 - jbeulich@suse.com
- bsc#1230366 - VUL-0: CVE-2024-45817: xen: x86: Deadlock in - 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 66f2af41-x86-vLAPIC-undue-recursion-of-vlapic_error.patch
Drop xsa462.patch Drop xsa462.patch
- Upstream bug fixes (bsc#1027519) - Upstream bug fixes (bsc#1027519)

View File

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

View File

@ -1,7 +1,7 @@
# #
# spec file for package xen # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -30,7 +30,7 @@
Name: xen Name: xen
ExclusiveArch: %ix86 x86_64 aarch64 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_gdbsx 0
%define with_dom0_support 0 %define with_dom0_support 0
@ -103,6 +103,7 @@ BuildRequires: lzo-devel
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: xz-devel BuildRequires: xz-devel
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
%ifarch x86_64 %ifarch x86_64
@ -124,12 +125,12 @@ BuildRequires: pesign-obs-integration
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
Provides: installhint(reboot-needed) Provides: installhint(reboot-needed)
Version: 4.19.1_02 Version: 4.20.0_06
Release: 0 Release: 0
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel) Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
License: GPL-2.0-only License: GPL-2.0-only
Group: System/Kernel 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 Source1: stubdom.tar.bz2
Source2: mini-os.tar.bz2 Source2: mini-os.tar.bz2
Source9: xen.changes Source9: xen.changes
@ -512,6 +513,7 @@ make \
DESTDIR=%{buildroot} \ DESTDIR=%{buildroot} \
SYSCONFIG_DIR=%{_fillupdir} \ SYSCONFIG_DIR=%{_fillupdir} \
PKG_INSTALLDIR=%{_libdir}/pkgconfig \ PKG_INSTALLDIR=%{_libdir}/pkgconfig \
BASH_COMPLETION_DIR=%{_datadir}/bash-completion/completions \
%{?_smp_mflags} \ %{?_smp_mflags} \
install install
find %{buildroot} -ls find %{buildroot} -ls
@ -906,12 +908,15 @@ find %{buildroot} \( \
-name "*.dtb" -o \ -name "*.dtb" -o \
-name "openbios-*" -o \ -name "openbios-*" -o \
-name "petalogix*" -o \ -name "petalogix*" -o \
-name "ppc*" -o \
-name "*.pyc" -o \ -name "*.pyc" -o \
-name "s390*" -o \ -name "s390*" -o \
-name "slof*" -o \ -name "slof*" -o \
-name "spapr*" -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 -print -delete
# Wipe empty directories # Wipe empty directories
if find %{buildroot}/usr -type d -print0 | xargs -0n1 rmdir -p 2>/dev/null 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}/usr/sbin
rm -rf %{buildroot}/etc/xen rm -rf %{buildroot}/etc/xen
rm -rf %{buildroot}/var 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}/%{_sysconfdir}/init.d/xen*
rm -f %{buildroot}/%{_bindir}/*trace* rm -f %{buildroot}/%{_bindir}/*trace*
rm -f %{buildroot}/%{_bindir}/vchan-socket-proxy 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}/%{name}-vcpu-watch.service
%exclude %{_unitdir}/xendomains-wait-disks.service %exclude %{_unitdir}/xendomains-wait-disks.service
%config %{with_systemd_modules_load} %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/grub
%dir %{_libdir}/python%{pyver}/site-packages/xen %dir %{_libdir}/python%{pyver}/site-packages/xen
%dir %{_libdir}/python%{pyver}/site-packages/xen/lowlevel %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 install: all
--- a/tools/xl/xl.h --- a/tools/xl/xl.h
+++ b/tools/xl/xl.h +++ b/tools/xl/xl.h
@@ -303,6 +303,7 @@ typedef enum { @@ -306,6 +306,7 @@ typedef enum {
DOMAIN_RESTART_SOFT_RESET, /* Soft reset should be performed */ DOMAIN_RESTART_SUSPENDED, /* Domain suspended - keep looping */
} domain_restart_type; } domain_restart_type;
+#define XL_SAVE_PAUSE_CHECKPOINT "suse-xl-save-pc" +#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.h>
#include <libxl_utils.h> #include <libxl_utils.h>
#include <libxlutil.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; int migrate_fd = dom_info->migrate_fd;
bool config_in_json; bool config_in_json;
@ -113,7 +113,7 @@ Keep going if the event type and shutdown reason remains the same.
int i; int i;
int need_daemon = daemonize; int need_daemon = daemonize;
int ret, rc; int ret, rc;
@@ -1034,6 +1039,24 @@ start: @@ -1073,6 +1078,24 @@ start:
ret = domain_wait_event(domid, &event); ret = domain_wait_event(domid, &event);
if (ret) goto out; if (ret) goto out;
@ -138,7 +138,7 @@ Keep going if the event type and shutdown reason remains the same.
switch (event->type) { switch (event->type) {
case LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN: case LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN:
@@ -1095,14 +1118,39 @@ start: @@ -1134,10 +1157,34 @@ start:
goto start; goto start;
case DOMAIN_RESTART_NONE: case DOMAIN_RESTART_NONE:
@ -171,10 +171,5 @@ Keep going if the event type and shutdown reason remains the same.
goto out; goto out;
+ } + }
default: case DOMAIN_RESTART_SUSPENDED:
abort(); LOG("Continue waiting for domain %u", domid);
}
+ break;
case LIBXL_EVENT_TYPE_DOMAIN_DEATH:
LOG("Domain %u has been destroyed.", domid);