diff options
Diffstat (limited to 'recipes-jailhouse/jailhouse/jailhouse.inc')
-rw-r--r-- | recipes-jailhouse/jailhouse/jailhouse.inc | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/recipes-jailhouse/jailhouse/jailhouse.inc b/recipes-jailhouse/jailhouse/jailhouse.inc new file mode 100644 index 0000000..fb6b021 --- /dev/null +++ b/recipes-jailhouse/jailhouse/jailhouse.inc | |||
@@ -0,0 +1,71 @@ | |||
1 | SUMMARY = "Jailhouse" | ||
2 | HOMEPAGE = "https://github.com/siemens/jailhouse" | ||
3 | SECTION = "jailhouse" | ||
4 | LICENSE = "GPL-2.0 & BSD-2-Clause" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \ | ||
6 | file://tools/root-cell-config.c.tmpl;beginline=6;endline=33;md5=2825581c1666c44a17955dc574cfbfb3 \ | ||
7 | file://hypervisor/include/jailhouse/hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \ | ||
8 | file://hypervisor/include/jailhouse/cell-config.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \ | ||
9 | file://hypervisor/arch/arm/include/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \ | ||
10 | file://hypervisor/arch/x86/include/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \ | ||
11 | file://driver/jailhouse.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3" | ||
12 | |||
13 | DEPENDS = "virtual/kernel make-native python-mako-native dtc-native python-mako" | ||
14 | |||
15 | S ="${WORKDIR}/git" | ||
16 | |||
17 | require jailhouse-defs.inc | ||
18 | inherit module pythonnative bash-completion | ||
19 | |||
20 | do_configure() { | ||
21 | if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ]; | ||
22 | then | ||
23 | cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/ | ||
24 | fi | ||
25 | } | ||
26 | |||
27 | USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \ | ||
28 | -DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \ | ||
29 | -Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \ | ||
30 | -I../driver' | ||
31 | |||
32 | TOOLS_SRC_DIR = "${S}/tools" | ||
33 | TOOLS_OBJ_DIR = "${S}/tools" | ||
34 | |||
35 | do_compile() { | ||
36 | oe_runmake V=1 \ | ||
37 | ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} \ | ||
38 | KDIR=${STAGING_KERNEL_BUILDDIR} | ||
39 | |||
40 | cd ${TOOLS_SRC_DIR} | ||
41 | export JAILHOUSE_VERSION=$(cat ../VERSION) | ||
42 | oe_runmake V=1 \ | ||
43 | CFLAGS="${USER_SPACE_CFLAGS}" \ | ||
44 | src=${TOOLS_SRC_DIR} obj=${TOOLS_OBJ_DIR} \ | ||
45 | ${TOOLS_OBJ_DIR}/jailhouse-config-collect ${TOOLS_OBJ_DIR}/jailhouse | ||
46 | } | ||
47 | |||
48 | do_install() { | ||
49 | oe_runmake \ | ||
50 | ARCH=${TARGET_ARCH} \ | ||
51 | CROSS_COMPILE=${TARGET_PREFIX} \ | ||
52 | KDIR=${STAGING_KERNEL_BUILDDIR} \ | ||
53 | DESTDIR=${D} install | ||
54 | |||
55 | install -d ${D}${CELL_DIR} | ||
56 | install ${B}/configs/*.cell ${D}${CELL_DIR}/ | ||
57 | |||
58 | install -d ${D}${INMATES_DIR} | ||
59 | install ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR} | ||
60 | } | ||
61 | |||
62 | PACKAGE_BEFORE_PN = "kernel-module-jailhouse" | ||
63 | FILES_${PN} = "${base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}" | ||
64 | |||
65 | python __anonymous () { | ||
66 | # Setup DEPENDS and RDEPENDS to included cells" | ||
67 | cells = d.getVar('CELLS', True) or "" | ||
68 | for cell in cells.split(): | ||
69 | d.appendVar('DEPENDS', ' ' + cell) | ||
70 | d.appendVar('RDEPENDS_${PN}', ' ' + cell) | ||
71 | } | ||