summaryrefslogtreecommitdiffstats
path: root/recipes-extended
diff options
context:
space:
mode:
authorMichal Orzel <michal.orzel@arm.com>2022-04-19 11:07:13 +0200
committerBruce Ashfield <bruce.ashfield@gmail.com>2022-04-20 14:09:30 -0400
commit7df9b0f1e1945f51efa77080805e4cfb8ba0174c (patch)
tree1a88a08d0f80a14827fced4e56cbb32ca3345e51 /recipes-extended
parent265518e6899726a47bb150f248a18d56dfbbffdf (diff)
downloadmeta-virtualization-7df9b0f1e1945f51efa77080805e4cfb8ba0174c.tar.gz
xen: Remove 4.14 recipes and related patches
We shall only have recipes for the last two stable releases, thus get rid of the 4.14 recipes and the corresponding patches. Signed-off-by: Michal Orzel <michal.orzel@arm.com> Reviewed-by: Christopher Clark <christopher.w.clark@gmail.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-extended')
-rw-r--r--recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch178
-rw-r--r--recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch66
-rw-r--r--recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch83
-rw-r--r--recipes-extended/xen/xen-tools_4.14.bb21
-rw-r--r--recipes-extended/xen/xen_4.14.bb19
5 files changed, 0 insertions, 367 deletions
diff --git a/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch b/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch
deleted file mode 100644
index 7b062b7b..00000000
--- a/recipes-extended/xen/files/0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch
+++ /dev/null
@@ -1,178 +0,0 @@
1From 73b13705af7c3bb8fdf11932eb68788d090a443f Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
3Date: Thu, 4 Mar 2021 16:49:00 +0100
4Subject: [PATCH] firmware: provide a stand alone set of headers
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9The current build of the firmware relies on having 32bit compatible
10headers installed in order to build some of the 32bit firmware.
11Usually this can be solved by using the -ffreestanding compiler option
12which drops the usage of the system headers in favor of a private set
13of freestanding headers provided by the compiler itself that are not
14tied to libc.
15
16However such option is broken at least in the gcc compiler provided in
17Alpine Linux, as the system include path (ie: /usr/include) takes
18precedence over the gcc private include path:
19
20#include <...> search starts here:
21 /usr/include
22 /usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/include
23
24And the headers in /usr/include are exclusively 64bit.
25
26Since -ffreestanding is currently broken on at least that distro, and
27for resilience against future compilers also having the option broken
28provide a set of stand alone 32bit headers required for the firmware
29build.
30
31Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
32Reviewed-by: Jan Beulich <jbeulich@suse.com>
33Release-Acked-by: Ian Jackson <iwj@xenproject.org>
34Applied to Xen 4.14 by: Christopher Clark <christopher.w.clark@gmail.com>
35---
36 tools/firmware/Rules.mk | 13 +++++++
37 tools/firmware/include/stdarg.h | 10 +++++
38 tools/firmware/include/stdbool.h | 9 +++++
39 tools/firmware/include/stddef.h | 10 +++++
40 tools/firmware/include/stdint.h | 39 +++++++++++++++++++
41 tools/firmware/rombios/32bit/rombios_compat.h | 4 +-
42 6 files changed, 82 insertions(+), 3 deletions(-)
43 create mode 100644 tools/firmware/include/stdarg.h
44 create mode 100644 tools/firmware/include/stdbool.h
45 create mode 100644 tools/firmware/include/stddef.h
46 create mode 100644 tools/firmware/include/stdint.h
47
48diff --git a/tools/firmware/include/stdarg.h b/tools/firmware/include/stdarg.h
49new file mode 100644
50index 0000000000..c5e3761cd2
51--- /dev/null
52+++ b/tools/firmware/include/stdarg.h
53@@ -0,0 +1,10 @@
54+#ifndef _STDARG_H_
55+#define _STDARG_H_
56+
57+typedef __builtin_va_list va_list;
58+#define va_copy(dest, src) __builtin_va_copy(dest, src)
59+#define va_start(ap, last) __builtin_va_start(ap, last)
60+#define va_end(ap) __builtin_va_end(ap)
61+#define va_arg __builtin_va_arg
62+
63+#endif
64diff --git a/tools/firmware/include/stdbool.h b/tools/firmware/include/stdbool.h
65new file mode 100644
66index 0000000000..0cf76b106c
67--- /dev/null
68+++ b/tools/firmware/include/stdbool.h
69@@ -0,0 +1,9 @@
70+#ifndef _STDBOOL_H_
71+#define _STDBOOL_H_
72+
73+#define bool _Bool
74+#define true 1
75+#define false 0
76+#define __bool_true_false_are_defined 1
77+
78+#endif
79diff --git a/tools/firmware/include/stddef.h b/tools/firmware/include/stddef.h
80new file mode 100644
81index 0000000000..c7f974608a
82--- /dev/null
83+++ b/tools/firmware/include/stddef.h
84@@ -0,0 +1,10 @@
85+#ifndef _STDDEF_H_
86+#define _STDDEF_H_
87+
88+typedef __SIZE_TYPE__ size_t;
89+
90+#define NULL ((void*)0)
91+
92+#define offsetof(t, m) __builtin_offsetof(t, m)
93+
94+#endif
95diff --git a/tools/firmware/include/stdint.h b/tools/firmware/include/stdint.h
96new file mode 100644
97index 0000000000..16a0b6de19
98--- /dev/null
99+++ b/tools/firmware/include/stdint.h
100@@ -0,0 +1,39 @@
101+#ifndef _STDINT_H_
102+#define _STDINT_H_
103+
104+#if defined(__LP64__) || defined(__P64__)
105+#error "32bit only header"
106+#endif
107+
108+typedef unsigned char uint8_t;
109+typedef signed char int8_t;
110+
111+typedef unsigned short uint16_t;
112+typedef signed short int16_t;
113+
114+typedef unsigned int uint32_t;
115+typedef signed int int32_t;
116+
117+typedef unsigned long long uint64_t;
118+typedef signed long long int64_t;
119+
120+#define INT8_MIN (-0x7f-1)
121+#define INT16_MIN (-0x7fff-1)
122+#define INT32_MIN (-0x7fffffff-1)
123+#define INT64_MIN (-0x7fffffffffffffffll-1)
124+
125+#define INT8_MAX 0x7f
126+#define INT16_MAX 0x7fff
127+#define INT32_MAX 0x7fffffff
128+#define INT64_MAX 0x7fffffffffffffffll
129+
130+#define UINT8_MAX 0xff
131+#define UINT16_MAX 0xffff
132+#define UINT32_MAX 0xffffffffu
133+#define UINT64_MAX 0xffffffffffffffffull
134+
135+typedef uint32_t uintptr_t;
136+
137+#define UINTPTR_MAX UINT32_MAX
138+
139+#endif
140diff --git a/tools/firmware/rombios/32bit/rombios_compat.h b/tools/firmware/rombios/32bit/rombios_compat.h
141index 3fe7d67721..8ba4c17ffd 100644
142--- a/tools/firmware/rombios/32bit/rombios_compat.h
143+++ b/tools/firmware/rombios/32bit/rombios_compat.h
144@@ -8,9 +8,7 @@
145
146 #define ADDR_FROM_SEG_OFF(seg, off) (void *)((((uint32_t)(seg)) << 4) + (off))
147
148-typedef unsigned char uint8_t;
149-typedef unsigned short int uint16_t;
150-typedef unsigned int uint32_t;
151+#include <stdint.h>
152
153 typedef uint8_t Bit8u;
154 typedef uint16_t Bit16u;
155diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk
156index 26bbddccd4..cb388b7011 100644
157--- a/tools/firmware/Rules.mk
158+++ b/tools/firmware/Rules.mk
159@@ -17,3 +17,16 @@ $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
160
161 # Extra CFLAGS suitable for an embedded type of environment.
162 CFLAGS += -fno-builtin -msoft-float
163+
164+# Use our own set of stand alone headers to build firmware.
165+#
166+# Ideally using -ffreestanding should be enough, but that relies on the
167+# compiler having the right order for include paths (ie: compiler private
168+# headers before system ones) or the libc headers having proper arch-agnostic
169+# freestanding support. This is not the case in Alpine at least which searches
170+# system headers before compiler ones and has arch-specific libc headers. This
171+# has been reported upstream:
172+# https://gitlab.alpinelinux.org/alpine/aports/-/issues/12477
173+# In the meantime (and for resilience against broken systems) use our own set
174+# of headers that provide what's needed for the firmware build.
175+CFLAGS += -nostdinc -I$(XEN_ROOT)/tools/firmware/include
176--
1772.25.1
178
diff --git a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch b/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch
deleted file mode 100644
index f0688fd9..00000000
--- a/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From d79dcc2002008c58683de82f06c168d6eea57991 Mon Sep 17 00:00:00 2001
2From: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
3Date: Fri, 19 Oct 2018 11:01:37 +0200
4Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args
5
6Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR)
7as well as other parameters set by the OpenEmbedded build system.
8This is especially useful when the target libdir is not the default one
9(/usr/lib), but for example /usr/lib64.
10
11Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
12
13Forward-ported to Xen 4.12.0
14Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
15
16Modified to support pygrub installation with python 3
17Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
18
19Forward-ported to Xen 4.14.0
20Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
21diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
22index 3063c49..513314b 100644
23--- a/tools/pygrub/Makefile
24+++ b/tools/pygrub/Makefile
25@@ -10,14 +10,17 @@ INSTALL_LOG = build/installed_files.txt
26 all: build
27 .PHONY: build
28 build:
29- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build
30+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS)
31
32 .PHONY: install
33 install: all
34 $(INSTALL_DIR) $(DESTDIR)/$(bindir)
35 CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \
36 setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
37- --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
38+ --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force \
39+ $(DISTUTILS_INSTALL_ARGS)
40+ rm -f $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
41+ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
42 set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
43 "`readlink -f $(DESTDIR)/$(bindir)`" != \
44 "`readlink -f $(LIBEXEC_BIN)`" ]; then \
45diff --git a/tools/python/Makefile b/tools/python/Makefile
46index 541858e..4d4a344 100644
47--- a/tools/python/Makefile
48+++ b/tools/python/Makefile
49@@ -10,7 +10,7 @@ INSTALL_LOG = build/installed_files.txt
50
51 .PHONY: build
52 build:
53- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
54+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS)
55
56 .PHONY: install
57 install:
58@@ -18,7 +18,7 @@ install:
59
60 CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) \
61 setup.py install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
62- --root="$(DESTDIR)" --force
63+ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS)
64
65 $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN)
66 $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN)
diff --git a/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch b/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch
deleted file mode 100644
index 001b196d..00000000
--- a/recipes-extended/xen/files/0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch
+++ /dev/null
@@ -1,83 +0,0 @@
1From 0eae016b6e3dce69e3fb86aca5c4f221591a2f12 Mon Sep 17 00:00:00 2001
2From: Andrew Cooper <andrew.cooper3@citrix.com>
3Date: Thu, 25 Feb 2021 19:15:08 +0000
4Subject: [PATCH] tools/firmware: Build firmware as -ffreestanding
5
6firmware should always have been -ffreestanding, as it doesn't execute in the
7host environment. -ffreestanding implies -fno-builtin, so replace the option.
8
9inttypes.h isn't a freestanding header, but the 32bitbios_support.c only wants
10the stdint.h types so switch to the more appropriate include.
11
12This removes the build time dependency on a 32bit libc just to compile the
13hvmloader and friends.
14
15Update README and the TravisCI configuration.
16
17Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
18Reviewed-by: Jan Beulich <jbeulich@suse.com>
19Reviewed-by: Ian Jackson <iwj@xenproject.org>
20Release-Acked-by: Ian Jackson <iwj@xenproject.org>
21Applied to m-v Xen 4.14 series: Christopher Clark <christopher.w.clark@gmail.com>
22---
23 .travis.yml | 1 -
24 README | 3 ---
25 tools/firmware/Rules.mk | 2 +-
26 tools/firmware/hvmloader/32bitbios_support.c | 2 +-
27 4 files changed, 2 insertions(+), 6 deletions(-)
28
29diff --git a/.travis.yml b/.travis.yml
30index 15ca9e9047..2362475f7a 100644
31--- a/.travis.yml
32+++ b/.travis.yml
33@@ -58,7 +58,6 @@ addons:
34 - acpica-tools
35 - bin86
36 - bcc
37- - libc6-dev-i386
38 - libnl-3-dev
39 - ocaml-nox
40 - libfindlib-ocaml-dev
41diff --git a/README b/README
42index 6e15242ae1..8c99c30986 100644
43--- a/README
44+++ b/README
45@@ -62,9 +62,6 @@ provided by your OS distributor:
46 * GNU bison and GNU flex
47 * GNU gettext
48 * ACPI ASL compiler (iasl)
49- * Libc multiarch package (e.g. libc6-dev-i386 / glibc-devel.i686).
50- Required when building on a 64-bit platform to build
51- 32-bit components which are enabled on a default build.
52
53 In addition to the above there are a number of optional build
54 prerequisites. Omitting these will cause the related features to be
55diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk
56index cb388b7011..9f78a7dec9 100644
57--- a/tools/firmware/Rules.mk
58+++ b/tools/firmware/Rules.mk
59@@ -16,7 +16,7 @@ CFLAGS += -Werror
60 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
61
62 # Extra CFLAGS suitable for an embedded type of environment.
63-CFLAGS += -fno-builtin -msoft-float
64+CFLAGS += -ffreestanding -msoft-float
65
66 # Use our own set of stand alone headers to build firmware.
67 #
68diff --git a/tools/firmware/hvmloader/32bitbios_support.c b/tools/firmware/hvmloader/32bitbios_support.c
69index 114135022e..ef681d4f57 100644
70--- a/tools/firmware/hvmloader/32bitbios_support.c
71+++ b/tools/firmware/hvmloader/32bitbios_support.c
72@@ -20,7 +20,7 @@
73 * this program; If not, see <http://www.gnu.org/licenses/>.
74 */
75
76-#include <inttypes.h>
77+#include <stdint.h>
78 #include <elf.h>
79 #ifdef __sun__
80 #include <sys/machelf.h>
81--
822.25.1
83
diff --git a/recipes-extended/xen/xen-tools_4.14.bb b/recipes-extended/xen/xen-tools_4.14.bb
deleted file mode 100644
index 9d78e44a..00000000
--- a/recipes-extended/xen/xen-tools_4.14.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1# 4.14.3 release SHA
2SRCREV ?= "9f2b6c5ec2ded4c1caf149743e862c5f15d6d083"
3
4XEN_REL ?= "4.14"
5XEN_BRANCH ?= "stable-${XEN_REL}"
6
7SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
9 file://0001-python-pygrub-pass-DISTUTILS-xen-4.14.patch \
10 file://0001-firmware-provide-a-stand-alone-set-of-headers-Xen-4.14.patch \
11 file://0001-tools-firmware-Build-firmware-as-ffreestanding-Xen-4.14.patch \
12 "
13
14LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
15
16PV = "${XEN_REL}+stable${SRCPV}"
17
18S = "${WORKDIR}/git"
19
20require xen.inc
21require xen-tools.inc
diff --git a/recipes-extended/xen/xen_4.14.bb b/recipes-extended/xen/xen_4.14.bb
deleted file mode 100644
index 267db16c..00000000
--- a/recipes-extended/xen/xen_4.14.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1# 4.14.3 release SHA
2SRCREV ?= "9f2b6c5ec2ded4c1caf149743e862c5f15d6d083"
3
4XEN_REL ?= "4.14"
5XEN_BRANCH ?= "stable-${XEN_REL}"
6
7SRC_URI = " \
8 git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
9 file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \
10 "
11
12LIC_FILES_CHKSUM ?= "file://COPYING;md5=419739e325a50f3d7b4501338e44a4e5"
13
14PV = "${XEN_REL}+stable${SRCPV}"
15
16S = "${WORKDIR}/git"
17
18require xen.inc
19require xen-hypervisor.inc