summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Redell <ola.redell@retotech.se>2017-11-15 12:09:24 +0100
committerOla Redell <ola.redell@retotech.se>2017-11-15 12:09:24 +0100
commitfb406f44f32d4b06d6a1597043c60cf3553d3808 (patch)
tree49efe7fc5cd009b7cf98d0efb31d0d9a2dd7b5a5
parent61f96061fe8d78e09b2de48a09c5a0c31b4c66bf (diff)
downloadmeta-jailhouse-fb406f44f32d4b06d6a1597043c60cf3553d3808.tar.gz
added support for build of x86 targets
included definition of jailhouse architecture in JH_ARCH
-rw-r--r--classes/jailhouse-cell.bbclass2
-rw-r--r--recipes-jailhouse/jailhouse/jailhouse-defs.inc25
-rw-r--r--recipes-jailhouse/jailhouse/jailhouse.inc9
3 files changed, 32 insertions, 4 deletions
diff --git a/classes/jailhouse-cell.bbclass b/classes/jailhouse-cell.bbclass
index f1cd6a0..ab7b9ce 100644
--- a/classes/jailhouse-cell.bbclass
+++ b/classes/jailhouse-cell.bbclass
@@ -1,4 +1,4 @@
1require recipes-jailhouse/jailhouse/jailhouse-dirs.inc 1require recipes-jailhouse/jailhouse/jailhouse-defs.inc
2 2
3INMATE ?= "" 3INMATE ?= ""
4CELLCONFIG ?= "" 4CELLCONFIG ?= ""
diff --git a/recipes-jailhouse/jailhouse/jailhouse-defs.inc b/recipes-jailhouse/jailhouse/jailhouse-defs.inc
new file mode 100644
index 0000000..8dd30e3
--- /dev/null
+++ b/recipes-jailhouse/jailhouse/jailhouse-defs.inc
@@ -0,0 +1,25 @@
1JH_DATADIR ?= "${datadir}/jailhouse"
2CELL_DIR ?= "${JH_DATADIR}/cells"
3CELLCONF_DIR ?= "${JH_DATADIR}/configs"
4INMATES_DIR ?= "${JH_DATADIR}/inmates"
5
6# Set jailhouse architecture JH_ARCH variable
7#
8# return value must match one of architectures supported by jailhouse
9#
10valid_jh_archs = "x86 arm"
11
12def map_jh_arch(a, d):
13 import re
14
15 valid_jh_archs = d.getVar('valid_jh_archs', True).split()
16
17 if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
18 elif re.match('armeb$', a): return 'arm'
19 elif re.match('aarch64$', a): return 'arm64'
20 elif re.match('aarch64_be$', a): return 'arm64'
21 elif a in valid_jh_archs: return a
22 else:
23 bb.error("cannot map '%s' to a jailhouse supported architecture" % a)
24
25export JH_ARCH = "${@map_jh_arch(d.getVar('TARGET_ARCH', True), d)}"
diff --git a/recipes-jailhouse/jailhouse/jailhouse.inc b/recipes-jailhouse/jailhouse/jailhouse.inc
index 3965fd1..fb6b021 100644
--- a/recipes-jailhouse/jailhouse/jailhouse.inc
+++ b/recipes-jailhouse/jailhouse/jailhouse.inc
@@ -14,11 +14,14 @@ DEPENDS = "virtual/kernel make-native python-mako-native dtc-native python-mako"
14 14
15S ="${WORKDIR}/git" 15S ="${WORKDIR}/git"
16 16
17require jailhouse-dirs.inc 17require jailhouse-defs.inc
18inherit module pythonnative bash-completion 18inherit module pythonnative bash-completion
19 19
20do_configure() { 20do_configure() {
21 cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/ 21 if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
22 then
23 cp "${STAGING_DIR_HOST}/${CELLCONF_DIR}/"*.c ${S}/configs/
24 fi
22} 25}
23 26
24USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \ 27USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \
@@ -53,7 +56,7 @@ do_install() {
53 install ${B}/configs/*.cell ${D}${CELL_DIR}/ 56 install ${B}/configs/*.cell ${D}${CELL_DIR}/
54 57
55 install -d ${D}${INMATES_DIR} 58 install -d ${D}${INMATES_DIR}
56 install ${B}/inmates/demos/${TARGET_ARCH}/*.bin ${D}${INMATES_DIR} 59 install ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
57} 60}
58 61
59PACKAGE_BEFORE_PN = "kernel-module-jailhouse" 62PACKAGE_BEFORE_PN = "kernel-module-jailhouse"