diff options
author | Ola Redell <ola.redell@retotech.se> | 2017-11-15 12:09:24 +0100 |
---|---|---|
committer | Ola Redell <ola.redell@retotech.se> | 2017-11-15 12:09:24 +0100 |
commit | fb406f44f32d4b06d6a1597043c60cf3553d3808 (patch) | |
tree | 49efe7fc5cd009b7cf98d0efb31d0d9a2dd7b5a5 | |
parent | 61f96061fe8d78e09b2de48a09c5a0c31b4c66bf (diff) | |
download | meta-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.bbclass | 2 | ||||
-rw-r--r-- | recipes-jailhouse/jailhouse/jailhouse-defs.inc | 25 | ||||
-rw-r--r-- | recipes-jailhouse/jailhouse/jailhouse.inc | 9 |
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 @@ | |||
1 | require recipes-jailhouse/jailhouse/jailhouse-dirs.inc | 1 | require recipes-jailhouse/jailhouse/jailhouse-defs.inc |
2 | 2 | ||
3 | INMATE ?= "" | 3 | INMATE ?= "" |
4 | CELLCONFIG ?= "" | 4 | CELLCONFIG ?= "" |
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 @@ | |||
1 | JH_DATADIR ?= "${datadir}/jailhouse" | ||
2 | CELL_DIR ?= "${JH_DATADIR}/cells" | ||
3 | CELLCONF_DIR ?= "${JH_DATADIR}/configs" | ||
4 | INMATES_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 | # | ||
10 | valid_jh_archs = "x86 arm" | ||
11 | |||
12 | def 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 | |||
25 | export 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 | ||
15 | S ="${WORKDIR}/git" | 15 | S ="${WORKDIR}/git" |
16 | 16 | ||
17 | require jailhouse-dirs.inc | 17 | require jailhouse-defs.inc |
18 | inherit module pythonnative bash-completion | 18 | inherit module pythonnative bash-completion |
19 | 19 | ||
20 | do_configure() { | 20 | do_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 | ||
24 | USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \ | 27 | USER_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 | ||
59 | PACKAGE_BEFORE_PN = "kernel-module-jailhouse" | 62 | PACKAGE_BEFORE_PN = "kernel-module-jailhouse" |