diff options
Diffstat (limited to 'recipes-extended/xen')
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 @@ | |||
1 | From 2258853a19b2d0b1fafd901cddf69f730c38d450 Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
3 | Date: Fri, 31 May 2024 14:50:33 +0000 | ||
4 | Subject: [PATCH] arm: silence gcc14 warning (error) on irq bounds check | ||
5 | |||
6 | While we wait for upstream to update to gcc14, we add a quick | ||
7 | check to avoid gcc14 not being able to confirm that IRQ is | ||
8 | greater than 0 and hence throws a warning, which leads to an | ||
9 | error. | ||
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 | |||
17 | Upstream-Status: Pending [the xen folks understand the code and the right fix .. I don't] | ||
18 | |||
19 | Signed-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 | |||
24 | Index: 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 @@ | |||
1 | From 6db88791d923167f160afbcadeffad84a4cbdbc5 Mon Sep 17 00:00:00 2001 | ||
2 | Message-Id: <6db88791d923167f160afbcadeffad84a4cbdbc5.1612262706.git.bertrand.marquis@arm.com> | ||
3 | From: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> | ||
4 | Date: Fri, 19 Oct 2018 11:01:37 +0200 | ||
5 | Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args | ||
6 | |||
7 | Upstream-Status: Inappropriate [oe specific, python install issues] | ||
8 | |||
9 | Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR) | ||
10 | as well as other parameters set by the OpenEmbedded build system. | ||
11 | This is especially useful when the target libdir is not the default one | ||
12 | (/usr/lib), but for example /usr/lib64. | ||
13 | |||
14 | Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com> | ||
15 | |||
16 | Forward-ported to Xen 4.12.0 | ||
17 | Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> | ||
18 | |||
19 | Modified to support pygrub installation with python 3 | ||
20 | Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> | ||
21 | |||
22 | Forward-ported to Xen 4.14.0 | ||
23 | Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> | ||
24 | |||
25 | Forward-ported to Xen 4.15.0 | ||
26 | Signed-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 | |||
33 | diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile | ||
34 | index 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 \ | ||
58 | diff --git a/tools/python/Makefile b/tools/python/Makefile | ||
59 | index 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 | -- | ||
72 | 2.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 @@ | |||
1 | Upstream-Status: Pending | 1 | Upstream-Status: Pending |
2 | 2 | ||
3 | diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile | 3 | Index: git/tools/pygrub/Makefile |
4 | index 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 |
24 | diff --git a/tools/python/Makefile b/tools/python/Makefile | 24 | Index: git/tools/python/Makefile |
25 | index 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 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Index: 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 | ||
24 | Index: 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 @@ | |||
1 | From 70f96461462a5a0437398022aa71a2033c8c5c3a Mon Sep 17 00:00:00 2001 | ||
2 | From: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
3 | Date: Thu, 15 May 2025 14:26:47 -0400 | ||
4 | Subject: [PATCH] xen: fix header guard inconsistencies (gcc15) | ||
5 | |||
6 | Fixing 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 | |||
18 | It is unclear whether this is on purpose or not, but for our limited | ||
19 | set of permuations, we change them to match and no issues have been | ||
20 | found. | ||
21 | |||
22 | Upstream-Status: Pending [the xen folks understand the code and the right fix .. I don't] | ||
23 | |||
24 | Signed-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 | |||
30 | diff --git a/xen/arch/arm/include/asm/platforms/midway.h b/xen/arch/arm/include/asm/platforms/midway.h | ||
31 | index 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 | ||
41 | diff --git a/xen/arch/arm/include/asm/platforms/omap5.h b/xen/arch/arm/include/asm/platforms/omap5.h | ||
42 | index 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 | -- | ||
53 | 2.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] | ||
2 | Type=ether | ||
3 | |||
4 | [Network] | ||
5 | Bridge=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] | ||
2 | Name=xenbr0 | ||
3 | Kind=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] | ||
2 | Name=xenbr0 | ||
3 | |||
4 | [Network] | ||
5 | DHCP=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. |
117 | TUNE_CCARGS:aarch64="" | 117 | TUNE_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 | |||
6 | inherit setuptools3 update-rc.d systemd deploy | 6 | inherit setuptools3 update-rc.d systemd deploy |
7 | require xen-blktap.inc | 7 | require xen-blktap.inc |
8 | 8 | ||
9 | SRC_URI += "file://10-ether.network \ | ||
10 | file://10-xenbr0.netdev \ | ||
11 | file://10-xenbr0.network" | ||
12 | |||
13 | VIRT_NETWORKING_FILES = "${UNPACKDIR}/10-ether.network \ | ||
14 | ${UNPACKDIR}/10-xenbr0.netdev \ | ||
15 | ${UNPACKDIR}/10-xenbr0.network" | ||
16 | inherit virt_networking | ||
17 | |||
18 | QEMU_SYSTEM ?= "qemu-system-i386" | ||
19 | # The qemu-firware package is only available if "vmsep" is in distro features | ||
20 | QEMU_FIRMWARE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-firmware', '', d)}" | ||
21 | QEMU_SYSTEM_RDEPENDS ?= "${QEMU_SYSTEM} ${QEMU_FIRMWARE}" | ||
22 | |||
9 | RDEPENDS:${PN} = "\ | 23 | RDEPENDS:${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 | ||
31 | RDEPENDS:${PN}-dev = "" | 47 | RDEPENDS:${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 | ||
218 | PROVIDES =+ " \ | 235 | PROVIDES =+ " \ |
@@ -594,6 +611,12 @@ FILES:${PN}-xenstored = "\ | |||
594 | ${localstatedir}/lib/xenstored \ | 611 | ${localstatedir}/lib/xenstored \ |
595 | " | 612 | " |
596 | 613 | ||
614 | FILES:${PN}-xen-9pfsd = "\ | ||
615 | ${libdir}/xen/bin/xen-9pfsd \ | ||
616 | " | ||
617 | # 9pfsd is only on xen-4.19+ | ||
618 | ALLOW_EMPTY:${PN}-xen-9pfsd = "1" | ||
619 | |||
597 | FILES:${PN}-xentrace = "\ | 620 | FILES:${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 |
699 | ALLOW_EMPTY:${PN}-test = "1" | 722 | ALLOW_EMPTY:${PN}-test = "1" |
700 | 723 | ||
701 | FILES:${PN}-xen-mceinj +="\ | 724 | FILES:${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 |
706 | ALLOW_EMPTY:${PN}-xen-mceinj = "1" | 729 | ALLOW_EMPTY:${PN}-xen-mceinj = "1" |
707 | 730 | ||
708 | FILES:${PN}-xen-vmtrace +="\ | 731 | FILES:${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 | ||
751 | do_configure() { | 774 | do_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 | ||
2 | SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332" | ||
3 | |||
4 | XEN_REL ?= "4.17" | ||
5 | XEN_BRANCH ?= "stable-${XEN_REL}" | ||
6 | |||
7 | SRC_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 | |||
12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | ||
13 | |||
14 | PV = "${XEN_REL}+stable" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | require xen.inc | ||
19 | require 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 |
2 | SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" | 2 | SRCREV ?= "8dd897e69119492989aaa034967f3a887f590197" |
3 | 3 | ||
4 | XEN_REL ?= "4.18" | 4 | XEN_REL ?= "4.19" |
5 | XEN_BRANCH ?= "stable-4.18" | 5 | XEN_BRANCH ?= "stable-4.19" |
6 | 6 | ||
7 | SRC_URI = " \ | 7 | SRC_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 | ||
12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | 12 | LIC_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 @@ | |||
1 | SRCREV ?= "3ad5d648cda5add395f49fc3704b2552aae734f7" | ||
2 | |||
3 | XEN_REL ?= "4.20" | ||
4 | XEN_BRANCH ?= "stable-4.20" | ||
5 | |||
6 | SRC_URI = " \ | ||
7 | git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ | ||
8 | file://0001-python-pygrub-pass-DISTUTILS-xen-4.19.patch \ | ||
9 | " | ||
10 | |||
11 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | ||
12 | |||
13 | PV = "${XEN_REL}+stable" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | DEFAULT_PREFERENCE ??= "-1" | ||
18 | |||
19 | require xen.inc | ||
20 | require 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 |
2 | SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406" | 2 | SRCREV ?= "de0254b90922a8644bb2c4c1593786d45c80ea22" |
3 | 3 | ||
4 | XEN_REL ?= "4.18" | 4 | XEN_REL ?= "4.21-dev" |
5 | XEN_BRANCH ?= "master" | 5 | XEN_BRANCH ?= "master" |
6 | 6 | ||
7 | SRC_URI = " \ | 7 | SRC_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 | ||
12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | 12 | LIC_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}" | |||
73 | export XEN_OS = "Linux" | 73 | export 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 |
76 | export PYTHONPATH="${bindir}/env python3" | 76 | export PYTHONPATH = "${bindir}/env python3" |
77 | export ac_cv_path_PYTHONPATH="${bindir}/env python3" | 77 | export ac_cv_path_PYTHONPATH = "${bindir}/env python3" |
78 | export DISTUTILS_BUILD_ARGS | 78 | export DISTUTILS_BUILD_ARGS |
79 | export DISTUTILS_INSTALL_ARGS | 79 | export 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 |
82 | export HOSTCC="${BUILD_CC}" | 82 | export HOSTCC = "${BUILD_CC}" |
83 | export HOSTCXX="${BUILD_CXX}" | 83 | export 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 |
86 | export CROSS_COMPILE="${TARGET_PREFIX}" | 86 | export 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'" |
89 | export LDFLAGS="" | 89 | export LDFLAGS = "" |
90 | 90 | ||
91 | # No additional C flags for the main hypervisor build | 91 | # No additional C flags for the main hypervisor build |
92 | EXTRA_CFLAGS_XEN_CORE ?= "" | 92 | EXTRA_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. |
102 | TUNE_CCARGS:x86-64="" | 102 | TUNE_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. |
113 | CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" | 113 | CC = "${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" |
114 | EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}" | 114 | EXTRA_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. |
117 | CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" | 117 | CC: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: |
120 | CPP:append = " ${CPPFLAGS}" | 120 | CPP: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 |
2 | SRCREV ?= "4da8ca9cb9cfdb92c9dd09d5270ae16a3b2dbc89" | 2 | SRCREV ?= "8dd897e69119492989aaa034967f3a887f590197" |
3 | 3 | ||
4 | XEN_REL ?= "4.18" | 4 | XEN_REL ?= "4.19.0" |
5 | XEN_BRANCH ?= "stable-4.18" | 5 | XEN_BRANCH ?= "stable-4.19" |
6 | 6 | ||
7 | SRC_URI = " \ | 7 | SRC_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 | 1 | SRCREV ?= "47d911f69eb976785fd17cae4e39de4d55b94b9e" |
2 | SRCREV ?= "0ebd2e49bcd0f566ba6b9158555942aab8e41332" | ||
3 | 2 | ||
4 | XEN_REL ?= "4.17" | 3 | XEN_REL ?= "4.20.0" |
5 | XEN_BRANCH ?= "stable-${XEN_REL}" | 4 | XEN_BRANCH ?= "stable-4.20" |
6 | 5 | ||
7 | SRC_URI = " \ | 6 | SRC_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 | ||
12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" | 12 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" |
@@ -15,8 +15,7 @@ PV = "${XEN_REL}+stable" | |||
15 | 15 | ||
16 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
17 | 17 | ||
18 | DEFAULT_PREFERENCE ??= "-1" | ||
19 | |||
18 | require xen.inc | 20 | require xen.inc |
19 | require xen-hypervisor.inc | 21 | require xen-hypervisor.inc |
20 | |||
21 | TOOLCHAIN = "gcc" | ||
22 | LDFLAGS: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 | 1 | SRCREV ?= "de0254b90922a8644bb2c4c1593786d45c80ea22" |
2 | SRCREV ?= "03cf7ca23e0e876075954c558485b267b7d02406" | ||
3 | 2 | ||
4 | XEN_REL ?= "4.19" | 3 | XEN_REL ?= "4.21-dev" |
5 | XEN_BRANCH ?= "master" | 4 | XEN_BRANCH ?= "master" |
6 | 5 | ||
7 | SRC_URI = " \ | 6 | SRC_URI = " \ |