[meta-freescale] [PATCH v2 02/13] optee-os: add recipes

Chunrong Guo B40290 at freescale.com
Tue Jan 30 01:09:52 PST 2018


From: Chunrong Guo <chunrong.guo at nxp.com>

*include the following changes:
ced7d32 - Merge pull request #2 in DASH/optee_os from ~NXA18717/dash_optee_os:master to master
b48ba24 - plat-ls: Add support for armv8 platform flavour
789e38a - core: arm: psci: pass nsec ctx to system_suspend
a7337d8 - core: fix allocated object on object creation failure in svc storage
639e5b8 - pta: change DMSG to FMSG for invoke in pta/SDP
bc0d271 - make clean: split file list into manageable chunks
8c6a8af - Fix comment in tee_ree_fs.c
6d57389 - Update CHANGELOG.md for 2.6.0
e4a1f58 - entry_std.c: Initialize num_params to fix gcc warning
b644907 - thread.c: free rpc arg mobj during cache disabling
a3bb288 - Update minor revision to 6 for release tag 2.6.0-rc1
b45ff69 - hikey, hikey960: enable dynamic shared memory
9a85cc0 - core: add v2p/p2v tests in embedded tests
3883028 - core:mmu: privileged land pa2va is not supported in dynamic SHM
0d86665 - core:debug: add verbosity when pa/va do not match
42d91b4 - core:mmu: fix userland pa2va conversion
bbed97b - core:mmu: fix userland va2pa conversion
def98e2 - core:unwind: check user context on stack print of panicked TAs
f98151a - core: map PTA registered shared memory late
430dcbd - core: reimplement mobj_mapped_shm_alloc()
071e702 - core: add mobj_reg_shm_{,un}map()
5c7a19b - core: mobj: remove double physical offset
a71af55 - core: mobj: add mobj_get_phys_offs()
8ae8c73 - Add Marvell platform with initial support for ARMADA A7K & A8K
ade1412 - Util: add ASM version ROUNDDOWN and ROUNDUP definitions
a5ebede - Util: add some useful SIZE definitions
ae9fdf9 - plat-stm: support registered shm buffers
ae19421 - core:sdp: fix SDP test pseudo-TA against dynamic shm
c5d84b7 - plat-rcar: add non-secure DDR configuration
d7269cc - plat-rcar: add initial support for salvator-m3 board
b369a93 - plat-rcar: force CFG_CORE_LARGE_PHYS_ADDR
ae841ed - pager: allow TA unwind when cause of unwind is not abort
785be2e - plat-vexpress: juno: add missing DRAM1
7411e0e - Add comment about CFG_UNWIND
3ff067c - plat-vexpress: fvp: add missing DRAM1
cbe4eae - core: add register_phys_mem_ul()
29ba2e7 - core: trivial large paddr_t fixes
dd3afba - Add CFG_CORE_LARGE_PHYS_ADDR for 64bit paddr_t

Signed-off-by: Chunrong Guo <chunrong.guo at nxp.com>
---
 ...1-allow-setting-sysroot-for-libgcc-lookup.patch | 13 +++++
 recipes-security/optee/optee-os_git.bb             | 67 ++++++++++++++++++++++
 2 files changed, 80 insertions(+)
 create mode 100644 recipes-security/optee/optee-os/0001-allow-setting-sysroot-for-libgcc-lookup.patch
 create mode 100644 recipes-security/optee/optee-os_git.bb

diff --git a/recipes-security/optee/optee-os/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/recipes-security/optee/optee-os/0001-allow-setting-sysroot-for-libgcc-lookup.patch
new file mode 100644
index 0000000..17127d0
--- /dev/null
+++ b/recipes-security/optee/optee-os/0001-allow-setting-sysroot-for-libgcc-lookup.patch
@@ -0,0 +1,13 @@
+diff --git a/mk/gcc.mk b/mk/gcc.mk
+index fc38c4d..77b8d74 100644
+--- a/mk/gcc.mk
++++ b/mk/gcc.mk
+@@ -12,7 +12,7 @@ nostdinc$(sm)	:= -nostdinc -isystem $(shell $(CC$(sm)) \
+ 			-print-file-name=include 2> /dev/null)
+ 
+ # Get location of libgcc from gcc
+-libgcc$(sm)  	:= $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \
++libgcc$(sm)  	:= $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \
+ 			-print-libgcc-file-name 2> /dev/null)
+ 
+ # Define these to something to discover accidental use
diff --git a/recipes-security/optee/optee-os_git.bb b/recipes-security/optee/optee-os_git.bb
new file mode 100644
index 0000000..cda3a69
--- /dev/null
+++ b/recipes-security/optee/optee-os_git.bb
@@ -0,0 +1,67 @@
+SUMMARY = "OP-TEE Trusted OS"
+DESCRIPTION = "OPTEE OS"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+
+DEPENDS = "python-pycrypto-native"
+
+inherit deploy pythonnative
+
+SRCREV = "ced7d32072c2b350c2090803f6dcfa006057efda"
+SRC_URI = "git://github.com/qoriq-open-source/optee_os.git;nobranch=1 \
+           file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+OPTEEMACHINE ?= "${MACHINE}"
+
+EXTRA_OEMAKE = "PLATFORM=ls-${OPTEEMACHINE} CFG_ARM64_core=y \
+                CROSS_COMPILE_core=${HOST_PREFIX} \
+                CROSS_COMPILE_ta_arm64=${HOST_PREFIX} \
+                NOWERROR=1 \
+                ta-targets=ta_arm64 \
+                LDFLAGS= \
+                LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+        "
+
+OPTEE_ARCH_armv7a = "arm32"
+OPTEE_ARCH_aarch64 = "arm64"
+
+do_compile() {
+    unset LDFLAGS
+    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
+}
+
+do_install() {
+    #install core on boot directory
+    install -d ${D}/lib/firmware/
+
+    install -m 644 ${B}/out/arm-plat-ls/core/tee.elf ${D}/lib/firmware/tee_${MACHINE}.bin
+    #install TA devkit
+    install -d ${D}/usr/include/optee/export-user_ta/
+
+    for f in  ${B}/out/arm-plat-ls/export-ta_${OPTEE_ARCH}/* ; do
+        cp -aR  $f  ${D}/usr/include/optee/export-user_ta/
+    done
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_deploy() {
+        install -d ${DEPLOYDIR}/optee
+        for f in ${D}/lib/firmware/*; do
+            install -m 644 $f ${DEPLOYDIR}/optee/tee_${MACHINE}.bin
+        done
+}
+
+addtask deploy before do_build after do_install
+
+FILES_${PN} = "/lib/firmware/"
+FILES_${PN}-dev = "/usr/include/optee"
+
+INSANE_SKIP_${PN}-dev = "staticdev"
+
+INHIBIT_PACKAGE_STRIP = "1"
+COMPATIBLE_MACHINE = "(ls1043ardb|ls1046ardb|ls1012ardb)"
-- 
1.9.0



More information about the meta-freescale mailing list