summaryrefslogtreecommitdiffstats
path: root/recipes-extended/jailhouse/jailhouse-imx_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/jailhouse/jailhouse-imx_git.bb')
-rw-r--r--recipes-extended/jailhouse/jailhouse-imx_git.bb107
1 files changed, 107 insertions, 0 deletions
diff --git a/recipes-extended/jailhouse/jailhouse-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb
new file mode 100644
index 00000000..a51848cf
--- /dev/null
+++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb
@@ -0,0 +1,107 @@
1SUMMARY = "Jailhouse, i.MX fork"
2HOMEPAGE = "https://github.com/siemens/jailhouse"
3SECTION = "jailhouse"
4LICENSE = "GPL-2.0-only"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
7 file://tools/root-cell-config.c.tmpl;beginline=6;endline=33;md5=2825581c1666c44a17955dc574cfbfb3 \
8 file://include/jailhouse/hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
9 file://include/jailhouse/cell-config.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
10 file://include/arch/arm/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
11 file://include/arch/arm64/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
12 file://include/arch/x86/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
13 file://driver/jailhouse.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
14"
15
16PROVIDES = "jailhouse"
17RPROVIDES:${PN} += "jailhouse"
18
19SRCBRANCH = "lf-6.1.22_2.0.0"
20SRCREV = "e090abc70bb395f705f85659ad92bdafbe407628"
21
22SRC_URI = "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https;branch=${SRCBRANCH}"
23
24DEPENDS = " \
25 make-native \
26 python3-mako-native \
27 python3-mako \
28 dtc-native \
29"
30
31inherit module python3native bash-completion deploy setuptools3
32
33S = "${WORKDIR}/git"
34B = "${S}"
35
36JH_ARCH = "arm64"
37JH_DATADIR ?= "${datadir}/jailhouse"
38CELL_DIR ?= "${JH_DATADIR}/cells"
39CELLCONF_DIR ?= "${JH_DATADIR}/configs"
40INMATES_DIR ?= "${JH_DATADIR}/inmates"
41
42do_configure() {
43 if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
44 then
45 cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/${ARCH}/
46 fi
47}
48
49do_compile:prepend() {
50 unset LDFLAGS
51 oe_runmake V=1 CC="${CC}" \
52 ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} \
53 KDIR=${STAGING_KERNEL_BUILDDIR}
54}
55
56do_install:prepend() {
57 oe_runmake \
58 PYTHON=python3 \
59 V=1 \
60 LDFLAGS="" \
61 CC="${CC}" \
62 ARCH=${JH_ARCH} \
63 CROSS_COMPILE=${TARGET_PREFIX} \
64 KDIR=${STAGING_KERNEL_BUILDDIR} \
65 INSTALL_MOD_PATH=${D}${root_prefix} \
66 firmwaredir=${nonarch_base_libdir}/firmware \
67 DESTDIR=${D} install
68
69 install -d ${D}${CELL_DIR}
70 install ${B}/configs/${JH_ARCH}/*.cell ${D}${CELL_DIR}/
71
72 install -d ${D}${INMATES_DIR}/tools/${JH_ARCH}
73 install ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
74
75 install -d ${D}${JH_DATADIR}/tools
76 install ${B}/tools/jailhouse-cell-linux ${D}${JH_DATADIR}/tools
77 install ${B}/tools/jailhouse-cell-stats ${D}${JH_DATADIR}/tools
78 install ${B}/tools/jailhouse-config-collect ${D}${JH_DATADIR}/tools
79 install ${B}/tools/jailhouse-config-create ${D}${JH_DATADIR}/tools
80 install ${B}/tools/jailhouse-gcov-extract ${D}${JH_DATADIR}/tools
81 install ${B}/tools/jailhouse-hardware-check ${D}${JH_DATADIR}/tools
82 install ${B}/inmates/tools/${JH_ARCH}/linux-loader.bin ${D}${INMATES_DIR}/tools/${JH_ARCH}
83}
84
85PACKAGE_BEFORE_PN = "pyjailhouse"
86
87FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
88# Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly
89FILES:${PN}:remove = "${libdir}/*"
90FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
91
92RDEPENDS:${PN} += " \
93 python3-curses \
94 python3-datetime \
95 python3-mmap \
96"
97
98RDEPENDS:pyjailhouse = " \
99 python3-core \
100 python3-ctypes \
101 python3-fcntl \
102 python3-shell \
103"
104
105INSANE_SKIP:${PN} = "ldflags"
106
107COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx93-nxp-bsp)"