From ebb9474f2f2017c70750eab1cd8361e86ced467c Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 30 Jun 2020 19:12:33 +0200 Subject: Optee_os recipes modification et al. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port of three optee patches: - https://git.automotivelinux.org/AGL/meta-renesas-rcar-gen3/commit/?id=a9eb8fa93867b8012e0e2d520961221a2a3ffffa - https://git.automotivelinux.org/AGL/meta-renesas-rcar-gen3/commit/?id=88d94ef02988376c22bf493e40ba339b2572236e - https://git.automotivelinux.org/AGL/meta-renesas-rcar-gen3/commit/?id=0ba07a07e5847381c776fc07688707f1feff5a56 Bug-AGL: SPEC-3443 Change-Id: I1d49a2cf632f1f64cb66178f4899b1354b62b2a3 Signed-off-by: Jan-Simon Moeller Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24910 Reviewed-by: Stéphane Desneux --- ...ure_storage-ta-Add-a-missing-include-file.patch | 29 ++++++++++ .../recipes-bsp/optee/optee-examples_git.bb | 61 ++++++++++++++++++++++ .../recipes-bsp/optee/optee-os_git.bbappend | 7 +++ .../optee/optee-test/optee_xtest_fix.diff | 13 +++++ .../recipes-bsp/optee/optee-test_git.bb | 55 +++++++++++++++++++ .../optee/optee-user-app-template_git.bb | 57 ++++++++++++++++++++ 6 files changed, 222 insertions(+) create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb create mode 100644 meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch new file mode 100644 index 000000000..7627a0660 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch @@ -0,0 +1,29 @@ +From be7079678aeb1503e0f681d977c47c44fd7b4f8c Mon Sep 17 00:00:00 2001 +From: Pierre Marzin +Date: Mon, 19 Aug 2019 09:33:17 +0000 +Subject: [PATCH] secure_storage: ta: Add a missing include file + +The commit 9890a50d3c26b377dcb27f5db680018e15a5a3de fix a size type by +using a format macro contant 'PRIu32' into a printf. This needs the +inttypes.h header file to build correctly with aarch64-linux-gnu-gcc. + +Signed-off-by: Pierre Marzin +--- + secure_storage/ta/secure_storage_ta.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/secure_storage/ta/secure_storage_ta.c b/secure_storage/ta/secure_storage_ta.c +index 3ccc12d..cfdfbb6 100644 +--- a/secure_storage/ta/secure_storage_ta.c ++++ b/secure_storage/ta/secure_storage_ta.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + static TEE_Result delete_object(uint32_t param_types, TEE_Param params[4]) + { +-- +2.11.0 + diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb new file mode 100644 index 000000000..440fe8fdd --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb @@ -0,0 +1,61 @@ +SUMMARY = "OP-TEE examples" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30" + + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit python3native + +PV = "3.6.0+git${SRCPV}" + +SRCREV = "292da2fd8db0176e0e96989268c63ef9ab910a6c" + +SRC_URI = " \ + git://github.com/linaro-swg/optee_examples;branch=master;name=master \ + file://0001-secure_storage-ta-Add-a-missing-include-file.patch \ +" + +COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)" +PLATFORM = "rcar" + +DEPENDS = "optee-os optee-client python-pycrypto-native" + +CFLAGS += "-Wno-extra -Wno-error=format" +TARGET_CFLAGS += "-Wno-extra -Wno-error=format" + +TARGET_CC_ARCH += "${LDFLAGS}" +INSANE_SKIP_${PN} = "ldflags" + +TA_DEV_KIT_DIR = "${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64" + +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_TARGET}/usr" + +TEEC_EXPORT = "${STAGING_DIR_TARGET}/usr" + +S = "${WORKDIR}/git" +EXTRA_OEMAKE = "\ + TEEC_EXPORT=${TEEC_EXPORT} \ + OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \ + TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ + HOST_CROSS_COMPILE=${TARGET_PREFIX} \ + TA_CROSS_COMPILE=${TARGET_PREFIX} \ + PLATFORM=${PLATFORM} \ + V=1 \ + " + +do_compile() { + oe_runmake +} + +do_install () { + mkdir -p ${D}${nonarch_base_libdir}/optee_armtz + mkdir -p ${D}${bindir} + install -D -p -m0755 ${S}/out/ca/* ${D}${bindir} + install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz + mkdir -p ${D}${includedir} + cp ${S}/hello_world/ta/include/* ${D}${includedir} +} + +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend new file mode 100644 index 000000000..77eeab9f3 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend @@ -0,0 +1,7 @@ +do_install() { + install -d ${D}/usr/share/optee + cp -r ${S}/out/arm-plat-${PLATFORM}/export-ta_arm64 ${D}/usr/share/optee +} + +FILES_${PN}-staticdev += "${datadir}/optee/export-ta_arm64/lib/*.a" +FILES_${PN}-dev += "${datadir}/optee/export-ta_arm64" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff new file mode 100644 index 000000000..5067086f1 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff @@ -0,0 +1,13 @@ +diff --git a/host/xtest/regression_6000.c b/host/xtest/regression_6000.c +index 336ea14..2379e43 100644 +--- a/host/xtest/regression_6000.c ++++ b/host/xtest/regression_6000.c +@@ -82,6 +82,8 @@ static uint32_t fs_id_for_tee_storage_private(void) + return TEE_STORAGE_PRIVATE_REE; + #elif defined(CFG_RPMB_FS) + return TEE_STORAGE_PRIVATE_RPMB; ++#else ++ return TEE_STORAGE_PRIVATE; + #endif + } + diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb new file mode 100644 index 000000000..80a22b89f --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb @@ -0,0 +1,55 @@ +DESCRIPTION = "OP-TEE TEST" + +LICENSE = "GPLv2 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://${S}/host/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit python3native + +PV = "3.1.0+git${SRCPV}" + +SRCREV = "45218eb59b006ad20cc7610904f291dd85157a43" + +SRC_URI = " \ + git://github.com/OP-TEE/optee_test.git;branch=master;name=master \ + file://optee_xtest_fix.diff \ +" + +COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)" +PLATFORM = "rcar" + +DEPENDS = "optee-os optee-client python3-pycrypto-native" + +export CROSS_COMPILE64="${TARGET_PREFIX}" + +# Let the Makefile handle setting up the flags as it is a standalone application +LD[unexport] = "1" +LDFLAGS[unexport] = "1" +export CCcore="${CC}" +export LDcore="${LD}" +libdir[unexport] = "1" + +CFLAGS += "-Wno-extra -Wno-error=stringop-overflow -Wno-error=array-bounds" +TARGET_CFLAGS += "-Wno-extra -Wno-error=stringop-overflow -Wno-error=array-bounds" + +TARGET_CC_ARCH += "${LDFLAGS}" +INSANE_SKIP_${PN} = "ldflags" + +S = "${WORKDIR}/git" +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +do_compile() { + oe_runmake CROSS_COMPILE=${CROSS_COMPILE64} PLATFORM=${PLATFORM} OPTEE_CLIENT_EXPORT=${STAGING_DIR_TARGET}/usr --no-builtin-variables TA_DEV_KIT_DIR="${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64" +} + +do_install () { + install -D -p -m0755 ${S}/out/xtest/xtest ${D}${bindir}/xtest + + # install path should match the value set in optee-client/tee-supplicant + # default TEEC_LOAD_PATH is /lib + mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/ + install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ +} + +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb new file mode 100644 index 000000000..d66060b05 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb @@ -0,0 +1,57 @@ +SUMMARY = "OP-TEE user_app_template" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit python3native + +PV = "0.1+git${SRCPV}" + +SRCREV = "0.1" + +SRC_URI = " \ + git://github.com/iotbzh/optee_user_app_template;branch=master \ +" + +COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)" +PLATFORM = "rcar" + +DEPENDS = "optee-os optee-client python-pycrypto-native" + +CFLAGS += "-Wno-extra -Wno-error=format" +TARGET_CFLAGS += "-Wno-extra -Wno-error=format" + +TARGET_CC_ARCH += "${LDFLAGS}" +INSANE_SKIP_${PN} = "ldflags" + +TA_DEV_KIT_DIR = "${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64" + +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_TARGET}/usr" + +TEEC_EXPORT = "${STAGING_DIR_TARGET}/usr" + +S = "${WORKDIR}/git" +EXTRA_OEMAKE = "\ + TEEC_EXPORT=${TEEC_EXPORT} \ + OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \ + TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \ + HOST_CROSS_COMPILE=${TARGET_PREFIX} \ + TA_CROSS_COMPILE=${TARGET_PREFIX} \ + PLATFORM=${PLATFORM} \ + V=1 \ + " + +do_compile() { + oe_runmake +} + +do_install () { + mkdir -p ${D}${nonarch_base_libdir}/optee_armtz + mkdir -p ${D}${bindir} + install -D -p -m0755 ${S}/out/ca/* ${D}${bindir} + install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz +} + +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/" -- cgit 1.2.3-korg