diff options
Diffstat (limited to 'recipes-extended/jailhouse/jailhouse-imx_git.bb')
-rw-r--r-- | recipes-extended/jailhouse/jailhouse-imx_git.bb | 107 |
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 @@ | |||
1 | SUMMARY = "Jailhouse, i.MX fork" | ||
2 | HOMEPAGE = "https://github.com/siemens/jailhouse" | ||
3 | SECTION = "jailhouse" | ||
4 | LICENSE = "GPL-2.0-only" | ||
5 | |||
6 | LIC_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 | |||
16 | PROVIDES = "jailhouse" | ||
17 | RPROVIDES:${PN} += "jailhouse" | ||
18 | |||
19 | SRCBRANCH = "lf-6.1.22_2.0.0" | ||
20 | SRCREV = "e090abc70bb395f705f85659ad92bdafbe407628" | ||
21 | |||
22 | SRC_URI = "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https;branch=${SRCBRANCH}" | ||
23 | |||
24 | DEPENDS = " \ | ||
25 | make-native \ | ||
26 | python3-mako-native \ | ||
27 | python3-mako \ | ||
28 | dtc-native \ | ||
29 | " | ||
30 | |||
31 | inherit module python3native bash-completion deploy setuptools3 | ||
32 | |||
33 | S = "${WORKDIR}/git" | ||
34 | B = "${S}" | ||
35 | |||
36 | JH_ARCH = "arm64" | ||
37 | JH_DATADIR ?= "${datadir}/jailhouse" | ||
38 | CELL_DIR ?= "${JH_DATADIR}/cells" | ||
39 | CELLCONF_DIR ?= "${JH_DATADIR}/configs" | ||
40 | INMATES_DIR ?= "${JH_DATADIR}/inmates" | ||
41 | |||
42 | do_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 | |||
49 | do_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 | |||
56 | do_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 | |||
85 | PACKAGE_BEFORE_PN = "pyjailhouse" | ||
86 | |||
87 | FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}" | ||
88 | # Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly | ||
89 | FILES:${PN}:remove = "${libdir}/*" | ||
90 | FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}" | ||
91 | |||
92 | RDEPENDS:${PN} += " \ | ||
93 | python3-curses \ | ||
94 | python3-datetime \ | ||
95 | python3-mmap \ | ||
96 | " | ||
97 | |||
98 | RDEPENDS:pyjailhouse = " \ | ||
99 | python3-core \ | ||
100 | python3-ctypes \ | ||
101 | python3-fcntl \ | ||
102 | python3-shell \ | ||
103 | " | ||
104 | |||
105 | INSANE_SKIP:${PN} = "ldflags" | ||
106 | |||
107 | COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx93-nxp-bsp)" | ||