summaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/xen')
-rw-r--r--recipes-extended/xen/files/0001-arm-silence-gcc14-warning-error-on-irq-bounds-check.patch65
-rw-r--r--recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch73
-rw-r--r--recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch (renamed from recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch)24
-rw-r--r--recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.20.patch43
-rw-r--r--recipes-extended/xen/files/0001-xen-fix-header-guard-inconsistencies-gcc15.patch54
-rw-r--r--recipes-extended/xen/files/10-ether.network5
-rw-r--r--recipes-extended/xen/files/10-xenbr0.netdev3
-rw-r--r--recipes-extended/xen/files/10-xenbr0.network5
-rw-r--r--recipes-extended/xen/xen-hypervisor.inc2
-rw-r--r--recipes-extended/xen/xen-tools.inc35
-rw-r--r--recipes-extended/xen/xen-tools_4.17.bb19
-rw-r--r--recipes-extended/xen/xen-tools_4.19.bb (renamed from recipes-extended/xen/xen-tools_4.18.bb)10
-rw-r--r--recipes-extended/xen/xen-tools_4.20.bb20
-rw-r--r--recipes-extended/xen/xen-tools_git.bb8
-rw-r--r--recipes-extended/xen/xen.inc22
-rw-r--r--recipes-extended/xen/xen_4.19.bb (renamed from recipes-extended/xen/xen_4.18.bb)8
-rw-r--r--recipes-extended/xen/xen_4.20.bb (renamed from recipes-extended/xen/xen_4.17.bb)13
-rw-r--r--recipes-extended/xen/xen_git.bb5
18 files changed, 269 insertions, 145 deletions
diff --git a/recipes-extended/xen/files/0001-arm-silence-gcc14-warning-error-on-irq-bounds-check.patch b/recipes-extended/xen/files/0001-arm-silence-gcc14-warning-error-on-irq-bounds-check.patch
new file mode 100644
index 00000000..637d6fe5
--- /dev/null
+++ b/recipes-extended/xen/files/0001-arm-silence-gcc14-warning-error-on-irq-bounds-check.patch
@@ -0,0 +1,65 @@
1From 2258853a19b2d0b1fafd901cddf69f730c38d450 Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@gmail.com>
3Date: Fri, 31 May 2024 14:50:33 +0000
4Subject: [PATCH] arm: silence gcc14 warning (error) on irq bounds check
5
6While we wait for upstream to update to gcc14, we add a quick
7check to avoid gcc14 not being able to confirm that IRQ is
8greater than 0 and hence throws a warning, which leads to an
9error.
10
11| In function '__irq_to_desc',
12| inlined from 'route_irq_to_guest' at arch/arm/irq.c:467:12:
13| arch/arm/irq.c:65:16: error: array subscript -2 is below array bounds of 'irq_desc_t[32]' {aka 'struct irq_desc[32]'} [-Werror=array-bounds=]
14| 65 | return &this_cpu(local_irq_desc)[irq];
15| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16
17Upstream-Status: Pending [the xen folks understand the code and the right fix .. I don't]
18
19Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
20---
21 xen/arch/arm/irq.c | 19 ++++++++++++-------
22 1 file changed, 12 insertions(+), 7 deletions(-)
23
24Index: git/xen/arch/arm/irq.c
25===================================================================
26--- git.orig/xen/arch/arm/irq.c
27+++ git/xen/arch/arm/irq.c
28@@ -48,8 +48,13 @@ void irq_end_none(struct irq_desc *irq)
29 static irq_desc_t irq_desc[NR_IRQS];
30 static DEFINE_PER_CPU(irq_desc_t[NR_LOCAL_IRQS], local_irq_desc);
31
32+
33 struct irq_desc *__irq_to_desc(int irq)
34 {
35+ /* silence gcc14 warning */
36+ if ( irq < 0 )
37+ return &this_cpu(local_irq_desc)[0];
38+
39 if ( irq < NR_LOCAL_IRQS )
40 return &this_cpu(local_irq_desc)[irq];
41
42@@ -722,16 +727,16 @@ int platform_get_irq(const struct dt_dev
43
44 int platform_get_irq_byname(const struct dt_device_node *np, const char *name)
45 {
46- int index;
47+ int index;
48
49- if ( unlikely(!name) )
50- return -EINVAL;
51+ if ( unlikely(!name) )
52+ return -EINVAL;
53
54- index = dt_property_match_string(np, "interrupt-names", name);
55- if ( index < 0 )
56- return index;
57+ index = dt_property_match_string(np, "interrupt-names", name);
58+ if ( index < 0 )
59+ return index;
60
61- return platform_get_irq(np, index);
62+ return platform_get_irq(np, index);
63 }
64
65 /*
diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch
deleted file mode 100644
index 476f5ddc..00000000
--- a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1From 6db88791d923167f160afbcadeffad84a4cbdbc5 Mon Sep 17 00:00:00 2001
2Message-Id: <6db88791d923167f160afbcadeffad84a4cbdbc5.1612262706.git.bertrand.marquis@arm.com>
3From: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
4Date: Fri, 19 Oct 2018 11:01:37 +0200
5Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args
6
7Upstream-Status: Inappropriate [oe specific, python install issues]
8
9Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR)
10as well as other parameters set by the OpenEmbedded build system.
11This is especially useful when the target libdir is not the default one
12(/usr/lib), but for example /usr/lib64.
13
14Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
15
16Forward-ported to Xen 4.12.0
17Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
18
19Modified to support pygrub installation with python 3
20Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
21
22Forward-ported to Xen 4.14.0
23Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
24
25Forward-ported to Xen 4.15.0
26Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
27
28---
29 tools/pygrub/Makefile | 7 +++++--
30 tools/python/Makefile | 2 +-
31 2 files changed, 6 insertions(+), 3 deletions(-)
32
33diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
34index 37b2146214..ffb9270065 100644
35--- a/tools/pygrub/Makefile
36+++ b/tools/pygrub/Makefile
37@@ -10,7 +10,7 @@ INSTALL_LOG = build/installed_files.txt
38 all: build
39 .PHONY: build
40 build:
41- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build
42+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS)
43
44 .PHONY: install
45 install: all
46@@ -18,7 +18,10 @@ install: all
47 CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" \
48 LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py install \
49 --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
50- --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
51+ --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force \
52+ $(DISTUTILS_INSTALL_ARGS)
53+ rm -f $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
54+ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
55 set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
56 "`readlink -f $(DESTDIR)/$(bindir)`" != \
57 "`readlink -f $(LIBEXEC_BIN)`" ]; then \
58diff --git a/tools/python/Makefile b/tools/python/Makefile
59index cc76423647..5cb11ae453 100644
60--- a/tools/python/Makefile
61+++ b/tools/python/Makefile
62@@ -12,7 +12,7 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA
63 SHLIB_libxenctrl="$(SHLIB_libxenctrl)" \
64 SHLIB_libxenguest="$(SHLIB_libxenguest)" \
65 SHLIB_libxenstore="$(SHLIB_libxenstore)" \
66- $(PYTHON) setup.py
67+ $(PYTHON) setup.py $(DISTUTILS_BUILD_ARGS)
68
69 .PHONY: build
70 build:
71--
722.17.1
73
diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch
index 7ac1a399..bfd1acb4 100644
--- a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch
+++ b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch
@@ -1,10 +1,10 @@
1Upstream-Status: Pending 1Upstream-Status: Pending
2 2
3diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile 3Index: git/tools/pygrub/Makefile
4index 4963bc89c6..c1c05eb421 100644 4===================================================================
5--- a/tools/pygrub/Makefile 5--- git.orig/tools/pygrub/Makefile
6+++ b/tools/pygrub/Makefile 6+++ git/tools/pygrub/Makefile
7@@ -13,14 +13,14 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA 7@@ -13,14 +13,14 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAG
8 all: build 8 all: build
9 .PHONY: build 9 .PHONY: build
10 build: 10 build:
@@ -19,13 +19,13 @@ index 4963bc89c6..c1c05eb421 100644
19- --root="$(DESTDIR)" --force 19- --root="$(DESTDIR)" --force
20+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) 20+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS)
21 $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub 21 $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
22 set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ 22
23 "`readlink -f $(DESTDIR)/$(bindir)`" != \ 23 .PHONY: uninstall
24diff --git a/tools/python/Makefile b/tools/python/Makefile 24Index: git/tools/python/Makefile
25index 437431c48e..0a99c2067e 100644 25===================================================================
26--- a/tools/python/Makefile 26--- git.orig/tools/python/Makefile
27+++ b/tools/python/Makefile 27+++ git/tools/python/Makefile
28@@ -16,13 +16,13 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA 28@@ -16,13 +16,13 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAG
29 29
30 .PHONY: build 30 .PHONY: build
31 build: 31 build:
diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.20.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.20.patch
new file mode 100644
index 00000000..bfd1acb4
--- /dev/null
+++ b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.20.patch
@@ -0,0 +1,43 @@
1Upstream-Status: Pending
2
3Index: git/tools/pygrub/Makefile
4===================================================================
5--- git.orig/tools/pygrub/Makefile
6+++ git/tools/pygrub/Makefile
7@@ -13,14 +13,14 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAG
8 all: build
9 .PHONY: build
10 build:
11- $(setup.py) build
12+ $(setup.py) build $(DISTUTILS_BUILD_ARGS)
13
14 .PHONY: install
15 install: all
16 $(INSTALL_DIR) $(DESTDIR)/$(bindir)
17 $(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN)
18 $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
19- --root="$(DESTDIR)" --force
20+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS)
21 $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
22
23 .PHONY: uninstall
24Index: git/tools/python/Makefile
25===================================================================
26--- git.orig/tools/python/Makefile
27+++ git/tools/python/Makefile
28@@ -16,13 +16,13 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAG
29
30 .PHONY: build
31 build:
32- $(setup.py) build
33+ $(setup.py) build $(DISTUTILS_BUILD_ARGS)
34
35 .PHONY: install
36 install:
37 $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
38 $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
39- --root="$(DESTDIR)" --force
40+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS)
41 $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN)
42 $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN)
43
diff --git a/recipes-extended/xen/files/0001-xen-fix-header-guard-inconsistencies-gcc15.patch b/recipes-extended/xen/files/0001-xen-fix-header-guard-inconsistencies-gcc15.patch
new file mode 100644
index 00000000..4b2c0bdf
--- /dev/null
+++ b/recipes-extended/xen/files/0001-xen-fix-header-guard-inconsistencies-gcc15.patch
@@ -0,0 +1,54 @@
1From 70f96461462a5a0437398022aa71a2033c8c5c3a Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@gmail.com>
3Date: Thu, 15 May 2025 14:26:47 -0400
4Subject: [PATCH] xen: fix header guard inconsistencies (gcc15)
5
6Fixing the following header inconsistencies
7
8 | In file included from arch/arm/platforms/midway.c:22:
9 | ./arch/arm/include/asm/platforms/midway.h:1: error: header guard '__ASM_ARM_PLATFORMS_MIDWAY_H' followed by '#define' of a different macro [-Werror=header-guard]
10 | 1 | #ifndef __ASM_ARM_PLATFORMS_MIDWAY_H
11 | ./arch/arm/include/asm/platforms/midway.h:2: note: '__ASM_ASM_PLATFORMS_MIDWAY_H' is defined here; did you mean '__ASM_ARM_PLATFORMS_MIDWAY_H'?
12 | 2 | #define __ASM_ASM_PLATFORMS_MIDWAY_H
13 | In file included from arch/arm/platforms/omap5.c:21:
14 | ./arch/arm/include/asm/platforms/omap5.h:1: error: header guard '__ASM_ARM_PLATFORMS_OMAP5_H' followed by '#define' of a different macro [-Werror=header-guard]
15 | 1 | #ifndef __ASM_ARM_PLATFORMS_OMAP5_H
16 | ./arch/arm/include/asm/platforms/omap5.h:2: note: '__ASM_ASM_PLATFORMS_OMAP5_H' is defined here; did you mean '__ASM_ARM_PLATFORMS_OMAP5_H'?
17
18It is unclear whether this is on purpose or not, but for our limited
19set of permuations, we change them to match and no issues have been
20found.
21
22Upstream-Status: Pending [the xen folks understand the code and the right fix .. I don't]
23
24Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
25---
26 xen/arch/arm/include/asm/platforms/midway.h | 2 +-
27 xen/arch/arm/include/asm/platforms/omap5.h | 2 +-
28 2 files changed, 2 insertions(+), 2 deletions(-)
29
30diff --git a/xen/arch/arm/include/asm/platforms/midway.h b/xen/arch/arm/include/asm/platforms/midway.h
31index 099e4350f9..69143931c2 100644
32--- a/xen/arch/arm/include/asm/platforms/midway.h
33+++ b/xen/arch/arm/include/asm/platforms/midway.h
34@@ -1,5 +1,5 @@
35 #ifndef __ASM_ARM_PLATFORMS_MIDWAY_H
36-#define __ASM_ASM_PLATFORMS_MIDWAY_H
37+#define __ASM_ARM_PLATFORMS_MIDWAY_H
38
39 /* addresses of SREG registers for resetting the SoC */
40 #define MW_SREG_PWR_REQ 0xfff3cf00
41diff --git a/xen/arch/arm/include/asm/platforms/omap5.h b/xen/arch/arm/include/asm/platforms/omap5.h
42index c559c84b61..8867b4589a 100644
43--- a/xen/arch/arm/include/asm/platforms/omap5.h
44+++ b/xen/arch/arm/include/asm/platforms/omap5.h
45@@ -1,5 +1,5 @@
46 #ifndef __ASM_ARM_PLATFORMS_OMAP5_H
47-#define __ASM_ASM_PLATFORMS_OMAP5_H
48+#define __ASM_ARM_PLATFORMS_OMAP5_H
49
50 #define REALTIME_COUNTER_BASE 0x48243200
51 #define INCREMENTER_NUMERATOR_OFFSET 0x10
52--
532.39.2
54
diff --git a/recipes-extended/xen/files/10-ether.network b/recipes-extended/xen/files/10-ether.network
new file mode 100644
index 00000000..8d27ca92
--- /dev/null
+++ b/recipes-extended/xen/files/10-ether.network
@@ -0,0 +1,5 @@
1[Match]
2Type=ether
3
4[Network]
5Bridge=xenbr0
diff --git a/recipes-extended/xen/files/10-xenbr0.netdev b/recipes-extended/xen/files/10-xenbr0.netdev
new file mode 100644
index 00000000..ec45879f
--- /dev/null
+++ b/recipes-extended/xen/files/10-xenbr0.netdev
@@ -0,0 +1,3 @@
1[NetDev]
2Name=xenbr0
3Kind=bridge
diff --git a/recipes-extended/xen/files/10-xenbr0.network b/recipes-extended/xen/files/10-xenbr0.network
new file mode 100644
index 00000000..1e10c3eb
--- /dev/null
+++ b/recipes-extended/xen/files/10-xenbr0.network
@@ -0,0 +1,5 @@
1[Match]
2Name=xenbr0
3
4[Network]
5DHCP=yes
diff --git a/recipes-extended/xen/xen-hypervisor.inc b/recipes-extended/xen/xen-hypervisor.inc
index 6f3d24d0..347f98f7 100644
--- a/recipes-extended/xen/xen-hypervisor.inc
+++ b/recipes-extended/xen/xen-hypervisor.inc
@@ -114,4 +114,4 @@ KCONFIG_CONFIG_ROOTDIR = "${S}/xen"
114 114
115# Xen is setting all CC flags on its own. Make sure that they are not modified 115# Xen is setting all CC flags on its own. Make sure that they are not modified
116# for aarch64, e.g. with architecture-specific optimizations. 116# for aarch64, e.g. with architecture-specific optimizations.
117TUNE_CCARGS:aarch64="" 117TUNE_CCARGS:aarch64 = ""
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc
index 5f010a5d..a034bc4c 100644
--- a/recipes-extended/xen/xen-tools.inc
+++ b/recipes-extended/xen/xen-tools.inc
@@ -6,6 +6,20 @@ COMPATIBLE_HOST = 'i686-.*-linux|(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux
6inherit setuptools3 update-rc.d systemd deploy 6inherit setuptools3 update-rc.d systemd deploy
7require xen-blktap.inc 7require xen-blktap.inc
8 8
9SRC_URI += "file://10-ether.network \
10 file://10-xenbr0.netdev \
11 file://10-xenbr0.network"
12
13VIRT_NETWORKING_FILES = "${UNPACKDIR}/10-ether.network \
14 ${UNPACKDIR}/10-xenbr0.netdev \
15 ${UNPACKDIR}/10-xenbr0.network"
16inherit virt_networking
17
18QEMU_SYSTEM ?= "qemu-system-i386"
19# The qemu-firware package is only available if "vmsep" is in distro features
20QEMU_FIRMWARE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-firmware', '', d)}"
21QEMU_SYSTEM_RDEPENDS ?= "${QEMU_SYSTEM} ${QEMU_FIRMWARE}"
22
9RDEPENDS:${PN} = "\ 23RDEPENDS:${PN} = "\
10 bash perl xz \ 24 bash perl xz \
11 ${PN}-console \ 25 ${PN}-console \
@@ -26,6 +40,8 @@ RDEPENDS:${PN} = "\
26 ${PN}-xenstore \ 40 ${PN}-xenstore \
27 virtual-xenstored \ 41 virtual-xenstored \
28 ${PN}-xl \ 42 ${PN}-xl \
43 ${QEMU_SYSTEM_RDEPENDS} \
44 ${PN}-net-conf \
29 " 45 "
30 46
31RDEPENDS:${PN}-dev = "" 47RDEPENDS:${PN}-dev = ""
@@ -213,6 +229,7 @@ PACKAGES = " \
213 ${PN}-test \ 229 ${PN}-test \
214 ${PN}-xen-vmtrace \ 230 ${PN}-xen-vmtrace \
215 ${PN}-xen-mceinj \ 231 ${PN}-xen-mceinj \
232 ${PN}-xen-9pfsd \
216 " 233 "
217 234
218PROVIDES =+ " \ 235PROVIDES =+ " \
@@ -594,6 +611,12 @@ FILES:${PN}-xenstored = "\
594 ${localstatedir}/lib/xenstored \ 611 ${localstatedir}/lib/xenstored \
595 " 612 "
596 613
614FILES:${PN}-xen-9pfsd = "\
615 ${libdir}/xen/bin/xen-9pfsd \
616 "
617# 9pfsd is only on xen-4.19+
618ALLOW_EMPTY:${PN}-xen-9pfsd = "1"
619
597FILES:${PN}-xentrace = "\ 620FILES:${PN}-xentrace = "\
598 ${bindir}/xentrace \ 621 ${bindir}/xentrace \
599 ${bindir}/xentrace_setsize \ 622 ${bindir}/xentrace_setsize \
@@ -698,14 +721,14 @@ FILES:${PN}-test += "\
698# test-cpu-policy and test-tsx only exist in 4.16 for x86 721# test-cpu-policy and test-tsx only exist in 4.16 for x86
699ALLOW_EMPTY:${PN}-test = "1" 722ALLOW_EMPTY:${PN}-test = "1"
700 723
701FILES:${PN}-xen-mceinj +="\ 724FILES:${PN}-xen-mceinj += "\
702 ${sbindir}/xen-mceinj \ 725 ${sbindir}/xen-mceinj \
703 " 726 "
704 727
705# xen-mceinj is only built for x86 4.16, so allow empty package 728# xen-mceinj is only built for x86 4.16, so allow empty package
706ALLOW_EMPTY:${PN}-xen-mceinj = "1" 729ALLOW_EMPTY:${PN}-xen-mceinj = "1"
707 730
708FILES:${PN}-xen-vmtrace +="\ 731FILES:${PN}-xen-vmtrace += "\
709 ${sbindir}/xen-vmtrace \ 732 ${sbindir}/xen-vmtrace \
710 " 733 "
711 734
@@ -745,7 +768,7 @@ EXTRA_OECONF += " \
745 --with-systemd=${systemd_unitdir}/system \ 768 --with-systemd=${systemd_unitdir}/system \
746 --with-initddir=${INIT_D_DIR} \ 769 --with-initddir=${INIT_D_DIR} \
747 --with-sysconfig-leaf-dir=default \ 770 --with-sysconfig-leaf-dir=default \
748 --with-system-qemu=${bindir}/qemu-system-i386 \ 771 --with-system-qemu=${bindir}/${QEMU_SYSTEM} \
749 " 772 "
750 773
751do_configure() { 774do_configure() {
@@ -807,15 +830,15 @@ do_install() {
807 fi 830 fi
808 831
809 if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then 832 if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then
810 sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \ 833 sed -i 's#ExecStart=.*${QEMU_SYSTEM}\(.*\)$#ExecStart=/usr/bin/${QEMU_SYSTEM}\1#' \
811 ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service 834 ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
812 fi 835 fi
813 836
814 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 837 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
815 rm -f ${D}/${sysconfdir}/init.d/xencommons 838 rm -f ${D}/${sysconfdir}/init.d/xencommons
816 else 839 else
817 # fixup default path to qemu-system-i386 840 # fixup default path to ${QEMU_SYSTEM}
818 sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons 841 sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/${QEMU_SYSTEM}"#' ${D}/etc/init.d/xencommons
819 842
820 # remove the uncondiontally installed systemd service files 843 # remove the uncondiontally installed systemd service files
821 rm -f ${D}/${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service 844 rm -f ${D}/${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
diff --git a/recipes-extended/xen/xen-tools_4.17.bb b/recipes-extended/xen/xen-tools_4.17.bb
deleted file mode 100644
index 72deed01..00000000
--- a/recipes-extended/xen/xen-tools_4.17.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1# xen 4.17.2 release sha
2SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332"
3
4XEN_REL ?= "4.17"
5XEN_BRANCH ?= "stable-${XEN_REL}"
6
7SRC_URI = "git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
8 file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \
9 file://0001-tools-xenstore-xenstored_control.c-correctly-print-t.patch \
10 "
11
12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"
13
14PV = "${XEN_REL}+stable"
15
16S = "${WORKDIR}/git"
17
18require xen.inc
19require xen-tools.inc
diff --git a/recipes-extended/xen/xen-tools_4.18.bb b/recipes-extended/xen/xen-tools_4.19.bb
index 5dbe180a..3667e044 100644
--- a/recipes-extended/xen/xen-tools_4.18.bb
+++ b/recipes-extended/xen/xen-tools_4.19.bb
@@ -1,12 +1,12 @@
1# tag: RELEASE-4.18.0 1# tag: RELEASE-4.19.0
2SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" 2SRCREV ?= "8dd897e69119492989aaa034967f3a887f590197"
3 3
4XEN_REL ?= "4.18" 4XEN_REL ?= "4.19"
5XEN_BRANCH ?= "stable-4.18" 5XEN_BRANCH ?= "stable-4.19"
6 6
7SRC_URI = " \ 7SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
9 file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ 9 file://0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch \
10 " 10 "
11 11
12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" 12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"
diff --git a/recipes-extended/xen/xen-tools_4.20.bb b/recipes-extended/xen/xen-tools_4.20.bb
new file mode 100644
index 00000000..0f864e63
--- /dev/null
+++ b/recipes-extended/xen/xen-tools_4.20.bb
@@ -0,0 +1,20 @@
1SRCREV ?= "3ad5d648cda5add395f49fc3704b2552aae734f7"
2
3XEN_REL ?= "4.20"
4XEN_BRANCH ?= "stable-4.20"
5
6SRC_URI = " \
7 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
8 file://0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch \
9 "
10
11LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"
12
13PV = "${XEN_REL}+stable"
14
15S = "${WORKDIR}/git"
16
17DEFAULT_PREFERENCE ??= "-1"
18
19require xen.inc
20require xen-tools.inc
diff --git a/recipes-extended/xen/xen-tools_git.bb b/recipes-extended/xen/xen-tools_git.bb
index 8397178e..47d1e236 100644
--- a/recipes-extended/xen/xen-tools_git.bb
+++ b/recipes-extended/xen/xen-tools_git.bb
@@ -1,12 +1,12 @@
1# master status on 2023-05-26 1# master status March 2025
2SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406" 2SRCREV ?= "de0254b90922a8644bb2c4c1593786d45c80ea22"
3 3
4XEN_REL ?= "4.18" 4XEN_REL ?= "4.21-dev"
5XEN_BRANCH ?= "master" 5XEN_BRANCH ?= "master"
6 6
7SRC_URI = " \ 7SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
9 file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ 9 file://0001-python-pygrub-pass-DISTUTILS-xen-4.20.patch \
10 " 10 "
11 11
12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" 12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index dcd281b5..f8c1e266 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -73,20 +73,20 @@ libexecdir = "${libdir}"
73export XEN_OS = "Linux" 73export XEN_OS = "Linux"
74 74
75# this is used for the header (#!${bindir}/python) of the install python scripts 75# this is used for the header (#!${bindir}/python) of the install python scripts
76export PYTHONPATH="${bindir}/env python3" 76export PYTHONPATH = "${bindir}/env python3"
77export ac_cv_path_PYTHONPATH="${bindir}/env python3" 77export ac_cv_path_PYTHONPATH = "${bindir}/env python3"
78export DISTUTILS_BUILD_ARGS 78export DISTUTILS_BUILD_ARGS
79export DISTUTILS_INSTALL_ARGS 79export DISTUTILS_INSTALL_ARGS
80 80
81# xen and seabios require HOSTCC and HOSTCXX set to cross-compile 81# xen and seabios require HOSTCC and HOSTCXX set to cross-compile
82export HOSTCC="${BUILD_CC}" 82export HOSTCC = "${BUILD_CC}"
83export HOSTCXX="${BUILD_CXX}" 83export HOSTCXX = "${BUILD_CXX}"
84 84
85# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure 85# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
86export CROSS_COMPILE="${TARGET_PREFIX}" 86export CROSS_COMPILE = "${TARGET_PREFIX}"
87 87
88# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'" 88# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
89export LDFLAGS="" 89export LDFLAGS = ""
90 90
91# No additional C flags for the main hypervisor build 91# No additional C flags for the main hypervisor build
92EXTRA_CFLAGS_XEN_CORE ?= "" 92EXTRA_CFLAGS_XEN_CORE ?= ""
@@ -99,7 +99,7 @@ DEBUG_PREFIX_MAP:append = " \
99# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader 99# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader
100# which fails to build when "-m64" is included in flags set via the 100# which fails to build when "-m64" is included in flags set via the
101# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that. 101# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that.
102TUNE_CCARGS:x86-64="" 102TUNE_CCARGS:x86-64 = ""
103 103
104# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the 104# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the
105# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared 105# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared
@@ -110,11 +110,11 @@ TUNE_CCARGS:x86-64=""
110# It must not be compiled with SSE compiler options enabled and the Xen build 110# It must not be compiled with SSE compiler options enabled and the Xen build
111# explicitly clears CFLAGS to ensure that, so such options must not be passed 111# explicitly clears CFLAGS to ensure that, so such options must not be passed
112# in via the tool variable. hvmloader is required to run HVM-mode guest VMs. 112# in via the tool variable. hvmloader is required to run HVM-mode guest VMs.
113CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" 113CC = "${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}"
114EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}" 114EXTRA_CFLAGS_XEN_TOOLS = "${HOST_CC_ARCH} ${CFLAGS}"
115# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed 115# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed
116# in CC to ensure that configure can compile binaries for the right arch. 116# in CC to ensure that configure can compile binaries for the right arch.
117CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" 117CC:arm = "${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}"
118 118
119# There are no Xen-provided variables for C++, so append to the tool variables: 119# There are no Xen-provided variables for C++, so append to the tool variables:
120CPP:append = " ${CPPFLAGS}" 120CPP:append = " ${CPPFLAGS}"
@@ -151,7 +151,7 @@ def get_build_time_vars(d):
151 source_date_epoch = d.getVar('SOURCE_DATE_EPOCH') 151 source_date_epoch = d.getVar('SOURCE_DATE_EPOCH')
152 if source_date_epoch is not None: 152 if source_date_epoch is not None:
153 import datetime 153 import datetime
154 utc_datetime = datetime.datetime.utcfromtimestamp(float(source_date_epoch)) 154 utc_datetime = datetime.datetime.fromtimestamp(float(source_date_epoch), datetime.timezone.utc)
155 return " XEN_BUILD_DATE=" + utc_datetime.strftime("%Y-%m-%d") + \ 155 return " XEN_BUILD_DATE=" + utc_datetime.strftime("%Y-%m-%d") + \
156 " XEN_BUILD_TIME=" + utc_datetime.strftime("%H:%M:%S") 156 " XEN_BUILD_TIME=" + utc_datetime.strftime("%H:%M:%S")
157 return "" 157 return ""
diff --git a/recipes-extended/xen/xen_4.18.bb b/recipes-extended/xen/xen_4.19.bb
index 2ad7704e..3ee29ae1 100644
--- a/recipes-extended/xen/xen_4.18.bb
+++ b/recipes-extended/xen/xen_4.19.bb
@@ -1,8 +1,8 @@
1# tag: RELEASE-4.18.0 1# tag: RELEASE-4.19.0
2SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" 2SRCREV ?= "8dd897e69119492989aaa034967f3a887f590197"
3 3
4XEN_REL ?= "4.18" 4XEN_REL ?= "4.19.0"
5XEN_BRANCH ?= "stable-4.18" 5XEN_BRANCH ?= "stable-4.19"
6 6
7SRC_URI = " \ 7SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
diff --git a/recipes-extended/xen/xen_4.17.bb b/recipes-extended/xen/xen_4.20.bb
index d83fa97f..85c56296 100644
--- a/recipes-extended/xen/xen_4.17.bb
+++ b/recipes-extended/xen/xen_4.20.bb
@@ -1,12 +1,12 @@
1# xen 4.17.2 release sha 1SRCREV ?= "47d911f69eb976785fd17cae4e39de4d55b94b9e"
2SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332"
3 2
4XEN_REL ?= "4.17" 3XEN_REL ?= "4.20.0"
5XEN_BRANCH ?= "stable-${XEN_REL}" 4XEN_BRANCH ?= "stable-4.20"
6 5
7SRC_URI = " \ 6SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ 7 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
9 file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ 8 file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \
9 file://0001-xen-fix-header-guard-inconsistencies-gcc15.patch \
10 " 10 "
11 11
12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" 12LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9"
@@ -15,8 +15,7 @@ PV = "${XEN_REL}+stable"
15 15
16S = "${WORKDIR}/git" 16S = "${WORKDIR}/git"
17 17
18DEFAULT_PREFERENCE ??= "-1"
19
18require xen.inc 20require xen.inc
19require xen-hypervisor.inc 21require xen-hypervisor.inc
20
21TOOLCHAIN = "gcc"
22LDFLAGS:remove = "-fuse-ld=lld"
diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
index 79078878..18b19be7 100644
--- a/recipes-extended/xen/xen_git.bb
+++ b/recipes-extended/xen/xen_git.bb
@@ -1,7 +1,6 @@
1# master status on 2023-11-24 1SRCREV ?= "de0254b90922a8644bb2c4c1593786d45c80ea22"
2SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406"
3 2
4XEN_REL ?= "4.19" 3XEN_REL ?= "4.21-dev"
5XEN_BRANCH ?= "master" 4XEN_BRANCH ?= "master"
6 5
7SRC_URI = " \ 6SRC_URI = " \