diff options
-rw-r--r-- | recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch | 43 | ||||
-rw-r--r-- | recipes-extended/xen/mini-os.inc | 28 | ||||
-rw-r--r-- | recipes-extended/xen/mini-os_4.9.0.bb | 18 |
3 files changed, 89 insertions, 0 deletions
diff --git a/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch b/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch new file mode 100644 index 00000000..a3745bda --- /dev/null +++ b/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From d991bdbc062248221511ecb795617c36b37e1d2e Mon Sep 17 00:00:00 2001 | ||
2 | From: Wei Liu <wei.liu2@citrix.com> | ||
3 | Date: Wed, 9 Aug 2017 13:15:48 +0100 | ||
4 | Subject: [PATCH] lib/math.c: implement __udivmoddi4 | ||
5 | |||
6 | Some code compiled by gcc 7 requires this. | ||
7 | |||
8 | Signed-off-by: Wei Liu <wei.liu2@citrix.com> | ||
9 | Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> | ||
10 | --- | ||
11 | lib/math.c | 10 ++++++++++ | ||
12 | 1 file changed, 10 insertions(+) | ||
13 | |||
14 | diff --git a/lib/math.c b/lib/math.c | ||
15 | index 561393e..b98cc1d 100644 | ||
16 | --- a/lib/math.c | ||
17 | +++ b/lib/math.c | ||
18 | @@ -6,6 +6,7 @@ | ||
19 | * File: math.c | ||
20 | * Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk) | ||
21 | * Changes: | ||
22 | + * Implement __udivmoddi4 (Wei Liu <wei.liu2@citrix.com>) | ||
23 | * | ||
24 | * Date: Aug 2003 | ||
25 | * | ||
26 | @@ -397,6 +398,15 @@ __umoddi3(u_quad_t a, u_quad_t b) | ||
27 | } | ||
28 | |||
29 | /* | ||
30 | + * Returns the quotient and places remainder in r | ||
31 | + */ | ||
32 | +u_quad_t | ||
33 | +__udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *r) | ||
34 | +{ | ||
35 | + return __qdivrem(a, b, r); | ||
36 | +} | ||
37 | + | ||
38 | +/* | ||
39 | * From | ||
40 | * moddi3.c | ||
41 | */ | ||
42 | -- | ||
43 | 2.11.0 | ||
diff --git a/recipes-extended/xen/mini-os.inc b/recipes-extended/xen/mini-os.inc new file mode 100644 index 00000000..61c27041 --- /dev/null +++ b/recipes-extended/xen/mini-os.inc | |||
@@ -0,0 +1,28 @@ | |||
1 | # Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | require stubdom.inc | ||
5 | |||
6 | # clear this out to break dependency circle | ||
7 | DEPENDS = "" | ||
8 | |||
9 | do_configure() { | ||
10 | ${MAKE} -C ${WORKDIR}/mini-os links | ||
11 | } | ||
12 | |||
13 | # Nothing to configure or compile | ||
14 | do_compile[noexec] = "1" | ||
15 | |||
16 | # needed because this directory isn't typically part of a sysroot | ||
17 | SYSROOT_DIRS += "${prefix}/mini-os" | ||
18 | RDEPENDS_${PN}-dev = "perl" | ||
19 | |||
20 | FILES_${PN}-dev = "\ | ||
21 | ${prefix} \ | ||
22 | " | ||
23 | |||
24 | do_install() { | ||
25 | install -d ${D}${prefix}/mini-os | ||
26 | cp -r -t ${D}${prefix}/mini-os ${S}/* | ||
27 | rm -rf ${D}${prefix}/mini-os/scripts | ||
28 | } | ||
diff --git a/recipes-extended/xen/mini-os_4.9.0.bb b/recipes-extended/xen/mini-os_4.9.0.bb new file mode 100644 index 00000000..298bc8df --- /dev/null +++ b/recipes-extended/xen/mini-os_4.9.0.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | # Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | DESCRIPTION = "Mini-OS is a tiny OS kernel distributed with the Xen Project" | ||
5 | HOMEPAGE = "https://wiki.xenproject.org/wiki/Mini-OS" | ||
6 | LICENSE = "GPLv2" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=8a437231894440a8f7629caa372243d0" | ||
8 | |||
9 | # git commit hash for tags: xen-RELEASE-4.9.0, xen-RELEASE-4.9.1, xen-RELEASE-4.9.2 | ||
10 | SRCREV_minios = "ca013fa9baf92f47469ba1f2e1aaa31c41d8a0bb" | ||
11 | SRC_URI = "\ | ||
12 | git://xenbits.xen.org/mini-os.git;protocol=git;nobranch=1;destsuffix=mini-os;name=minios \ | ||
13 | file://mini-os_udivmoddi4-gcc7.patch \ | ||
14 | " | ||
15 | S="${WORKDIR}/mini-os" | ||
16 | B="${S}" | ||
17 | |||
18 | require mini-os.inc | ||