summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch43
-rw-r--r--recipes-extended/xen/mini-os.inc28
-rw-r--r--recipes-extended/xen/mini-os_4.9.0.bb18
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 @@
1From d991bdbc062248221511ecb795617c36b37e1d2e Mon Sep 17 00:00:00 2001
2From: Wei Liu <wei.liu2@citrix.com>
3Date: Wed, 9 Aug 2017 13:15:48 +0100
4Subject: [PATCH] lib/math.c: implement __udivmoddi4
5
6Some code compiled by gcc 7 requires this.
7
8Signed-off-by: Wei Liu <wei.liu2@citrix.com>
9Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
10---
11 lib/math.c | 10 ++++++++++
12 1 file changed, 10 insertions(+)
13
14diff --git a/lib/math.c b/lib/math.c
15index 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--
432.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
4require stubdom.inc
5
6# clear this out to break dependency circle
7DEPENDS = ""
8
9do_configure() {
10 ${MAKE} -C ${WORKDIR}/mini-os links
11}
12
13# Nothing to configure or compile
14do_compile[noexec] = "1"
15
16# needed because this directory isn't typically part of a sysroot
17SYSROOT_DIRS += "${prefix}/mini-os"
18RDEPENDS_${PN}-dev = "perl"
19
20FILES_${PN}-dev = "\
21 ${prefix} \
22"
23
24do_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
4DESCRIPTION = "Mini-OS is a tiny OS kernel distributed with the Xen Project"
5HOMEPAGE = "https://wiki.xenproject.org/wiki/Mini-OS"
6LICENSE = "GPLv2"
7LIC_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
10SRCREV_minios = "ca013fa9baf92f47469ba1f2e1aaa31c41d8a0bb"
11SRC_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"
15S="${WORKDIR}/mini-os"
16B="${S}"
17
18require mini-os.inc