meta-agl-test: Bump SRCREV
[AGL/meta-agl-devel.git] / meta-agl-jailhouse / recipes-extended / jailhouse / jailhouse_git.bb
1 SUMMARY = "Linux-based partitioning hypervisor"
2 DESCRIPTION = "Jailhouse is a partitioning Hypervisor based on Linux. It is able to run bare-metal applications or (adapted) \
3 operating systems besides Linux. For this purpose, it configures CPU and device virtualization features of the hardware \
4 platform in a way that none of these domains, called 'cells' here, can interfere with each other in an unacceptable way."
5 HOMEPAGE = "https://github.com/siemens/jailhouse"
6 SECTION = "jailhouse"
7 LICENSE = "GPL-2.0-only & BSD-2-Clause"
8
9 LIC_FILES_CHKSUM = " \
10     file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \
11 "
12
13 SRCREV = "630001202caec85370fb4f956e581f51109e490c"
14 PV = "0.12+git${SRCPV}"
15
16 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
17
18 SRC_URI = "git://github.com/siemens/jailhouse;branch=master;protocol=https \
19            file://qemu-agl.c \
20            file://agl-apic-demo.c \
21            file://agl-pci-demo.c \
22            file://agl-ivshmem-demo.c \
23            file://agl-linux-x86-demo.c \
24            "
25
26 DEPENDS = "virtual/kernel dtc-native python3-mako-native make-native"
27
28 require jailhouse-arch.inc
29 inherit module python3native bash-completion setuptools3
30
31 S = "${WORKDIR}/git"
32 B = "${S}"
33
34 JH_DATADIR ?= "${datadir}/jailhouse"
35 JH_EXEC_DIR ?= "${libexecdir}/jailhouse"
36 CELL_DIR ?= "${JH_DATADIR}/cells"
37 INMATES_DIR ?= "${JH_DATADIR}/inmates"
38 DTS_DIR ?= "${JH_DATADIR}/cells/dts"
39
40 JH_CELL_FILES ?= "*.cell"
41
42 EXTRA_OEMAKE = "ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} -mfpmath=387" KDIR=${STAGING_KERNEL_BUILDDIR}"
43
44 do_configure() {
45                 
46         # copy ${WORKDIR}/<cell_config>.c ${S}/configs/x86/ <--- folder where the cells are defined in the source tree to be compiled
47         #cp ${WORKDIR}/qemu-agl.c ${S}/configs/${JH_ARCH}
48         cp ${WORKDIR}/agl-apic-demo.c ${S}/configs/x86/
49         # cp ${WORKDIR}/agl-pci-demo.c ${S}/configs/x86/
50         cp ${WORKDIR}/agl-linux-x86-demo.c ${S}/configs/x86/
51         cp ${WORKDIR}/agl-ivshmem-demo.c ${S}/configs/x86/
52         cp ${WORKDIR}/qemu-agl.c ${S}/configs/x86/
53
54         sed -i '1s|^#!/usr/bin/env python$|#!/usr/bin/env python3|' ${B}/tools/${BPN}-*
55 }
56
57 do_compile() {
58         oe_runmake V=1
59 }
60
61 do_install() {
62         # Install pyjailhouse python modules needed by the tools
63         distutils3_do_install
64
65         # We want to install the python tools, but we do not want to use pip...
66         # At least with v0.10, we can work around this with
67         # 'PIP=":" PYTHON_PIP_USEABLE=yes'
68         oe_runmake PIP=: PYTHON=python3 PYTHON_PIP_USEABLE=yes DESTDIR=${D} install
69
70         install -d ${D}${CELL_DIR}
71
72         
73         install -m 0644 ${B}/configs/${JH_ARCH}/${JH_CELL_FILES} ${D}${CELL_DIR}/
74
75         install -d ${D}${INMATES_DIR}
76         install -m 0644 ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR}
77         if [ ${JH_ARCH}  != "x86" ]; then
78                 install -d ${D}${DTS_DIR}
79                 install -m 0644 ${B}/configs/${JH_ARCH}/dts/*.dtb ${D}${DTS_DIR}
80         fi
81 }
82
83 PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse ${PN}-tools ${PN}-demos"
84 FILES:${PN} = "${base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}"
85 FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}"
86 FILES:${PN}-tools = "${libexecdir}/${BPN}/${BPN}-* ${JH_DATADIR}/*.tmpl"
87 FILES:${PN}-demos = "${JH_DATADIR}/ ${sbindir}/ivshmem-demo"
88
89 # Default Linker Hash Style Changed to "sysv"
90 TARGET_CC_ARCH += "${LDFLAGS}"
91
92 RDEPENDS:${PN}-tools = "pyjailhouse python3-mmap python3-math python3-datetime python3-curses python3-compression python3-mako"
93 RDEPENDS:pyjailhouse = "python3-core python3-ctypes python3-fcntl"
94 RDEPENDS:${PN}-demos = "jailhouse"
95
96 RRECOMMENDS:${PN} = "${PN}-tools"
97
98 KERNEL_MODULE_AUTOLOAD += "jailhouse"