blob: aedd01ac2c1f1c53d53d43895d907b7c0b19b5a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
SUMMARY = "Jailhouse, i.MX fork"
HOMEPAGE = "https://github.com/siemens/jailhouse"
SECTION = "jailhouse"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
file://tools/root-cell-config.c.tmpl;beginline=6;endline=33;md5=2825581c1666c44a17955dc574cfbfb3 \
file://include/jailhouse/hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
file://include/jailhouse/cell-config.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
file://include/arch/arm/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
file://include/arch/arm64/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
file://include/arch/x86/asm/jailhouse_hypercall.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
file://driver/jailhouse.h;beginline=9;endline=36;md5=2825581c1666c44a17955dc574cfbfb3 \
"
PROVIDES = "jailhouse"
RPROVIDES:${PN} += "jailhouse"
SRCBRANCH = "lf-6.6.36_2.1.0"
SRCREV = "327e56941e3e96ef9a291d2decb7add21078d8de"
IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https"
SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \
file://arm-arm64-Makefile-Remove-march-option-from-Makefile.patch \
"
DEPENDS = " \
make-native \
python3-mako-native \
python3-mako \
dtc-native \
"
inherit module bash-completion deploy setuptools3
S = "${WORKDIR}/git"
B = "${S}"
JH_ARCH = "arm64"
JH_DATADIR ?= "${datadir}/jailhouse"
CELL_DIR ?= "${JH_DATADIR}/cells"
CELLCONF_DIR ?= "${JH_DATADIR}/configs"
INMATES_DIR ?= "${JH_DATADIR}/inmates"
TUNE_CCARGS:remove:mx93-nxp-bsp = "-mcpu=cortex-a55"
EXTRA_OEMAKE += 'V=1'
EXTRA_OEMAKE += 'PYTHON=python3'
EXTRA_OEMAKE += 'LDFLAGS=""'
EXTRA_OEMAKE += 'CC="${CC}"'
EXTRA_OEMAKE += 'ARCH=${JH_ARCH}'
EXTRA_OEMAKE += 'CROSS_COMPILE=${TARGET_PREFIX}'
EXTRA_OEMAKE += 'KDIR=${STAGING_KERNEL_BUILDDIR}'
EXTRA_OEMAKE += 'MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}"'
EXTRA_OEMAKE += 'INSTALL_MOD_PATH=${D}${root_prefix}'
EXTRA_OEMAKE += 'firmwaredir=${nonarch_base_libdir}/firmware'
do_configure:prepend() {
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
then
cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/${ARCH}/
fi
}
do_compile:prepend() {
# explicity call make to build the kernel module and tools
oe_runmake
}
do_install:append() {
oe_runmake DESTDIR=${D} install
install -d ${D}${CELL_DIR}
install ${B}/configs/${JH_ARCH}/*.cell ${D}${CELL_DIR}/
install -d ${D}${INMATES_DIR}/tools/${JH_ARCH}
install ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
install -d ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-cell-linux ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-cell-stats ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-config-collect ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-config-create ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-gcov-extract ${D}${JH_DATADIR}/tools
install ${B}/tools/jailhouse-hardware-check ${D}${JH_DATADIR}/tools
install ${B}/inmates/tools/${JH_ARCH}/linux-loader.bin ${D}${INMATES_DIR}/tools/${JH_ARCH}
}
PACKAGE_BEFORE_PN = "pyjailhouse"
FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
# Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly
FILES:${PN}:remove = "${libdir}/*"
FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS:${PN} += " \
pyjailhouse \
python3-curses \
python3-datetime \
python3-mmap \
"
RDEPENDS:pyjailhouse = " \
python3-core \
python3-ctypes \
python3-fcntl \
python3-shell \
"
INSANE_SKIP:${PN} = "ldflags"
COMPATIBLE_MACHINE = "(mx8m-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
|