From 47f959f4b664fc3d0ca66c1bd1f32f4a33eceb55 Mon Sep 17 00:00:00 2001 From: Chunrong Guo Date: Tue, 30 Jan 2018 17:09:52 +0800 Subject: [PATCH] optee-os: add recipes *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 Signed-off-by: Otavio Salvador --- ...ow-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 00000000..17127d0b --- /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 00000000..cda3a69b --- /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)" -- 2.40.1