1 Commits

Author SHA256 Message Date
f4ee62e682 Sync changes to SLFO-1.2 branch 2025-08-20 14:17:55 +02:00
8 changed files with 467 additions and 660 deletions

11
disable-pv-support.patch Normal file
View File

@@ -0,0 +1,11 @@
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -62,7 +62,7 @@ source "arch/x86/Kconfig.cpu"
source "arch/Kconfig"
config PV
- def_bool y
+ def_bool n
prompt "PV support"
help
Interfaces to support PV domains. These require guest kernel support

View File

@@ -1,63 +0,0 @@
Index: xen-4.19.0-testing/tools/pygrub/src/pygrub
===================================================================
--- xen-4.19.0-testing.orig/tools/pygrub/src/pygrub
+++ xen-4.19.0-testing/tools/pygrub/src/pygrub
@@ -593,7 +593,7 @@ class Grub:
self.cf.filename = f
break
if self.__dict__.get('cf', None) is None:
- raise RuntimeError("couldn't find bootloader config file in the image provided.")
+ return
f = fs.open_file(self.cf.filename)
# limit read size to avoid pathological cases
buf = f.read(FS_READ_MAX)
@@ -768,6 +768,20 @@ def run_grub(file, entry, fs, cfg_args):
g = Grub(file, fs)
+ # If missing config or grub has no menu entries to select, look for
+ # vmlinuz-xen and initrd-xen in /boot
+ if g.__dict__.get('cf', None) is None or len(g.cf.images) == 0 or re.search(r"xen(-pae)?\.gz",g.cf.images[0].kernel[1]):
+ if not list_entries:
+ chosencfg = { "kernel": None, "ramdisk": None, "args": "" }
+ chosencfg = sniff_xen_kernel(fs, incfg)
+ if chosencfg["kernel"] and chosencfg["ramdisk"]:
+ chosencfg["args"] = cfg_args
+ return chosencfg
+ if g.__dict__.get('cf', None) is None:
+ raise RuntimeError("couldn't find bootloader config file in the image provided.")
+ else:
+ return
+
if list_entries:
for i in range(len(g.cf.images)):
img = g.cf.images[i]
@@ -854,6 +868,19 @@ def sniff_netware(fs, cfg):
return cfg
+def sniff_xen_kernel(fs, cfg):
+ if not cfg["kernel"]:
+ if fs.file_exists('/boot/vmlinuz-xen'):
+ cfg["kernel"] = '/boot/vmlinuz-xen'
+ elif fs.file_exists('/boot/vmlinuz-xenpae'):
+ cfg["kernel"] = '/boot/vmlinuz-xenpae'
+ if cfg["kernel"] and not cfg["ramdisk"]:
+ if fs.file_exists('/boot/initrd-xen'):
+ cfg["ramdisk"] = '/boot/initrd-xen'
+ elif fs.file_exists('/boot/initrd-xenpae'):
+ cfg["ramdisk"] = '/boot/initrd-xenpae'
+ return cfg
+
def format_sxp(kernel, ramdisk, args):
s = "linux (kernel %s)" % repr(kernel)
if ramdisk:
@@ -932,7 +959,7 @@ if __name__ == "__main__":
debug = False
not_really = False
output_format = "sxp"
- output_directory = "/var/run/xen/pygrub/"
+ output_directory = "/var/run/xen"
uid = None
# what was passed in

View File

@@ -1,59 +0,0 @@
References: bsc#978413
The parsing code can't handle a single line menu entry.
For example: menuentry 'halt' { halt }
Force it to fall through where it will handle the closing brace.
Also change warning to debug to cut down on verbose output.
Index: xen-4.18.0-testing/tools/pygrub/src/GrubConf.py
===================================================================
--- xen-4.18.0-testing.orig/tools/pygrub/src/GrubConf.py
+++ xen-4.18.0-testing/tools/pygrub/src/GrubConf.py
@@ -150,7 +150,7 @@ class GrubImage(_GrubImage):
else:
logging.info("Ignored image directive %s" %(com,))
else:
- logging.warning("Unknown image directive %s" %(com,))
+ logging.debug("Unknown image directive %s" %(com,))
# now put the line in the list of lines
if replace is None:
@@ -309,7 +309,7 @@ class GrubConfigFile(_GrubConfigFile):
else:
logging.info("Ignored directive %s" %(com,))
else:
- logging.warning("Unknown directive %s" %(com,))
+ logging.debug("Unknown directive %s" %(com,))
if img:
self.add_image(GrubImage(title, img))
@@ -343,7 +343,7 @@ class Grub2Image(_GrubImage):
elif com.startswith('set:'):
pass
else:
- logging.warning("Unknown image directive %s" %(com,))
+ logging.debug("Unknown image directive %s" %(com,))
# now put the line in the list of lines
if replace is None:
@@ -408,7 +408,10 @@ class Grub2ConfigFile(_GrubConfigFile):
raise RuntimeError("syntax error: cannot nest menuentry (%d %s)" % (len(img),img))
img = []
title = title_match.group(1)
- continue
+ if not l.endswith('}'):
+ continue
+ # One line menuentry, Ex. menuentry 'halt' { halt }
+ l = '}'
if l.startswith("submenu"):
menu_level += 1
@@ -447,7 +450,7 @@ class Grub2ConfigFile(_GrubConfigFile):
elif com.startswith('set:'):
pass
else:
- logging.warning("Unknown directive %s" %(com,))
+ logging.debug("Unknown directive %s" %(com,))
if img is not None:
raise RuntimeError("syntax error: end of file with open menuentry(%d %s)" % (len(img),img))

View File

@@ -1,20 +0,0 @@
xendomains: remove libvirtd conflict
Conflicting with libvirtd is fine for upstream, where xl/libxl is king.
But down the SUSE stream, we promote libvirt and all the libvirt-based
tools. If a user installs libvirt on their SUSE Xen host, then libvirt
should be king and override xendomains.
bsc#1015348
Index: xen-4.8.0-testing/tools/hotplug/Linux/systemd/xendomains.service.in
===================================================================
--- xen-4.8.0-testing.orig/tools/hotplug/Linux/systemd/xendomains.service.in
+++ xen-4.8.0-testing/tools/hotplug/Linux/systemd/xendomains.service.in
@@ -5,7 +5,6 @@ After=proc-xen.mount xenstored.service x
After=network-online.target
After=remote-fs.target
ConditionPathExists=/proc/xen/capabilities
-Conflicts=libvirtd.service
[Service]
Type=oneshot

View File

@@ -60,6 +60,12 @@ Tue May 13 13:48:00 CEST 2025 - jbeulich@suse.com
68221f25-x86-build-with-Return-Thunks.patch
68221f26-x86-spec-ctrl-synthesise-ITS_NO.patch
-------------------------------------------------------------------
Mon May 12 09:07:55 MDT 2025 - carnold@suse.com
- Default to running xenstored in pvh mode
xenstore-run-in-pvh-mode.patch
-------------------------------------------------------------------
Mon Apr 28 12:55:00 CEST 2025 - jbeulich@suse.com
@@ -72,10 +78,23 @@ Mon Apr 28 12:55:00 CEST 2025 - jbeulich@suse.com
68076044-x86emul-clip-rep-count-for-STOS.patch
6808f549-x86-Intel-work-around-MONITOR-MWAIT-errata.patch
-------------------------------------------------------------------
Mon Apr 14 10:38:51 MDT 2025 - carnold@suse.com
- Disable pv support for PVH only systems.
disable-pv-support.patch
- Updated the spec file by removing what isn't needed to support
PVH only systems
-------------------------------------------------------------------
Mon Mar 31 14:37:13 MDT 2025 - carnold@suse.com
- Drop build-python3-conversion.patch
- Drop legacy patches supporting deprecated features
suse-xendomains-service.patch
build-python3-conversion.patch
pygrub-boot-legacy-sles.patch
pygrub-handle-one-line-menu-entries.patch
xen2libvirt.py
-------------------------------------------------------------------
Thu Mar 13 12:50:00 CET 2025 - jbeulich@suse.com
@@ -367,23 +386,7 @@ Fri Aug 30 07:32:58 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
66d02b69-Arm64-adjust-irq_to_desc-to-fix-build-with-gcc14.patch
-------------------------------------------------------------------
Wed Aug 14 14:10:47 MDT 2024 - carnold@suse.com
- bsc#1228574 - VUL-0: CVE-2024-31145: xen: error handling in x86
IOMMU identity mapping (XSA-460)
66bb6f78-x86-IOMMU-move-tracking-in-iommu_identity_mapping.patch
- bsc#1228575 - VUL-0: CVE-2024-31146: xen: PCI device pass-through
with shared resources (XSA-461)
66bb6fa5-x86-pass-through-document-as-security-unsupported.patch
-------------------------------------------------------------------
Wed Aug 7 08:06:00 CEST 2024 - jbeulich@suse.com
- Upstream bug fixes (bsc#1027519)
66a8b8ac-bunzip2-rare-failure.patch
-------------------------------------------------------------------
Tue Jul 30 05:58:34 MDT 2024 - carnold@suse.com
Thu Aug 15 15:13:42 MDT 2024 - carnold@suse.com
- Update to Xen 4.19.0 FCS release (jsc#PED-8907)
xen-4.19.0-testing-src.tar.bz2
@@ -454,6 +457,59 @@ Tue Jul 30 05:58:34 MDT 2024 - carnold@suse.com
bin-python3-conversion.patch
migration-python3-conversion.patch
-------------------------------------------------------------------
Wed Aug 14 14:10:47 MDT 2024 - carnold@suse.com
- bsc#1228574 - VUL-0: CVE-2024-31145: xen: error handling in x86
IOMMU identity mapping (XSA-460)
66bb6f78-x86-IOMMU-move-tracking-in-iommu_identity_mapping.patch
- bsc#1228575 - VUL-0: CVE-2024-31146: xen: PCI device pass-through
with shared resources (XSA-461)
66bb6fa5-x86-pass-through-document-as-security-unsupported.patch
-------------------------------------------------------------------
Wed Aug 14 11:33:39 MDT 2024 - carnold@suse.com
- Update to Xen 4.18.3 security bug fix release (bsc#1027519)
xen-4.18.3-testing-src.tar.bz2
* No upstream changelog found in sources or webpage
- bsc#1228574 - VUL-0: CVE-2024-31145: xen: error handling in x86
IOMMU identity mapping (XSA-460)
- bsc#1228575 - VUL-0: CVE-2024-31146: xen: PCI device pass-through
with shared resources (XSA-461)
- Dropped patches contained in new tarball
6627a4ee-vRTC-UIP-set-for-longer-than-expected.patch
6627a5fc-x86-MTRR-inverted-WC-check.patch
662a6a4c-x86-spec-reporting-of-BHB-clearing.patch
662a6a8d-x86-spec-adjust-logic-to-elide-LFENCE.patch
663090fd-x86-gen-cpuid-syntax.patch
663a383c-libxs-open-xenbus-fds-as-O_CLOEXEC.patch
663a4f3e-x86-cpu-policy-migration-IceLake-to-CascadeLake.patch
663d05b5-x86-ucode-distinguish-up-to-date.patch
663eaa27-libxl-XenStore-error-handling-in-device-creation.patch
66450626-sched-set-all-sched_resource-data-inside-locked.patch
66450627-x86-respect-mapcache_domain_init-failing.patch
6646031f-x86-ucode-further-identify-already-up-to-date.patch
6666ba52-x86-irq-remove-offline-CPUs-from-old-CPU-mask-when.patch
666994ab-x86-SMP-no-shorthand-IPI-in-hotplug.patch
666994f0-x86-IRQ-limit-interrupt-movement-in-fixup_irqs.patch
666b07ee-x86-EPT-special-page-in-epte_get_entry_emt.patch
666b0819-x86-EPT-avoid-marking-np-ents-for-reconfig.patch
666b085a-x86-EPT-drop-questionable-mfn_valid-from-.patch
667187cc-x86-Intel-unlock-CPUID-earlier.patch
66718849-x86-IRQ-old_cpu_mask-in-fixup_irqs.patch
6671885e-x86-IRQ-handle-moving-in-_assign_irq_vector.patch
6672c846-x86-xstate-initialisation-of-XSS-cache.patch
6672c847-x86-CPUID-XSAVE-dynamic-leaves.patch
6673ffdc-x86-IRQ-forward-pending-to-new-dest-in-fixup_irqs.patch
xsa458.patch
-------------------------------------------------------------------
Wed Aug 7 08:06:00 CEST 2024 - jbeulich@suse.com
- Upstream bug fixes (bsc#1027519)
66a8b8ac-bunzip2-rare-failure.patch
-------------------------------------------------------------------
Tue Jul 23 09:43:13 UTC 2024 - Franz Sirl <franz.sirl-obs@lauterbach.com>
@@ -488,19 +544,6 @@ Mon Jun 24 16:20:00 CEST 2024 - jbeulich@suse.com
6672c846-x86-xstate-initialisation-of-XSS-cache.patch
6672c847-x86-CPUID-XSAVE-dynamic-leaves.patch
-------------------------------------------------------------------
Wed Jun 12 12:03:14 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Fix python3 shebang in tools package (bsc#1212476)
- Depend directly on %primary_python instead of python3 so this
package will continue working without rebuilding even if python3
changes in the system.
- Remove not needed patches, these patches adds the python3 shebang to
some scripts, but that's done during the build phase so it's not
needed:
- bin-python3-conversion.patch
- migration-python3-conversion.patch
-------------------------------------------------------------------
Tue Jun 4 18:09:00 MDT 2024 - carnold@suse.com
@@ -647,7 +690,7 @@ Mon Nov 20 10:08:38 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
-------------------------------------------------------------------
Thu Nov 16 06:24:59 MST 2023 - carnold@suse.com
- Update to Xen 4.18.0 FCS release (jsc#PED-4984)
- Update to Xen 4.18.0 RC5 release (jsc#PED-4984)
xen-4.18.0-testing-src.tar.bz2
* Repurpose command line gnttab_max_{maptrack_,}frames options so they don't
cap toolstack provided values.
@@ -1080,11 +1123,6 @@ Wed Jan 25 10:39:54 MST 2023 - carnold@suse.com
Xenstore crash via soft reset (XSA-425)
xsa425.patch
-------------------------------------------------------------------
Tue Jan 3 14:10:18 UTC 2023 - Stefan Schubert <schubi@suse.com>
- Migration of PAM settings to /usr/lib/pam.d.
-------------------------------------------------------------------
Tue Dec 20 13:35:00 CET 2022 - jbeulich@suse.com
@@ -1136,6 +1174,107 @@ Thu Dec 8 10:54:29 MST 2022 - carnold@suse.com
* dropped support for the (x86-only) "vesa-mtrr" and "vesa-remap" command line options
- Drop patches contained in new tarball or invalid
62fde97e-tools-libxl-Replace-deprecated-soundhw-on-QEMU-command-line.patch
6306185f-x86-XSTATE-CPUID-subleaf-1-EBX.patch
631b5ba6-gnttab-acquire-resource-vaddrs.patch
63455f82-Arm-P2M-prevent-adding-mapping-when-dying.patch
63455fa8-Arm-P2M-preempt-when-freeing-intermediate.patch
63455fc3-x86-p2m_teardown-allow-skip-root-pt-removal.patch
63455fe4-x86-HAP-monitor-table-error-handling.patch
63456000-x86-tolerate-sh_set_toplevel_shadow-failure.patch
6345601d-x86-tolerate-shadow_prealloc-failure.patch
6345603a-x86-P2M-refuse-new-alloc-for-dying.patch
63456057-x86-P2M-truly-free-paging-pool-for-dying.patch
63456075-x86-P2M-free-paging-pool-preemptively.patch
63456090-x86-p2m_teardown-preemption.patch
63456175-libxl-per-arch-extra-default-paging-memory.patch
63456177-Arm-construct-P2M-pool-for-guests.patch
6345617a-Arm-XEN_DOMCTL_shadow_op.patch
6345617c-Arm-take-P2M-pages-P2M-pool.patch
634561aa-gnttab-locking-on-transitive-copy-error-path.patch
634561f1-x86emul-respect-NSCB.patch
6346e404-VMX-correct-error-handling-in-vmx_create_vmcs.patch
6351095c-Arm-rework-p2m_init.patch
6351096a-Arm-P2M-populate-pages-for-GICv2-mapping.patch
635274c0-EFI-dont-convert-runtime-mem-to-RAM.patch
635665fb-sched-fix-restore_vcpu_affinity.patch
63569723-x86-shadow-replace-bogus-assertions.patch
61dd5f64-limit-support-statement-for-Linux-and-Windows-frontends.patch
xsa326-01.patch
xsa326-02.patch
xsa326-03.patch
xsa326-04.patch
xsa326-05.patch
xsa326-06.patch
xsa326-07.patch
xsa326-08.patch
xsa326-09.patch
xsa326-10.patch
xsa326-11.patch
xsa326-12.patch
xsa326-13.patch
xsa326-14.patch
xsa326-15.patch
xsa326-16.patch
xsa412.patch
xsa414.patch
xsa415.patch
xsa416.patch
xsa417.patch
xsa418-01.patch
xsa418-02.patch
xsa418-03.patch
xsa418-04.patch
xsa418-05.patch
xsa418-06.patch
xsa418-07.patch
xsa419-01.patch
xsa419-02.patch
xsa419-03.patch
xsa421-01.patch
xsa421-02.patch
-------------------------------------------------------------------
Fri Oct 28 14:10:11 MDT 2022 - carnold@suse.com
- bsc#1193923 - VUL-1: xen: Frontends vulnerable to backends
(XSA-376)
61dd5f64-limit-support-statement-for-Linux-and-Windows-frontends.patch
-------------------------------------------------------------------
Tue Oct 25 16:45:00 CEST 2022 - jbeulich@suse.com
- bsc#1203806 - VUL-0: CVE-2022-33746: xen: P2M pool freeing may
take excessively long (XSA-410)
63455f82-Arm-P2M-prevent-adding-mapping-when-dying.patch
63455fa8-Arm-P2M-preempt-when-freeing-intermediate.patch
63455fc3-x86-p2m_teardown-allow-skip-root-pt-removal.patch
63455fe4-x86-HAP-monitor-table-error-handling.patch
63456000-x86-tolerate-sh_set_toplevel_shadow-failure.patch
6345601d-x86-tolerate-shadow_prealloc-failure.patch
6345603a-x86-P2M-refuse-new-alloc-for-dying.patch
63456057-x86-P2M-truly-free-paging-pool-for-dying.patch
63456075-x86-P2M-free-paging-pool-preemptively.patch
63456090-x86-p2m_teardown-preemption.patch
- bcs#1203804 - VUL-0: CVE-2022-33747: xen: unbounded memory consumption
for 2nd-level page tables on ARM systems (XSA-409)
63456175-libxl-per-arch-extra-default-paging-memory.patch
63456177-Arm-construct-P2M-pool-for-guests.patch
6345617a-Arm-XEN_DOMCTL_shadow_op.patch
6345617c-Arm-take-P2M-pages-P2M-pool.patch
- bsc#1203807 - VUL-0: CVE-2022-33748: xen: lock order inversion in
transitive grant copy handling (XSA-411)
634561aa-gnttab-locking-on-transitive-copy-error-path.patch
- Upstream bug fixes (bsc#1027519)
6306185f-x86-XSTATE-CPUID-subleaf-1-EBX.patch
631b5ba6-gnttab-acquire-resource-vaddrs.patch
634561f1-x86emul-respect-NSCB.patch
6346e404-VMX-correct-error-handling-in-vmx_create_vmcs.patch
6351095c-Arm-rework-p2m_init.patch
6351096a-Arm-P2M-populate-pages-for-GICv2-mapping.patch
635274c0-EFI-dont-convert-runtime-mem-to-RAM.patch
635665fb-sched-fix-restore_vcpu_affinity.patch
63569723-x86-shadow-replace-bogus-assertions.patch
- Drop patches replaced by upstream versions:
xsa410-01.patch
xsa410-02.patch
xsa410-03.patch
@@ -1148,6 +1287,69 @@ Thu Dec 8 10:54:29 MST 2022 - carnold@suse.com
xsa410-10.patch
xsa411.patch
-------------------------------------------------------------------
Wed Oct 19 08:42:59 MDT 2022 - carnold@suse.com
- bsc#1204482 - VUL-0: CVE-2022-42311, CVE-2022-42312,
CVE-2022-42313, CVE-2022-42314, CVE-2022-42315, CVE-2022-42316,
CVE-2022-42317, CVE-2022-42318: xen: Xenstore: Guests can let
xenstored run out of memory (XSA-326)
xsa326-01.patch
xsa326-02.patch
xsa326-03.patch
xsa326-04.patch
xsa326-05.patch
xsa326-06.patch
xsa326-07.patch
xsa326-08.patch
xsa326-09.patch
xsa326-10.patch
xsa326-11.patch
xsa326-12.patch
xsa326-13.patch
xsa326-14.patch
xsa326-15.patch
xsa326-16.patch
- bsc#1204485 - VUL-0: CVE-2022-42309: xen: Xenstore: Guests can
crash xenstored (XSA-414)
xsa414.patch
- bsc#1204487 - VUL-0: CVE-2022-42310: xen: Xenstore: Guests can
create orphaned Xenstore nodes (XSA-415)
xsa415.patch
- bsc#1204488 - VUL-0: CVE-2022-42319: xen: Xenstore: Guests can
cause Xenstore to not free temporary memory (XSA-416)
xsa416.patch
- bsc#1204489 - VUL-0: CVE-2022-42320: xen: Xenstore: Guests can
get access to Xenstore nodes of deleted domains (XSA-417)
xsa417.patch
- bsc#1204490 - VUL-0: CVE-2022-42321: xen: Xenstore: Guests can
crash xenstored via exhausting the stack (XSA-418)
xsa418-01.patch
xsa418-02.patch
xsa418-03.patch
xsa418-04.patch
xsa418-05.patch
xsa418-06.patch
xsa418-07.patch
- bsc#1204494 - VUL-0: CVE-2022-42322,CVE-2022-42323: xen:
Xenstore: cooperating guests can create arbitrary numbers of
nodes (XSA-419)
xsa419-01.patch
xsa419-02.patch
xsa419-03.patch
- bsc#1204496 - VUL-0: CVE-2022-42325,CVE-2022-42326: xen:
Xenstore: Guests can create arbitray number of nodes via
transactions (XSA-421)
xsa421-01.patch
xsa421-02.patch
-------------------------------------------------------------------
Wed Oct 19 08:30:06 MDT 2022 - carnold@suse.com
- bsc#1204483 - VUL-0: CVE-2022-42327: xen: x86: unintended memory
sharing between guests (XSA-412)
xsa412.patch
-------------------------------------------------------------------
Wed Sep 28 10:14:10 MDT 2022 - carnold@suse.com
@@ -1167,12 +1369,6 @@ Wed Sep 28 10:14:10 MDT 2022 - carnold@suse.com
transitive grant copy handling (XSA-411)
xsa411.patch
-------------------------------------------------------------------
Thu Sep 1 06:21:39 UTC 2022 - Stefan Schubert <schubi@suse.com>
- Migration to /usr/etc: Saving user changed configuration files
in /etc and restoring them while an RPM update.
-------------------------------------------------------------------
Mon Aug 29 10:24:31 MDT 2022 - carnold@suse.com
@@ -1513,7 +1709,7 @@ Thu Jan 13 10:55:58 MST 2022 - carnold@suse.com
Wed Jan 12 14:16:53 MST 2022 - carnold@suse.com
- bsc#1191668 - L3: issue around xl and virsh operation - virsh
list not giving any output (see also bsc#1194267)
list not giving any output
libxl-dont-try-to-free-a-NULL-list-of-vcpus.patch
libxl-dont-touch-nr_vcpus_out-if-listing-vcpus-and-returning-NULL.patch
@@ -1542,6 +1738,14 @@ Tue Jan 4 15:51:15 UTC 2022 - James Fehlig <jfehlig@suse.com>
- Collect active VM config files in the supportconfig plugin
xen-supportconfig
-------------------------------------------------------------------
Mon Jan 3 13:28:03 MST 2022 - carnold@suse.com
- Now that the ovmf package has been updated, reset the configure
script to use ovmf-x86_64-xen-4m.bin from ovmf-x86_64-ms.bin
References bsc#1194105, bsc#1193274
xen.spec
-------------------------------------------------------------------
Thu Dec 9 09:36:20 MST 2021 - carnold@suse.com
@@ -1572,12 +1776,30 @@ Wed Dec 1 09:45:10 MST 2021 - carnold@suse.com
* Improved support for Arm 64-bit heterogeneous systems by
leveling the CPU features across all to improve big.LITTLE
support.
- bsc#1193274 - [Build67.2][Xen][uefi] xen fullvirt uefi guest can
not be created with default 'type=plash' in virt-manager
xen.spec
-------------------------------------------------------------------
Wed Nov 17 07:25:37 MST 2021 - carnold@suse.com
Thu Nov 18 08:10:26 MST 2021 - carnold@suse.com
- Update to Xen 4.16.0 RC3 release
- Update to Xen 4.16.0 RC4 release (jsc#SLE-18467)
xen-4.16.0-testing-src.tar.bz2
* Xen can now export Intel Processor Trace (IPT) data from guests to tools in dom0.
* Xen now supports Viridian enlightenments for guests with more than 64 vcpus.
* Xenstored and oxenstored both now support LiveUpdate (tech preview).
* Unified boot images
* Switched x86 MSR accesses to deny by default policy.
* Named PCI devices for xl/libxl and improved documentation for xl PCI configuration format.
* Support for zstd-compressed dom0 (x86) and domU kernels.
* Reduce ACPI verbosity by default.
* Add ucode=allow-same option to test late microcode loading path.
* Library improvements from NetBSD ports upstreamed.
* x86: Allow domains to use AVX-VNNI instructions.
* Added XEN_SCRIPT_DIR configuration option to specify location for Xen scripts.
* xennet: Documented a way for the backend (or toolstack) to specify MTU to the frontend.
* On detecting a host crash, some debug key handlers can automatically triggered to aid in debugging.
* Increase the maximum number of guests which can share a single IRQ from 7 to 16, and make this configurable with irq-max-guests.
- Drop iPXE sources and patches. iPXE is only used by QEMU
traditional which has never shipped with SLE15.
ipxe.tar.bz2
@@ -1586,58 +1808,17 @@ Wed Nov 17 07:25:37 MST 2021 - carnold@suse.com
ipxe-use-rpm-opt-flags.patch
- Drop building ocaml xenstored in the spec file. There are no
plans or need to support this version.
-------------------------------------------------------------------
Mon Nov 8 09:09:58 MST 2021 - carnold@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 - carnold@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 - carnold@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 - jbeulich@suse.com
- Revert "Simplify %autosetup".
-------------------------------------------------------------------
Fri Sep 10 13:07:31 MDT 2021 - carnold@suse.com
- Update to Xen 4.15.1 bug fix release
xen-4.15.1-testing-src.tar.bz2
- Drop patches contained in new tarball
60631c38-VT-d-QI-restore-flush-hooks.patch
60700077-x86-vpt-avoid-pt_migrate-rwlock.patch
60787714-revert-x86-HPET-avoid-legacy-replacement-mode.patch
60787714-x86-HPET-avoid-legacy-replacement-mode.patch
60787714-x86-HPET-factor-legacy-replacement-mode-enabling.patch
- Drop patches contained in new tarball or no longer required
5fca3b32-tools-libs-ctrl-fix-dumping-of-ballooned-guest.patch
5ffc58c4-ACPI-reduce-verbosity-by-default.patch
602ffae9-tools-libs-light-fix-xl-save--c-handling.patch
608676f2-VT-d-register-based-invalidation-optional.patch
60a27288-x86emul-gas-2-36-test-harness-build.patch
60af933d-x86-gcc11-hypervisor-build.patch
60afe616-x86-CPUID-rework-HLE-and-RTM-handling.patch
60afe617-x86-TSX-minor-cleanup-and-improvements.patch
60afe618-x86-TSX-deprecate-vpmu=rtm-abort.patch
60ba695e-tools-libs-ctrl-fix-xc_core_arch_map_p2m-to-support.patch
60be0e24-credit2-pick-runnable-unit.patch
60be0e42-credit2-per-entity-load-tracking-when-continuing.patch
60be3097-x86-CPUID-fix-HLE-and-RTM-handling-again.patch
@@ -1658,33 +1839,128 @@ Fri Sep 10 13:07:31 MDT 2021 - carnold@suse.com
60d496d6-VT-d-clear_fault_bits-should-clear-all.patch
60d496ee-VT-d-dont-lose-errors-on-multi-IOMMU-flush.patch
60d5c6df-IOMMU-PCI-dont-let-domain-cleanup-continue.patch
61001231-x86-work-around-GNU-ld-2-37-issue.patch
61122ac6-credit2-avoid-spuriously-picking-idle.patch
611a7e38-x86-CET-shstk-WARN-manipulation.patch
611cba4e-VT-d-Tylersburg-errata-more-steppings.patch
611f844b-AMD-IOMMU-dont-leave-pt-mapped.patch
6126339d-AMD-IOMMU-global-ER-extending.patch
6126344f-AMD-IOMMU-unity-map-handling.patch
61263464-IOMMU-pass-access-to-p2m_get_iommu_flags.patch
6126347d-IOMMU-generalize-VT-d-mapped-RMRR-tracking.patch
6126349a-AMD-IOMMU-rearrange-reassignment.patch
612634ae-AMD-IOMMU-rearrange-ER-UM-recording.patch
612634c3-x86-p2m-introduce-p2m_is_special.patch
612634dc-x86-p2m-guard-identity-mappings.patch
612634f4-x86-mm-widen-locked-region-in-xatp1.patch
6126350a-gnttab-release-mappings-preemption.patch
6126351f-gnttab-replace-mapkind.patch
6126353d-gnttab-get-status-frames-array-capacity.patch
61263553-Arm-restrict-maxmem-for-dom0less.patch
6128a856-gnttab-radix-tree-node-init.patch
init.xen_loop
libxc-bitmap-50a5215f30e964a6f16165ab57925ca39f31a849.patch
libxc-bitmap-longs.patch
libxc.migrate_tracking.patch
libxc-sr-3cccdae45242dab27198b8e150be0c85acd5d3c9.patch
libxc-sr-add-xc_is_known_page_type.patch
libxc-sr-arrays.patch
libxc-sr-batch_pfns.patch
libxc-sr-page_type_has_stream_data.patch
libxc.sr.superpage.patch
libxc-sr-use-xc_is_known_page_type.patch
libxl-0c0b3a7e4a2d65fd252b89b46bdcdb048bb24b6c.patch
libxl-0ff26a3225d69ffec76fe5aca8296852fa951204.patch
libxl-4e217db45e83fc3173382306c8b03da86099a25d.patch
libxl-7c313e8365eb663311a0cf39f77b4f5880244765.patch
libxl-85760c03d664400368a3f76ae0225307c25049a7.patch
libxl-d5f54009dba11d04bfe2a28eee47b994de66b84a.patch
libxl-f3f778c81769075ac0eb93b98d4b2803e7936453.patch
libxl-4e217db45e83fc3173382306c8b03da86099a25d.patch
libxl-85760c03d664400368a3f76ae0225307c25049a7.patch
libxl-0ff26a3225d69ffec76fe5aca8296852fa951204.patch
libxl-7c313e8365eb663311a0cf39f77b4f5880244765.patch
libxl-0c0b3a7e4a2d65fd252b89b46bdcdb048bb24b6c.patch
libxl-fe6630ddc4e8a8fbf8dd28a1bc58e3881393f9c1.patch
libxl-qemu6-vnc-password.patch
libxl.fix-libacpi-dependency.patch
libxl-qemu6-scsi.patch
libxl-qemu6-vnc-password.patch
libxl.set-migration-constraints-from-cmdline.patch
reproducible.patch
stubdom-have-iovec.patch
x86-cpufreq-report.patch
xenstore-launch.patch
xenwatchdogd-options.patch
xsa384.patch
-------------------------------------------------------------------
Tue Sep 7 08:16:38 MDT 2021 - carnold@suse.com
- bsc#1189632 - VUL-0: CVE-2021-28701: xen: Another race in
XENMAPSPACE_grant_table handling (XSA-384)
xsa384.patch
- Upstream bug fixes (bsc#1027519)
61001231-x86-work-around-GNU-ld-2-37-issue.patch
611a7e38-x86-CET-shstk-WARN-manipulation.patch
611cba4e-VT-d-Tylersburg-errata-more-steppings.patch
611f844b-AMD-IOMMU-dont-leave-pt-mapped.patch
6128a856-gnttab-radix-tree-node-init.patch
61122ac6-credit2-avoid-spuriously-picking-idle.patch (Replaces
credit2-avoid-picking-a-spurious-idle-unit-when-caps-are-used.patch)
6126339d-AMD-IOMMU-global-ER-extending.patch (Replaces xsa378-1.patch)
6126344f-AMD-IOMMU-unity-map-handling.patch (Replaces xsa378-2.patch)
61263464-IOMMU-pass-access-to-p2m_get_iommu_flags.patch (Replaces xsa378-3.patch)
6126347d-IOMMU-generalize-VT-d-mapped-RMRR-tracking.patch (Replaces xsa378-4.patch)
6126349a-AMD-IOMMU-rearrange-reassignment.patch (Replaces xsa378-5.patch)
612634ae-AMD-IOMMU-rearrange-ER-UM-recording.patch (Replaces xsa378-6.patch)
612634c3-x86-p2m-introduce-p2m_is_special.patch (Replaces xsa378-7.patch)
612634dc-x86-p2m-guard-identity-mappings.patch (Replaces xsa378-8.patch)
612634f4-x86-mm-widen-locked-region-in-xatp1.patch (Replaces xsa379.patch)
6126350a-gnttab-release-mappings-preemption.patch (Replaces xsa380-1.patch
6126351f-gnttab-replace-mapkind.patch (Replaces xsa380-2.patch)
6126353d-gnttab-get-status-frames-array-capacity.patch (Replaces xsa382.patch)
61263553-Arm-restrict-maxmem-for-dom0less.patch (Replaces xsa383.patch)
-------------------------------------------------------------------
Mon Aug 30 15:15:15 UTC 2021 - ohering@suse.de
- bsc#1189882 - refresh libxc-sr-restore-hvm-legacy-superpage.patch
- bsc#1189882 - refresh libxc.sr.superpage.patch
prevent superpage allocation in the LAPIC and ACPI_INFO range
-------------------------------------------------------------------
Thu Aug 19 13:18:25 MDT 2021 - carnold@suse.com
- bsc#1189373 - VUL-0: CVE-2021-28694,CVE-2021-28695,
CVE-2021-28696: xen: IOMMU page mapping issues on x86 (XSA-378)
xsa378-1.patch
xsa378-2.patch
xsa378-3.patch
xsa378-4.patch
xsa378-5.patch
xsa378-6.patch
xsa378-7.patch
xsa378-8.patch
- bsc#1189376 - VUL-0: CVE-2021-28697: xen: grant table v2 status
pages may remain accessible after de-allocation. (XSA-379)
xsa379.patch
- bsc#1189378 - VUL-0: CVE-2021-28698: xen: long running loops in
grant table handling. (XSA-380)
xsa380-1.patch
xsa380-2.patch
- bsc#1189380 - VUL-0: CVE-2021-28699: xen: inadequate grant-v2
status frames array bounds check. (XSA-382)
xsa382.patch
- bsc#1189381 - VUL-0: CVE-2021-28700: xen: xen/arm: No memory
limit for dom0less domUs. (XSA-383)
xsa383.patch
-------------------------------------------------------------------
Fri Aug 6 13:08:30 MDT 2021 - carnold@suse.com
- bsc#1188050 - L3: Xen guest yval1a80 SLES11SP4 hangs on cluster
See also bsc#1179246.
credit2-avoid-picking-a-spurious-idle-unit-when-caps-are-used.patch
-------------------------------------------------------------------
Wed Aug 4 05:55:41 MDT 2021 - carnold@suse.com
- Drop aarch64-maybe-uninitialized.patch as the fix is in tarball.
-------------------------------------------------------------------
Mon Jul 26 10:10:10 UTC 2021 - ohering@suse.de
- Simplify %autosetup
-------------------------------------------------------------------
Fri Jul 23 11:11:11 UTC 2021 - ohering@suse.de
@@ -1713,16 +1989,6 @@ Fri Jul 23 11:11:11 UTC 2021 - ohering@suse.de
added libxc-sr-xg_sr_bitmap.patch
added libxc-sr-xl-migration-debug.patch
-------------------------------------------------------------------
Thu Jul 22 22:33:51 UTC 2021 - James Fehlig <jfehlig@suse.com>
- spec: Change the '--with-system-ovmf' configure option to use
the new Xen-specific ovmf firmware. The traditional, unified
firmwares will no longer support multi-VMM. For more information
https://bugzilla.tianocore.org/show_bug.cgi?id=1689
https://bugzilla.tianocore.org/show_bug.cgi?id=2122
-------------------------------------------------------------------
Wed Jul 21 08:08:08 UTC 2021 - ohering@suse.de
@@ -1731,13 +1997,12 @@ Wed Jul 21 08:08:08 UTC 2021 - ohering@suse.de
xl-save-pc.patch
-------------------------------------------------------------------
Tue Jul 13 12:30:00 CEST 2021 - jbeulich@suse.com
Tue Jul 13 12:45:00 CEST 2021 - jbeulich@suse.com
- bsc#1179246 - Dom0 hangs when pinning CPUs for dom0 with HVM guest
60be0e24-credit2-pick-runnable-unit.patch
60be0e42-credit2-per-entity-load-tracking-when-continuing.patch
- Upstream bug fixes (bsc#1027519)
60be3097-x86-CPUID-fix-HLE-and-RTM-handling-again.patch
60bf9e19-Arm-create-dom0less-domUs-earlier.patch (Replaces xsa372-1.patch)
60bf9e1a-Arm-boot-modules-scrubbing.patch (Replaces xsa372-2.patch)
60bf9e1b-VT-d-size-qinval-queue-dynamically.patch (Replaces xsa373-1.patch)
@@ -1747,6 +2012,10 @@ Tue Jul 13 12:30:00 CEST 2021 - jbeulich@suse.com
60bf9e1f-x86-spec-ctrl-mitigate-TAA-after-S3.patch (Replaces xsa377.patch)
60bfa904-AMD-IOMMU-wait-for-command-slot.patch (Replaces xsa373-4.patch)
60bfa906-AMD-IOMMU-drop-command-completion-timeout.patch (Replaces xsa373-5.patch)
60afe617-x86-TSX-minor-cleanup-and-improvements.patch
60afe618-x86-TSX-deprecate-vpmu=rtm-abort.patch
60be3097-x86-CPUID-fix-HLE-and-RTM-handling-again.patch
60c0bf86-x86-TSX-cope-with-deprecation.patch
60c8a7ac-x86-vpt-fully-init-timers-before-enlisting.patch
60c8de6e-osdep_xenforeignmemory_map-prototype.patch
60d49689-VT-d-undo-device-mappings-upon-error.patch
@@ -1756,6 +2025,13 @@ Tue Jul 13 12:30:00 CEST 2021 - jbeulich@suse.com
60d5c6df-IOMMU-PCI-dont-let-domain-cleanup-continue.patch
- Dropped gcc11-fixes.patch
-------------------------------------------------------------------
Tue Jul 6 08:03:26 MDT 2021 - carnold@suse.com
- bsc#1183243 - L3: Core cannot be opened when using xl dump-core
of VM with PTF
60ba695e-tools-libs-ctrl-fix-xc_core_arch_map_p2m-to-support.patch
-------------------------------------------------------------------
Tue Jun 29 10:10:10 UTC 2021 - ohering@suse.de
@@ -1785,41 +2061,38 @@ Mon Jun 7 15:15:15 UTC 2021 - ohering@suse.de
in xendomains-wait-disks.service is created correctly (bsc#1183877)
-------------------------------------------------------------------
Mon May 31 12:30:00 CEST 2021 - jbeulich@suse.com
Tue Jun 1 12:40:00 CEST 2021 - jbeulich@suse.com
- Upstream bug fixes (bsc#1027519)
60631c38-VT-d-QI-restore-flush-hooks.patch
60700077-x86-vpt-avoid-pt_migrate-rwlock.patch
60787714-revert-x86-HPET-avoid-legacy-replacement-mode.patch
60787714-x86-HPET-avoid-legacy-replacement-mode.patch
60787714-x86-HPET-factor-legacy-replacement-mode-enabling.patch
608676f2-VT-d-register-based-invalidation-optional.patch
60a27288-x86emul-gas-2-36-test-harness-build.patch
60af933d-x86-gcc11-hypervisor-build.patch
60afe616-x86-CPUID-rework-HLE-and-RTM-handling.patch
60afe617-x86-TSX-minor-cleanup-and-improvements.patch
60afe618-x86-TSX-deprecate-vpmu=rtm-abort.patch
- Embargoed security fixes
- bsc#1186428 - VUL-0: CVE-2021-28693: xen: xen/arm: Boot modules
are not scrubbed (XSA-372)
xsa372-1.patch
xsa372-2.patch
- bsc#1186429 - VUL-0: CVE-2021-28692: xen: inappropriate x86 IOMMU
timeout detection / handling (XSA-373)
xsa373-1.patch
xsa373-2.patch
xsa373-3.patch
xsa373-4.patch
xsa373-5.patch
- bsc#1186433 - VUL-0: CVE-2021-0089: xen: Speculative Code Store
Bypass (XSA-375)
xsa375.patch
- bsc#1186434 - VUL-0: CVE-2021-28690: xen: x86: TSX Async Abort
protections not restored after S3 (XSA-377)
xsa377.patch
- Embargoed non-security fix
x86-TSX-cope-with-deprecation.patch
- Upstream bug fixes (bsc#1027519)
60a27288-x86emul-gas-2-36-test-harness-build.patch
60af933d-x86-gcc11-hypervisor-build.patch
60afe616-x86-CPUID-rework-HLE-and-RTM-handling.patch
-------------------------------------------------------------------
Mon May 31 12:20:00 CEST 2021 - jbeulich@suse.com
Thu May 6 10:02:57 MDT 2021 - carnold@suse.com
- x86-cpufreq-report.patch: Drop. We haven't had a kernel understanding
this custom extension for quite some time.
- Upstream bug fix (bsc#1027519)
608676f2-VT-d-register-based-invalidation-optional.patch
-------------------------------------------------------------------
Tue May 4 14:14:14 UTC 2021 - ohering@suse.de
Wed May 5 06:06:06 UTC 2021 - ohering@suse.de
- Add xen.sysconfig-fillup.patch to make sure xencommons is in a
format as expected by fillup. (bsc#1185682)
@@ -1828,48 +2101,19 @@ Tue May 4 14:14:14 UTC 2021 - ohering@suse.de
everything that looks like a stale comment, during next pkg update
-------------------------------------------------------------------
Tue May 4 09:09:09 UTC 2021 - ohering@suse.de
- Remove init.xen_loop and /etc/modprobe.d/xen_loop.conf
The number of loop devices is unlimited since a while
-------------------------------------------------------------------
Tue Apr 27 12:50:50 UTC 2021 - ohering@suse.de
Wed May 5 05:05:05 UTC 2021 - ohering@suse.de
- Refresh xenstore-launch.patch to cover also daemon case
-------------------------------------------------------------------
Wed Apr 21 16:11:28 MDT 2021 - carnold@suse.com
Thu Apr 29 06:13:07 MDT 2021 - carnold@suse.com
- Now that SOURCE_DATE_EPOCH is defined and Xen Makefile uses it,
drop reproducible.patch
-------------------------------------------------------------------
Tue Apr 20 13:01:41 MDT 2021 - carnold@suse.com
- Update to Xen 4.15.0 FCS release
xen-4.15.0-testing-src.tar.bz2
* Xen can now export Intel Processor Trace (IPT) data from guests to tools in dom0.
* Xen now supports Viridian enlightenments for guests with more than 64 vcpus.
* Xenstored and oxenstored both now support LiveUpdate (tech preview).
* Unified boot images
* Switched x86 MSR accesses to deny by default policy.
* Named PCI devices for xl/libxl and improved documentation for xl PCI configuration format.
* Support for zstd-compressed dom0 (x86) and domU kernels.
* Reduce ACPI verbosity by default.
* Add ucode=allow-same option to test late microcode loading path.
* Library improvements from NetBSD ports upstreamed.
* x86: Allow domains to use AVX-VNNI instructions.
* Added XEN_SCRIPT_DIR configuration option to specify location for Xen scripts.
* xennet: Documented a way for the backend (or toolstack) to specify MTU to the frontend.
* On detecting a host crash, some debug key handlers can automatically triggered to aid in debugging.
* Increase the maximum number of guests which can share a single IRQ from 7 to 16, and make this configurable with irq-max-guests.
- Dropped patches contained in new tarball
5fca3b32-tools-libs-ctrl-fix-dumping-of-ballooned-guest.patch
- Update to Xen 4.14.2 bug fix release (bsc#1027519)
xen-4.14.2-testing-src.tar.bz2
- Drop patches contained in new tarball
5fedf9f4-x86-hpet_setup-fix-retval.patch
5ff458f2-x86-vPCI-tolerate-disabled-MSI-X-entry.patch
5ff71655-x86-dpci-EOI-regardless-of-masking.patch
5ffc58c4-ACPI-reduce-verbosity-by-default.patch
5ffc58e8-x86-ACPI-dont-overwrite-FADT.patch
600999ad-x86-dpci-do-not-remove-pirqs-from.patch
600ab341-x86-vioapic-EOI-check-IRR-before-inject.patch
@@ -1881,21 +2125,14 @@ Tue Apr 20 13:01:41 MDT 2021 - carnold@suse.com
602cfe3d-IOMMU-check-if-initialized-before-teardown.patch
602e5a8c-gnttab-never-permit-mapping-transitive-grants.patch
602e5abb-gnttab-bypass-IOMMU-when-mapping-own-grant.patch
602ffae9-tools-libs-light-fix-xl-save--c-handling.patch
6037b02e-x86-EFI-suppress-ld-2-36-base-relocs.patch
60787714-x86-HPET-avoid-legacy-replacement-mode.patch
60787714-x86-HPET-factor-legacy-replacement-mode-enabling.patch
60410127-gcc11-adjust-rijndaelEncrypt.patch
60422428-x86-shadow-avoid-fast-fault-path.patch
604b9070-VT-d-disable-QI-IR-before-init.patch
60535c11-libxl-domain-soft-reset.patch (Replaces xsa368.patch)
60535c11-libxl-domain-soft-reset.patch
60700077-x86-vpt-avoid-pt_migrate-rwlock.patch
libxc-bitmap-50a5215f30e964a6f16165ab57925ca39f31a849.patch
libxc-bitmap-longs.patch
libxc-sr-3cccdae45242dab27198b8e150be0c85acd5d3c9.patch
libxl.fix-libacpi-dependency.patch
stubdom-have-iovec.patch
xenwatchdogd-options.patch
60787714-x86-HPET-factor-legacy-replacement-mode-enabling.patch
60787714-x86-HPET-avoid-legacy-replacement-mode.patch
-------------------------------------------------------------------
Mon Apr 19 12:03:30 MDT 2021 - carnold@suse.com

214
xen.spec
View File

@@ -29,58 +29,22 @@
%{?!primary_python:%define primary_python python3}
Name: xen
ExclusiveArch: %ix86 x86_64 aarch64
ExclusiveArch: x86_64
%define xen_build_dir xen-4.20.1-testing
#
%define with_gdbsx 0
%define with_dom0_support 0
%ifarch x86_64
%bcond_without xen_debug
%bcond_without xen_stubdom
%else
%bcond_with xen_debug
%bcond_with xen_stubdom
%endif
#
%define qemu_arch i386
%ifarch x86_64
%define with_gdbsx 1
%define with_dom0_support 1
%endif
#
%ifarch %arm aarch64
%define with_dom0_support 1
%define qemu_arch aarch64
%endif
#
%define xen_install_suffix %{nil}
%ifarch x86_64
%define xen_install_suffix .gz
%endif
# EFI requires gcc 4.6 or newer
# gcc46 is available in 12.1 or sles11sp2
# gcc47 is available in sles11sp3
# gcc48 is available in sles11sp4
# 12.2+ have gcc 4.7 as default compiler
%define with_gcc47 0
%define with_gcc48 0
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
%systemd_requires
BuildRequires: pkgconfig(libsystemd)
%define with_systemd_modules_load %{_prefix}/lib/modules-load.d
PreReq: %fillup_prereq
%ifarch %arm aarch64
%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120200 )
BuildRequires: libfdt-devel
%else
BuildRequires: libfdt1-devel
%endif
%endif
BuildRequires: bison
BuildRequires: fdupes
%if 0%{?suse_version} > 1315
BuildRequires: figlet
%endif
BuildRequires: flex
BuildRequires: glib2-devel
BuildRequires: libaio-devel
@@ -91,12 +55,8 @@ BuildRequires: libuuid-devel
BuildRequires: libxml2-devel
BuildRequires: libyajl-devel
%if %{with xen_stubdom}
%if 0%{?suse_version} < 1230
BuildRequires: texinfo
%else
BuildRequires: makeinfo
%endif
%endif
BuildRequires: acpica
BuildRequires: libzstd-devel
BuildRequires: lzo-devel
@@ -106,22 +66,12 @@ BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: xz-devel
BuildRequires: pkgconfig(systemd)
%ifarch x86_64
BuildRequires: gcc-32bit
BuildRequires: gcc-c++
%if %{?with_gcc47}0
BuildRequires: gcc47
%endif
%if %{?with_gcc48}0
BuildRequires: gcc48
%endif
BuildRequires: glibc-32bit
BuildRequires: glibc-devel-32bit
BuildRequires: makeinfo
%endif
%ifarch x86_64
BuildRequires: pesign-obs-integration
%endif
BuildRequires: python-rpm-macros
Provides: installhint(reboot-needed)
@@ -149,7 +99,6 @@ Source31: xenapiusers
# Init script and sysconf file for pciback
Source34: init.pciback
Source35: sysconfig.pciback
Source36: xen2libvirt.py
# Systemd service files
Source41: xencommons.service
Source42: xen-dom0-modules.service
@@ -168,9 +117,8 @@ Patch402: vif-bridge-tap-fix.patch
Patch403: xl-conf-default-bridge.patch
Patch404: xl-conf-disable-autoballoon.patch
Patch405: xen-arch-kconfig-nr_cpus.patch
Patch406: suse-xendomains-service.patch
Patch407: replace-obsolete-network-configuration-commands-in-s.patch
Patch408: ignore-ip-command-script-errors.patch
Patch406: replace-obsolete-network-configuration-commands-in-s.patch
Patch407: ignore-ip-command-script-errors.patch
# Needs to go upstream
Patch420: suspend_evtchn_lock.patch
# Other bug fixes or features
@@ -178,19 +126,19 @@ Patch450: xen.sysconfig-fillup.patch
Patch451: xenconsole-no-multiple-connections.patch
Patch452: hibernate.patch
Patch453: xl-save-pc.patch
Patch454: pygrub-boot-legacy-sles.patch
Patch455: pygrub-handle-one-line-menu-entries.patch
Patch461: libxl.max_event_channels.patch
Patch463: libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch
Patch464: xen.libxl.dmmd.patch
Patch465: xenstore-run-in-studomain.patch
Patch466: libxl.helper_done-crash.patch
Patch467: libxl.LIBXL_HOTPLUG_TIMEOUT.patch
Patch466: xenstore-run-in-pvh-mode.patch
Patch467: libxl.helper_done-crash.patch
Patch468: libxl.LIBXL_HOTPLUG_TIMEOUT.patch
# Hypervisor and PV driver Patches
Patch600: xen.bug1026236.suse_vtsc_tolerance.patch
Patch601: x86-ioapic-ack-default.patch
Patch602: xenwatchdogd-restart.patch
Patch621: xen.build-compare.doc_html.patch
Patch622: disable-pv-support.patch
# Build patches
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -205,6 +153,7 @@ This package contains the Xen Hypervisor. (tm)
[Hypervisor is a trademark of IBM]
%package libs
Summary: Xen Virtualization: Libraries
License: GPL-2.0-only
@@ -227,8 +176,6 @@ Authors:
Ian Pratt <ian.pratt@cl.cam.ac.uk>
%if %{?with_dom0_support}0
%package tools
Summary: Xen Virtualization: Control tools for domain 0
License: GPL-2.0-only
@@ -236,28 +183,11 @@ Group: System/Kernel
%if 0%{?suse_version} > 1500
BuildRequires: pam-devel
%endif
%ifarch x86_64
%if 0%{?suse_version} >= 1315
Requires: grub2-x86_64-xen
%endif
Recommends: qemu-ovmf-x86_64
Requires: qemu-x86
%endif
%ifarch %arm aarch64
Requires: qemu-arm
%endif
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Recommends: multipath-tools
Requires: %{primary_python}
Requires: %{primary_python}-curses
%ifarch %{ix86} x86_64
Requires: qemu-seabios
%endif
# subpackage existed in 10.3
Provides: xen-tools-ioemu = %{version}
Obsoletes: xen-tools-ioemu < %{version}
Conflicts: libvirt < 1.0.5
%description tools
Xen is a virtual machine monitor for x86 that supports execution of
@@ -276,7 +206,6 @@ Authors:
Ian Pratt <ian.pratt@cl.cam.ac.uk>
%ifarch x86_64
%package tools-xendomains-wait-disk
Summary: Adds a new xendomains-wait-disks.service
License: GPL-3.0-or-later
@@ -299,9 +228,7 @@ xendomains.service, but it adds itself as a Wanted service for xendomains.
If xendomains-wait-disks.service fails, xendomains.service is launched anyway.
https://github.com/luizluca/xen-tools-xendomains-wait-disk
%endif
%endif
%package tools-domU
Summary: Xen Virtualization: Control tools for domain U
@@ -319,11 +246,11 @@ This package contains tools that allow unprivileged domains to query
the virtualized environment.
Authors:
--------
Ian Pratt <ian.pratt@cl.cam.ac.uk>
%package devel
Summary: Xen Virtualization: Headers and libraries for development
License: GPL-2.0-only
@@ -340,12 +267,10 @@ This package contains the libraries and header files needed to create
tools to control virtual machines.
Authors:
--------
Ian Pratt <ian.pratt@cl.cam.ac.uk>
%if %{?with_dom0_support}0
%package doc-html
Summary: Xen Virtualization: HTML documentation
@@ -361,11 +286,10 @@ xen-doc-html contains the online documentation in HTML format. Point
your browser at file:/usr/share/doc/packages/xen/html/
Authors:
--------
Ian Pratt <ian.pratt@cl.cam.ac.uk>
%endif
%prep
%setup -q -n %xen_build_dir -a 1 -a 2
@@ -402,12 +326,6 @@ cat > .our_xenversion <<_EOV_
export WGET=$(type -P false)
export FTP=$(type -P false)
export GIT=$(type -P false)
%ifarch aarch64
# GCC10+ enables outline-atomics option by default and breaks the build, so disable it
%if 0%{?suse_version} >= 1550
export CFLAGS="%{optflags} -mno-outline-atomics"
%endif
%endif
export EXTRA_CFLAGS_XEN_TOOLS="%{optflags}"
export EXTRA_CFLAGS_QEMU_TRADITIONAL="%{optflags}"
export SMBIOS_REL_DATE="$SMBIOS_REL_DATE"
@@ -443,7 +361,7 @@ sed -i~ 's/ XENSTORETYPE=domain$/ XENSTORETYPE=daemon/' tools/hotplug/Linux/laun
configure_flags="${configure_flags} --disable-stubdom"
%endif
export PYTHON=$(realpath /usr/bin/python3)
configure_flags="${configure_flags} --disable-qemu-traditional"
configure_flags="${configure_flags} --disable-qemu-traditional --disable-seabios --disable-pygrub"
./configure \
--disable-xen \
--disable-pvshim \
@@ -465,8 +383,6 @@ configure_flags="${configure_flags} --disable-qemu-traditional"
--enable-systemd \
--with-systemd=%{_unitdir} \
--with-systemd-modules-load=%{with_systemd_modules_load} \
--with-system-ovmf=%{_datadir}/qemu/ovmf-x86_64-xen-4m.bin \
--with-system-seabios=%{_datadir}/qemu/bios-256k.bin \
${configure_flags}
make -C tools/include/xen-foreign %{?_smp_mflags}
make %{?_smp_mflags}
@@ -572,7 +488,6 @@ _EOR_
tee ${udev_rulesdir}/80-%{name}-channel-setup.rules <<'_EOF_'
SUBSYSTEM=="xen", DEVPATH=="/devices/console-[0-9]", IMPORT{program}=="xen-channel-setup.sh $attr{nodename} %%n"
SUBSYSTEM=="xen", DEVPATH=="/devices/console-[0-9]", ENV{XEN_CHANNEL_NAME}=="org.qemu.guest_agent.0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="qemu-ga@hvc%%n.service"
_EOF_
#
dracut_moduledir=%{buildroot}/usr/lib/dracut/modules.d/50%{name}-tools-domU
@@ -640,10 +555,6 @@ channel_num="$2"
name="`xenstore-read \"$channel_path\"/name`"
test -z "$name" && exit 1
if test $name != "org.qemu.guest_agent.0"; then
exit 1
fi
mkdir -p /dev/xenchannel
devname=/dev/xenchannel/$name
# Xen's console devices are used for channels. See xen-pv-channel(7)
@@ -655,7 +566,6 @@ _EOF_
chmod 755 ${udev_programdir}/*.sh
# EFI
%if %{?with_dom0_support}0
arch=`uname -m`
install_xen()
{
@@ -693,12 +603,6 @@ install_xen()
}
export BRP_PESIGN_FILES="*.efi /lib/firmware"
CC=gcc
%if %{?with_gcc47}0
CC=gcc-4.7
%endif
%if %{?with_gcc48}0
CC=gcc-4.8
%endif
rm -fv xen/.config
echo CONFIG_REQUIRE_NX=y > xen/.config
echo CONFIG_DIT_DEFAULT=y >> xen/.config
@@ -716,23 +620,6 @@ yes '' | make -C xen oldconfig
make -C xen install XEN_BUILD_DATE="$XEN_BUILD_DATE" XEN_BUILD_TIME="$XEN_BUILD_TIME" DEBUG_DIR=/boot DESTDIR=%{buildroot} CC=$CC %{?_smp_mflags}
install_xen
make -C xen clean
%endif
# On x86_64, qemu-xen was installed as /usr/lib/xen/bin/qemu-system-i386
# and advertised as the <emulator> in libvirt capabilities. Tool such as
# virt-install include <emulator> in domXML they produce, so we need to
# preserve the path. For x86_64, create a simple wrapper that invokes
# /usr/bin/qemu-system-i386
# Using qemu-system-x86_64 will result in an incompatible VM
%ifarch x86_64 aarch64
hardcoded_path_in_existing_domU_xml='%{_libexecdir}/%{name}/bin'
mkdir -vp %{buildroot}${hardcoded_path_in_existing_domU_xml}
tee %{buildroot}${hardcoded_path_in_existing_domU_xml}/qemu-system-%{qemu_arch} << 'EOF'
#!/bin/sh
exec %{_bindir}/qemu-system-%{qemu_arch} "$@"
EOF
chmod 0755 %{buildroot}${hardcoded_path_in_existing_domU_xml}/qemu-system-%{qemu_arch}
#
unit='%{_libexecdir}/%{name}/bin/xendomains-wait-disks'
@@ -747,7 +634,7 @@ Description=Xendomains - for those machines that will start, wait for their disk
Requires=proc-xen.mount xenstored.service
After=proc-xen.mount xenstored.service xenconsoled.service xen-init-dom0.service
After=network-online.target
After=remote-fs.target
After=remote-fs.target
Before=xendomains.service
ConditionPathExists=/proc/xen/capabilities
@@ -760,10 +647,8 @@ TimeoutSec=5min
WantedBy=xendomains.service
_EOS_
#
%endif
# Stubdom
%if %{?with_dom0_support}0
# Docs
mkdir -p %{buildroot}/%{_defaultdocdir}/xen/misc
for name in COPYING %SOURCE10 %SOURCE11 %SOURCE12; do
@@ -775,7 +660,6 @@ for name in vtpm-platforms.txt crashdb.txt xenpaging.txt \
done
# Xen utilities
install -m755 %SOURCE36 %{buildroot}/usr/sbin/xen2libvirt
install -m755 %SOURCE10183 %{buildroot}/usr/sbin/xen_maskcalc
%python3_fix_shebang
@@ -788,7 +672,6 @@ rm -f %{buildroot}/etc/xen/examples/*nbd
# Scripts
rm -f %{buildroot}/etc/xen/scripts/block-*nbd
install -m755 %SOURCE21 %SOURCE22 %SOURCE23 %SOURCE24 %{buildroot}/etc/xen/scripts/
install -m755 tools/pygrub/src/pygrub %{buildroot}/usr/bin/pygrub
mkdir -p %{buildroot}/usr/lib/supportconfig/plugins
install -m 755 %SOURCE13 %{buildroot}/usr/lib/supportconfig/plugins/xen
@@ -867,9 +750,6 @@ find %{buildroot} \( \
-name qcow-create -o \
-name img2qcow -o \
-name qcow2raw -o \
-name qemu-bridge-helper -o \
-name qemu-img-xen -o \
-name qemu-nbd-xen -o \
-name palcode-clipper -o \
-name "*.dtb" -o \
-name "openbios-*" -o \
@@ -897,34 +777,6 @@ find %{buildroot} -name xendriverdomain.service -print -delete
%fdupes %{buildroot}/%{_prefix}
find %{buildroot} -type f -size 0 -delete -print
%else
# !with_dom0_support
# 32 bit hypervisor no longer supported. Remove dom0 tools.
rm -rf %{buildroot}/%{_datadir}/doc
rm -rf %{buildroot}/%{_datadir}/man
rm -rf %{buildroot}/%{_libexecdir}/%{name}
rm -rf %{buildroot}/%{_libdir}/python*
rm -rf %{buildroot}/%{_unitdir}
rm -rf %{buildroot}/%{_fillupdir}
rm -rf %{buildroot}/%{with_systemd_modules_load}
rm -rf %{buildroot}/usr/sbin
rm -rf %{buildroot}/etc/xen
rm -rf %{buildroot}/var
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
rm -f %{buildroot}/%{_bindir}/xenalyze*
rm -f %{buildroot}/%{_bindir}/xenco*
rm -f %{buildroot}/%{_bindir}/xen-cpuid
rm -f %{buildroot}/%{_bindir}/pygrub
rm -f %{buildroot}/%{_bindir}/remus
rm -f %{buildroot}/usr/etc/qemu/target-x86_64.conf
rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%endif
%if %{?with_dom0_support}0
%files
%defattr(-,root,root)
@@ -932,25 +784,17 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%{_libdir}/efi
%{_datadir}/efi
%endif
%files libs
%defattr(-,root,root)
%{_libdir}/xenfsimage/
%{_libdir}/*.so.*
%if %{?with_dom0_support}0
%files tools
%defattr(-,root,root)
/usr/bin/xenalyze
/usr/bin/xenstore*
/usr/bin/pygrub
/usr/bin/vchan-socket-proxy
/usr/bin/xencov_split
%ifarch x86_64
/usr/bin/xen-cpuid
%endif
/usr/sbin/xenbaked
/usr/sbin/xenconsoled
/usr/sbin/xencov
@@ -971,14 +815,10 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
/usr/sbin/flask-loadpolicy
/usr/sbin/flask-set-bool
/usr/sbin/flask-setenforce
%if %{?with_gdbsx}0
/usr/sbin/gdbsx
%endif
/usr/sbin/xl
/usr/sbin/xen2libvirt
/usr/sbin/xen-access
/usr/sbin/xen_maskcalc
%ifarch %ix86 x86_64
/usr/sbin/xen-hptool
/usr/sbin/xen-hvmcrash
/usr/sbin/xen-hvmctx
@@ -988,7 +828,6 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
/usr/sbin/xen-ucode
/usr/sbin/xen-mceinj
/usr/sbin/xen-vmtrace
%endif
/usr/sbin/xenhypfs
/usr/sbin/xen-livepatch
/usr/sbin/xen-diag
@@ -1013,10 +852,8 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/bin
%exclude %{_libexecdir}/%{name}-tools-domU
%ifarch x86_64
%{_libexecdir}/%{name}/boot
%exclude %{_libexecdir}/%{name}/bin/xendomains-wait-disks
%endif
%{_fillupdir}/sysconfig.pciback
%{_fillupdir}/sysconfig.xencommons
%{_fillupdir}/sysconfig.xendomains
@@ -1024,9 +861,7 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%dir %attr(700,root,root) /var/lib/xen/images
%dir %attr(700,root,root) /var/lib/xen/save
%dir %attr(700,root,root) /var/lib/xen/dump
%ifarch %ix86 x86_64
%dir %attr(700,root,root) /var/lib/xen/xenpaging
%endif
%dir /var/lib/xenstored
%dir /var/log/xen
%dir /var/log/xen/console
@@ -1048,15 +883,12 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%exclude %{_unitdir}/xendomains-wait-disks.service
%config %{with_systemd_modules_load}
%{_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
%dir %{_libdir}/python%{pyver}/site-packages/xen/migration
%{_libdir}/python%{pyver}/site-packages/grub/*
%{_libdir}/python%{pyver}/site-packages/xen/util.py
%{_libdir}/python%{pyver}/site-packages/xen/lowlevel/*
%{_libdir}/python%{pyver}/site-packages/xen/migration/*
%{_libdir}/python%{pyver}/site-packages/*.so
%dir %{_defaultdocdir}/xen
%{_defaultdocdir}/xen/COPYING
%{_defaultdocdir}/xen/README.SUSE
@@ -1064,29 +896,21 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%{_defaultdocdir}/xen/boot.xen
%{_mandir}/man*/*
%ifarch x86_64
%files tools-xendomains-wait-disk
%license xendomains-wait-disk/LICENSE
%doc xendomains-wait-disk/README.md
%config %{_unitdir}/xendomains-wait-disks.service
%config %attr(0755,root,root) %{_libexecdir}/%{name}/bin/xendomains-wait-disks
%endif
# with_dom0_support
%endif
%posttrans -n %{name}-tools-domU
%{?regenerate_initrd_posttrans}
%files tools-domU
%defattr(-,root,root)
%ifarch %ix86 x86_64
/usr/bin/xen-detect
%exclude /usr/bin/xenstore-control
%endif
/usr/bin/xenstore*
%if %{?with_dom0_support}0
%config %{_unitdir}/%{name}-vcpu-watch.service
%endif
%{_libexecdir}/%{name}-tools-domU
/usr/lib/udev
/usr/lib/dracut
@@ -1112,8 +936,6 @@ rm -f %{buildroot}/usr/libexec/qemu-bridge-helper
%{_libdir}/pkgconfig/xentoollog.pc
%{_libdir}/pkgconfig/xenvchan.pc
%if %{?with_dom0_support}0
%files doc-html
%defattr(-,root,root)
%dir %{_defaultdocdir}/xen
@@ -1133,7 +955,6 @@ fi
%service_add_pre xen-dom0-modules.service
%service_add_pre xenconsoled.service
%service_add_pre xen-init-dom0.service
%service_add_pre xen-qemu-dom0-disk-backend.service
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/etc; save any old .rpmsave
for i in logrotate.d/xen pam.d/xen-api ; do
@@ -1159,16 +980,12 @@ done
%service_add_post xen-dom0-modules.service
%service_add_post xenconsoled.service
%service_add_post xen-init-dom0.service
%service_add_post xen-qemu-dom0-disk-backend.service
if [ -f /etc/default/grub ] && ! (/usr/bin/grep GRUB_CMDLINE_XEN /etc/default/grub >/dev/null); then
echo '# Xen boot parameters for all Xen boots' >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN=""' >> /etc/default/grub
echo '# Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN)' >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN_DEFAULT=""' >> /etc/default/grub
fi
if [ -f %{_datadir}/grub2/i386-xen/grub.xen ] && [ ! -f %{_libexecdir}/%{name}/boot/pvgrub32.bin ]; then
ln -sv %{_datadir}/grub2/i386-xen/grub.xen %{_libexecdir}/%{name}/boot/pvgrub32.bin
echo 'GRUB_CMDLINE_XEN_DEFAULT="dom0=pvh"' >> /etc/default/grub
fi
if [ -f %{_datadir}/grub2/x86_64-xen/grub.xen ] && [ ! -f %{_libexecdir}/%{name}/boot/pvgrub64.bin ]; then
ln -sv %{_datadir}/grub2/x86_64-xen/grub.xen %{_libexecdir}/%{name}/boot/pvgrub64.bin
@@ -1182,7 +999,6 @@ fi
%service_del_preun xen-dom0-modules.service
%service_del_preun xenconsoled.service
%service_del_preun xen-init-dom0.service
%service_del_preun xen-qemu-dom0-disk-backend.service
%postun tools
%if %{defined service_del_postun_without_restart}
@@ -1193,7 +1009,6 @@ fi
%service_del_postun_without_restart xen-dom0-modules.service
%service_del_postun_without_restart xenconsoled.service
%service_del_postun_without_restart xen-init-dom0.service
%service_del_postun_without_restart xen-qemu-dom0-disk-backend.service
%else
export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun xencommons.service
@@ -1203,9 +1018,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%service_del_postun xen-dom0-modules.service
%service_del_postun xenconsoled.service
%service_del_postun xen-init-dom0.service
%service_del_postun xen-qemu-dom0-disk-backend.service
%endif
%endif
%post libs -p /sbin/ldconfig

View File

@@ -1,137 +0,0 @@
#!/usr/bin/python3
#
# Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
#
# Authors:
# Jim Fehlig <jfehlig@suse.com>
#
# Read native Xen configuration format, convert to libvirt domXML, and
# import (virsh define <xml>) into libvirt.
import sys
import os
import argparse
import re
from xml.etree import ElementTree
try:
import libvirt
except ImportError:
print('Unable to import the libvirt module. Is libvirt-python installed?')
sys.exit(1)
parser = argparse.ArgumentParser(description='Import Xen domain configuration into libvirt')
parser.add_argument('-c', '--convert-only', help='Convert Xen domain configuration into libvirt domXML, but do not import into libvirt', action='store_true', dest='convert_only')
parser.add_argument('-r', '--recursive', help='Operate recursivelly on all Xen domain configuration rooted at path', action='store_true')
parser.add_argument('-f', '--format', help='Format of Xen domain configuration. Supported formats are xm and sexpr', choices=['xm', 'sexpr'], default=None)
parser.add_argument('-v', '--verbose', help='Print information about the import process', action='store_true')
parser.add_argument('path', help='Path to Xen domain configuration')
def print_verbose(msg):
if args.verbose:
print(msg)
def check_config(path, config):
isbinary = os.system('file -b ' + path + ' | grep text > /dev/null')
if isbinary:
print('Skipping %s (not a valid Xen configuration file)' % path)
return 'unknown'
for line in config.splitlines():
if len(line) == 0 or line.startswith('#'):
continue
if line.startswith('<domain'):
# XML is not a supported conversion format
break
if line.startswith('(domain'):
print('Found sexpr formatted file %s' % path)
return 'sexpr'
if '=' in line:
print('Found xm formatted file %s' % path)
return 'xm'
break
print('Skipping %s (not a valid Xen configuration file)' % path)
return 'unknown'
def import_domain(conn, path, format=None, convert_only=False):
f = open(path, 'r')
config = f.read()
print_verbose('Xen domain configuration read from %s:\n %s' % (path, config))
if format is None:
format = check_config(path, config)
if format == 'sexpr':
print_verbose('scrubbing domid from configuration')
config = re.sub("\(domid [0-9]*\)", "", config)
print_verbose('scrubbed sexpr:\n %s' % config)
xml = conn.domainXMLFromNative('xen-sxpr', config, 0)
elif format == 'xm':
xml = conn.domainXMLFromNative('xen-xm', config, 0)
else:
# Return to continue on to next file (if recursive)
return
f.close()
# domUloader is no longer available in SLES12, replace with pygrub
tree = ElementTree.fromstring(xml)
bl = tree.find('.//bootloader')
if bl is not None and bl.text is not None and 'domUloader' in bl.text:
bl.text = 'pygrub'
xml = ElementTree.tostring(tree)
print_verbose('Successfully converted Xen domain configuration to '
'libvirt domXML:\n %s' % xml)
if convert_only:
print(xml)
else:
print_verbose('Importing converted libvirt domXML into libvirt...')
dom = conn.defineXML(xml.decode("utf-8"))
if dom is None:
print('Failed to define domain from converted domXML')
sys.exit(1)
print_verbose('domXML successfully imported into libvirt')
args = parser.parse_args()
path = args.path
# Connect to libvirt
conn = libvirt.open(None)
if conn is None:
print('Failed to open connection to the hypervisor')
sys.exit(1)
if args.recursive:
try:
for root, dirs, files in os.walk(path):
for name in files:
abs_name = os.path.join(root, name)
print_verbose('Processing file %s' % abs_name)
import_domain(conn, abs_name, args.format, args.convert_only)
except IOError:
print('Failed to open/read path %s' % path)
sys.exit(1)
else:
import_domain(conn, args.path, args.format, args.convert_only)

View File

@@ -0,0 +1,26 @@
Index: xen-4.20.0-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
===================================================================
--- xen-4.20.0-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
+++ xen-4.20.0-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons.in
@@ -73,7 +73,7 @@ XENSTORED_TRACE=
#XENSTORED_OOM_MEM_THRESHOLD=50
## Type: string
-## Default: @LIBEXEC@/boot/xenstore-stubdom.gz
+## Default: @LIBEXEC@/boot/xenstorepvh-stubdom.gz
#
# xenstore domain kernel.
# Only evaluated if XENSTORETYPE is "domain".
Index: xen-4.20.0-testing/tools/hotplug/Linux/launch-xenstore.in
===================================================================
--- xen-4.20.0-testing.orig/tools/hotplug/Linux/launch-xenstore.in
+++ xen-4.20.0-testing/tools/hotplug/Linux/launch-xenstore.in
@@ -93,7 +93,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/x
}
[ "$XENSTORETYPE" = "domain" ] && {
- [ -z "$XENSTORE_DOMAIN_KERNEL" ] && XENSTORE_DOMAIN_KERNEL=@LIBEXEC@/boot/xenstore-stubdom.gz
+ [ -z "$XENSTORE_DOMAIN_KERNEL" ] && XENSTORE_DOMAIN_KERNEL=@LIBEXEC@/boot/xenstorepvh-stubdom.gz
XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --kernel $XENSTORE_DOMAIN_KERNEL"
[ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=32
XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory $XENSTORE_DOMAIN_SIZE"