All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/6] optee: upgraded recipes to 3.10
@ 2020-10-14 11:33 Brett Warren
  2020-10-14 15:31 ` [meta-arm] " Ricardo Salveti
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Brett Warren @ 2020-10-14 11:33 UTC (permalink / raw)
  To: meta-arm

[-- Attachment #1: Type: text/plain, Size: 14535 bytes --]

The optee recipes were upgraded due to issues booting with 3.8
on qemuarm64-secureboot, which were resolved by the upgrade.
The 3.8 recipes are retained for backwards compatibility.

optee-test and optee-examples were modified to pass a sysroot
to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
of the libgcc library.

Recipes have been renamed to reflect their current version.
As this makes the PV variables redundent, these have been removed.

Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
Signed-off-by: Brett Warren <brett.warren@arm.com>
---
.../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
.../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
.../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
.../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
.../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
8 files changed, 251 insertions(+), 8 deletions(-)
create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)

diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
new file mode 100644
index 0000000..cbd3b93
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
@@ -0,0 +1,59 @@
+SUMMARY = "OP-TEE Client API"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+
+require optee.inc
+
+inherit python3native systemd update-rc.d
+
+SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
+SRC_URI = " \
+    git://github.com/OP-TEE/optee_client.git \
+    file://tee-supplicant.service \
+    file://tee-supplicant.sh \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+EXTRA_OEMAKE = "O=${B}"
+
+do_compile() {
+    cd ${S}
+    oe_runmake
+}
+do_compile[cleandirs] = "${B}"
+
+do_install() {
+    cd ${S}
+    oe_runmake install
+
+    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
+
+    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
+    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
+    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
+
+    install -d ${D}${includedir}
+    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
+
+    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
+
+    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
+
+    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
+           -e s:@sbindir@:${sbindir}:g \
+              ${D}${systemd_system_unitdir}/tee-supplicant.service \
+              ${D}${sysconfdir}/init.d/tee-supplicant
+}
+
+SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
+
+INITSCRIPT_PACKAGES = "${PN}"
+
+INITSCRIPT_NAME_${PN} = "tee-supplicant"
+INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
+
diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
similarity index 98%
rename from meta-arm/recipes-security/optee/optee-client_git.bb
rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
index 5dbbfe9..d43ebf4 100644
--- a/meta-arm/recipes-security/optee/optee-client_git.bb
+++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
@@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"

-PV = "3.8.0+git${SRCPV}"
-
require optee.inc

inherit python3native systemd update-rc.d
diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
new file mode 100644
index 0000000..4a7db10
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "OP-TEE examples"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
+HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
+
+DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
+
+inherit python3native
+
+require optee.inc
+
+SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
+           file://0001-make-Pass-ldflags-during-link.patch \
+           "
+SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
+
+EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+                 TEEC_EXPORT=${TEEC_EXPORT} \
+                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
+                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+                 V=1 \
+                 OUTPUT_DIR=${B} \
+               "
+
+do_compile() {
+    cd ${S}
+    oe_runmake
+}
+do_compile[cleandirs] = "${B}"
+
+do_install () {
+    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
+    mkdir -p ${D}${bindir}
+    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
+    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
+
+# Imports machine specific configs from staging to build
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
similarity index 95%
rename from meta-arm/recipes-security/optee/optee-examples_git.bb
rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
index 71be593..7ed3dfa 100644
--- a/meta-arm/recipes-security/optee/optee-examples_git.bb
+++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
@@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"

-PV = "3.8.0+git${SRCPV}"
-
DEPENDS = "optee-client optee-os python3-pycryptodomex-native"

inherit python3native
@@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
TEEC_EXPORT=${TEEC_EXPORT} \
HOST_CROSS_COMPILE=${TARGET_PREFIX} \
TA_CROSS_COMPILE=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
V=1 \
OUTPUT_DIR=${B} \
"
diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
new file mode 100644
index 0000000..369e011
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
@@ -0,0 +1,83 @@
+SUMMARY = "OP-TEE Trusted OS"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
+
+inherit deploy python3native
+require optee.inc
+
+DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
+
+SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
+SRC_URI = " \
+    git://github.com/OP-TEE/optee_os.git \
+    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEEMACHINE ?= "${MACHINE}"
+OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
+OPTEE_ARCH = "null"
+OPTEE_ARCH_armv7a = "arm32"
+OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
+
+EXTRA_OEMAKE = " \
+    PLATFORM=${OPTEEMACHINE} \
+    CFG_${OPTEE_CORE}_core=y \
+    CROSS_COMPILE_core=${HOST_PREFIX} \
+    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
+    NOWERROR=1 \
+    V=1 \
+    ta-targets=ta_${OPTEE_ARCH} \
+    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+    O=${B} \
+"
+
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+CPPFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+    cd ${S}
+    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
+}
+do_compile[cleandirs] = "${B}"
+
+do_install() {
+    #install core in firmware
+    install -d ${D}${nonarch_base_libdir}/firmware/
+    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
+
+    #install TA devkit
+    install -d ${D}${includedir}/optee/export-user_ta/
+    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
+        cp -aR $f ${D}${includedir}/optee/export-user_ta/
+    done
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_deploy() {
+    install -d ${DEPLOYDIR}/optee
+    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
+}
+
+addtask deploy before do_build after do_install
+
+SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
+
+FILES_${PN} = "${nonarch_base_libdir}/firmware/"
+FILES_${PN}-dev = "${includedir}/optee/"
+
+INSANE_SKIP_${PN}-dev = "staticdev"
+
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
similarity index 98%
rename from meta-arm/recipes-security/optee/optee-os_git.bb
rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
index deeb515..0001271 100644
--- a/meta-arm/recipes-security/optee/optee-os_git.bb
+++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
@@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"

-PV = "3.8.0+git${SRCPV}"
-
inherit deploy python3native
require optee.inc

diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
new file mode 100644
index 0000000..96e612a
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "OP-TEE sanity testsuite"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD & GPLv2"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
+
+inherit python3native
+require optee.inc
+
+DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
+
+SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
+SRC_URI = "git://github.com/OP-TEE/optee_test.git \
+           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
+          "
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
+TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
+
+EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+                 TEEC_EXPORT=${TEEC_EXPORT} \
+                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
+                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+                 V=1 \
+                 O=${B} \
+               "
+
+do_compile() {
+    cd ${S}
+    # Top level makefile doesn't seem to handle parallel make gracefully
+    oe_runmake xtest
+    oe_runmake ta
+}
+do_compile[cleandirs] = "${B}"
+
+do_install () {
+    install -D -p -m0755 ${B}/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 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
+
+# Imports machine specific configs from staging to build
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
similarity index 96%
rename from meta-arm/recipes-security/optee/optee-test_git.bb
rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
index 957286c..65e6cd1 100644
--- a/meta-arm/recipes-security/optee/optee-test_git.bb
+++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
@@ -10,8 +10,6 @@ require optee.inc

DEPENDS = "optee-client optee-os python3-pycryptodomex-native"

-PV = "3.8.0+git${SRCPV}"
-
SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
SRC_URI = "git://github.com/OP-TEE/optee_test.git \
file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
@@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
TEEC_EXPORT=${TEEC_EXPORT} \
CROSS_COMPILE_HOST=${TARGET_PREFIX} \
CROSS_COMPILE_TA=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
V=1 \
O=${B} \
"
--
2.17.1

[-- Attachment #2: Type: text/html, Size: 19969 bytes --]

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [meta-arm] [PATCH 2/6] optee: upgraded recipes to 3.10
  2020-10-14 11:33 [PATCH 2/6] optee: upgraded recipes to 3.10 Brett Warren
@ 2020-10-14 15:31 ` Ricardo Salveti
  2020-10-16 12:56   ` Jon Mason
  2020-10-14 15:58 ` Denys Dmytriyenko
       [not found] ` <163DE717EFAA897E.741@lists.yoctoproject.org>
  2 siblings, 1 reply; 6+ messages in thread
From: Ricardo Salveti @ 2020-10-14 15:31 UTC (permalink / raw)
  To: Brett Warren; +Cc: meta-arm

On Wed, Oct 14, 2020 at 8:33 AM Brett Warren <brett.warren@arm.com> wrote:
>
> The optee recipes were upgraded due to issues booting with 3.8
> on qemuarm64-secureboot, which were resolved by the upgrade.
> The 3.8 recipes are retained for backwards compatibility.
>
> optee-test and optee-examples were modified to pass a sysroot
> to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> of the libgcc library.
>
> Recipes have been renamed to reflect their current version.
> As this makes the PV variables redundent, these have been removed.

OP-TEE 3.11.0 should be released in a few days (if not tomorrow), so
wonder if it would be just better to move to that revision instead?

https://github.com/OP-TEE/optee_os/pull/4101

Then we won't have to keep 3.10.0 around, as done with 3.8.0.

Cheers,
-- 
Ricardo Salveti

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-arm] [PATCH 2/6] optee: upgraded recipes to 3.10
  2020-10-14 11:33 [PATCH 2/6] optee: upgraded recipes to 3.10 Brett Warren
  2020-10-14 15:31 ` [meta-arm] " Ricardo Salveti
@ 2020-10-14 15:58 ` Denys Dmytriyenko
  2020-10-16 12:54   ` Jon Mason
       [not found] ` <163DE717EFAA897E.741@lists.yoctoproject.org>
  2 siblings, 1 reply; 6+ messages in thread
From: Denys Dmytriyenko @ 2020-10-14 15:58 UTC (permalink / raw)
  To: Brett Warren; +Cc: meta-arm

Maybe passing --find-copies-harder would yield a smaller and more readable 
patch (i.e. diff between 3.8 and 3.10)?

Also, are there any details on backward compatibility needs to preserve 3.8?

Thanks.

-- 
Denys


On Wed, Oct 14, 2020 at 04:33:48AM -0700, Brett Warren wrote:
> The optee recipes were upgraded due to issues booting with 3.8
> on qemuarm64-secureboot, which were resolved by the upgrade.
> The 3.8 recipes are retained for backwards compatibility.
> 
> optee-test and optee-examples were modified to pass a sysroot
> to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> of the libgcc library.
> 
> Recipes have been renamed to reflect their current version.
> As this makes the PV variables redundent, these have been removed.
> 
> Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
> Signed-off-by: Brett Warren <brett.warren@arm.com>
> ---
> .../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
> ...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
> .../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
> ...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
> .../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
> .../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
> .../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
> ...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
> 8 files changed, 251 insertions(+), 8 deletions(-)
> create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
> create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
> create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
> create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)
> 
> diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> new file mode 100644
> index 0000000..cbd3b93
> --- /dev/null
> +++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> @@ -0,0 +1,59 @@
> +SUMMARY = "OP-TEE Client API"
> +DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
> +HOMEPAGE = "https://www.op-tee.org/"
> +
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> +
> +require optee.inc
> +
> +inherit python3native systemd update-rc.d
> +
> +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
> +SRC_URI = " \
> +    git://github.com/OP-TEE/optee_client.git \
> +    file://tee-supplicant.service \
> +    file://tee-supplicant.sh \
> +"
> +
> +S = "${WORKDIR}/git"
> +B = "${WORKDIR}/build"
> +
> +EXTRA_OEMAKE = "O=${B}"
> +
> +do_compile() {
> +    cd ${S}
> +    oe_runmake
> +}
> +do_compile[cleandirs] = "${B}"
> +
> +do_install() {
> +    cd ${S}
> +    oe_runmake install
> +
> +    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
> +
> +    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
> +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
> +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
> +
> +    install -d ${D}${includedir}
> +    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
> +
> +    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
> +
> +    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
> +
> +    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
> +           -e s:@sbindir@:${sbindir}:g \
> +              ${D}${systemd_system_unitdir}/tee-supplicant.service \
> +              ${D}${sysconfdir}/init.d/tee-supplicant
> +}
> +
> +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
> +
> +INITSCRIPT_PACKAGES = "${PN}"
> +
> +INITSCRIPT_NAME_${PN} = "tee-supplicant"
> +INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
> +
> diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> similarity index 98%
> rename from meta-arm/recipes-security/optee/optee-client_git.bb
> rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> index 5dbbfe9..d43ebf4 100644
> --- a/meta-arm/recipes-security/optee/optee-client_git.bb
> +++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> LICENSE = "BSD"
> LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> 
> -PV = "3.8.0+git${SRCPV}"
> -
> require optee.inc
> 
> inherit python3native systemd update-rc.d
> diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> new file mode 100644
> index 0000000..4a7db10
> --- /dev/null
> +++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> @@ -0,0 +1,52 @@
> +SUMMARY = "OP-TEE examples"
> +DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
> +HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> +
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> +
> +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> +
> +inherit python3native
> +
> +require optee.inc
> +
> +SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
> +           file://0001-make-Pass-ldflags-during-link.patch \
> +           "
> +SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
> +
> +S = "${WORKDIR}/git"
> +B = "${WORKDIR}/build"
> +
> +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> +TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> +TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
> +
> +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> +                 TEEC_EXPORT=${TEEC_EXPORT} \
> +                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> +                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
> +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> +                 V=1 \
> +                 OUTPUT_DIR=${B} \
> +               "
> +
> +do_compile() {
> +    cd ${S}
> +    oe_runmake
> +}
> +do_compile[cleandirs] = "${B}"
> +
> +do_install () {
> +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
> +    mkdir -p ${D}${bindir}
> +    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
> +    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
> +}
> +
> +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> +
> +# Imports machine specific configs from staging to build
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> similarity index 95%
> rename from meta-arm/recipes-security/optee/optee-examples_git.bb
> rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> index 71be593..7ed3dfa 100644
> --- a/meta-arm/recipes-security/optee/optee-examples_git.bb
> +++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> @@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> LICENSE = "GPLv2"
> LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> 
> -PV = "3.8.0+git${SRCPV}"
> -
> DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> 
> inherit python3native
> @@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> TEEC_EXPORT=${TEEC_EXPORT} \
> HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> TA_CROSS_COMPILE=${TARGET_PREFIX} \
> +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> V=1 \
> OUTPUT_DIR=${B} \
> "
> diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> new file mode 100644
> index 0000000..369e011
> --- /dev/null
> +++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> @@ -0,0 +1,83 @@
> +SUMMARY = "OP-TEE Trusted OS"
> +DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
> +HOMEPAGE = "https://www.op-tee.org/"
> +
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> +
> +inherit deploy python3native
> +require optee.inc
> +
> +DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
> +
> +SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
> +SRC_URI = " \
> +    git://github.com/OP-TEE/optee_os.git \
> +    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
> +"
> +
> +S = "${WORKDIR}/git"
> +B = "${WORKDIR}/build"
> +
> +OPTEEMACHINE ?= "${MACHINE}"
> +OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
> +OPTEE_ARCH = "null"
> +OPTEE_ARCH_armv7a = "arm32"
> +OPTEE_ARCH_aarch64 = "arm64"
> +OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
> +
> +EXTRA_OEMAKE = " \
> +    PLATFORM=${OPTEEMACHINE} \
> +    CFG_${OPTEE_CORE}_core=y \
> +    CROSS_COMPILE_core=${HOST_PREFIX} \
> +    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
> +    NOWERROR=1 \
> +    V=1 \
> +    ta-targets=ta_${OPTEE_ARCH} \
> +    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> +    O=${B} \
> +"
> +
> +CFLAGS[unexport] = "1"
> +LDFLAGS[unexport] = "1"
> +CPPFLAGS[unexport] = "1"
> +AS[unexport] = "1"
> +LD[unexport] = "1"
> +
> +do_configure[noexec] = "1"
> +
> +do_compile() {
> +    cd ${S}
> +    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
> +}
> +do_compile[cleandirs] = "${B}"
> +
> +do_install() {
> +    #install core in firmware
> +    install -d ${D}${nonarch_base_libdir}/firmware/
> +    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
> +
> +    #install TA devkit
> +    install -d ${D}${includedir}/optee/export-user_ta/
> +    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
> +        cp -aR $f ${D}${includedir}/optee/export-user_ta/
> +    done
> +}
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +do_deploy() {
> +    install -d ${DEPLOYDIR}/optee
> +    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
> +}
> +
> +addtask deploy before do_build after do_install
> +
> +SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
> +
> +FILES_${PN} = "${nonarch_base_libdir}/firmware/"
> +FILES_${PN}-dev = "${includedir}/optee/"
> +
> +INSANE_SKIP_${PN}-dev = "staticdev"
> +
> +INHIBIT_PACKAGE_STRIP = "1"
> diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> similarity index 98%
> rename from meta-arm/recipes-security/optee/optee-os_git.bb
> rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> index deeb515..0001271 100644
> --- a/meta-arm/recipes-security/optee/optee-os_git.bb
> +++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> LICENSE = "BSD"
> LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> 
> -PV = "3.8.0+git${SRCPV}"
> -
> inherit deploy python3native
> require optee.inc
> 
> diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> new file mode 100644
> index 0000000..96e612a
> --- /dev/null
> +++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> @@ -0,0 +1,55 @@
> +SUMMARY = "OP-TEE sanity testsuite"
> +DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
> +HOMEPAGE = "https://www.op-tee.org/"
> +
> +LICENSE = "BSD & GPLv2"
> +LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
> +
> +inherit python3native
> +require optee.inc
> +
> +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> +
> +SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
> +SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> +           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> +          "
> +
> +S = "${WORKDIR}/git"
> +B = "${WORKDIR}/build"
> +
> +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> +TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
> +TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
> +
> +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> +                 TEEC_EXPORT=${TEEC_EXPORT} \
> +                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> +                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
> +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> +                 V=1 \
> +                 O=${B} \
> +               "
> +
> +do_compile() {
> +    cd ${S}
> +    # Top level makefile doesn't seem to handle parallel make gracefully
> +    oe_runmake xtest
> +    oe_runmake ta
> +}
> +do_compile[cleandirs] = "${B}"
> +
> +do_install () {
> +    install -D -p -m0755 ${B}/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 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
> +}
> +
> +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> +
> +# Imports machine specific configs from staging to build
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> similarity index 96%
> rename from meta-arm/recipes-security/optee/optee-test_git.bb
> rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> index 957286c..65e6cd1 100644
> --- a/meta-arm/recipes-security/optee/optee-test_git.bb
> +++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> @@ -10,8 +10,6 @@ require optee.inc
> 
> DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> 
> -PV = "3.8.0+git${SRCPV}"
> -
> SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
> SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> @@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> TEEC_EXPORT=${TEEC_EXPORT} \
> CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> CROSS_COMPILE_TA=${TARGET_PREFIX} \
> +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> V=1 \
> O=${B} \
> "
> --
> 2.17.1

> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-arm] [PATCH 2/6] optee: upgraded recipes to 3.10
  2020-10-14 15:58 ` Denys Dmytriyenko
@ 2020-10-16 12:54   ` Jon Mason
  0 siblings, 0 replies; 6+ messages in thread
From: Jon Mason @ 2020-10-16 12:54 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Brett Warren, meta-arm

On Wed, Oct 14, 2020 at 11:58:48AM -0400, Denys Dmytriyenko wrote:
> Maybe passing --find-copies-harder would yield a smaller and more readable 
> patch (i.e. diff between 3.8 and 3.10)?
> 
> Also, are there any details on backward compatibility needs to preserve 3.8?

I have not heard anyone asking to keep 3.8 around, but I also don't
know of any users of OPTEE in meta-arm.  My logic in asking Brett to
convert the existing recipe to 3.8 is to allow for it to be used in
case there are unknown users.

After making the gatestgarth release, I plan on dropping older
versions of recipes (like OPTEE 3.8) unless some says they need it.

Thanks,
Jon

> 
> Thanks.
> 
> -- 
> Denys
> 
> 
> On Wed, Oct 14, 2020 at 04:33:48AM -0700, Brett Warren wrote:
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> > 
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> > 
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> > 
> > Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
> > Signed-off-by: Brett Warren <brett.warren@arm.com>
> > ---
> > .../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
> > ...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
> > .../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
> > ...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
> > .../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
> > .../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
> > .../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
> > ...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
> > 8 files changed, 251 insertions(+), 8 deletions(-)
> > create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > new file mode 100644
> > index 0000000..cbd3b93
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > @@ -0,0 +1,59 @@
> > +SUMMARY = "OP-TEE Client API"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > +
> > +require optee.inc
> > +
> > +inherit python3native systemd update-rc.d
> > +
> > +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_client.git \
> > +    file://tee-supplicant.service \
> > +    file://tee-supplicant.sh \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +EXTRA_OEMAKE = "O=${B}"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    cd ${S}
> > +    oe_runmake install
> > +
> > +    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
> > +
> > +    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
> > +
> > +    install -d ${D}${includedir}
> > +    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
> > +
> > +    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
> > +
> > +    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
> > +
> > +    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
> > +           -e s:@sbindir@:${sbindir}:g \
> > +              ${D}${systemd_system_unitdir}/tee-supplicant.service \
> > +              ${D}${sysconfdir}/init.d/tee-supplicant
> > +}
> > +
> > +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
> > +
> > +INITSCRIPT_PACKAGES = "${PN}"
> > +
> > +INITSCRIPT_NAME_${PN} = "tee-supplicant"
> > +INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
> > +
> > diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-client_git.bb
> > rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > index 5dbbfe9..d43ebf4 100644
> > --- a/meta-arm/recipes-security/optee/optee-client_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > require optee.inc
> > 
> > inherit python3native systemd update-rc.d
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > new file mode 100644
> > index 0000000..4a7db10
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > @@ -0,0 +1,52 @@
> > +SUMMARY = "OP-TEE examples"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
> > +HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > +
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +inherit python3native
> > +
> > +require optee.inc
> > +
> > +SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
> > +           file://0001-make-Pass-ldflags-during-link.patch \
> > +           "
> > +SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 OUTPUT_DIR=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
> > +    mkdir -p ${D}${bindir}
> > +    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
> > +    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > similarity index 95%
> > rename from meta-arm/recipes-security/optee/optee-examples_git.bb
> > rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > index 71be593..7ed3dfa 100644
> > --- a/meta-arm/recipes-security/optee/optee-examples_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > LICENSE = "GPLv2"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > inherit python3native
> > @@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > OUTPUT_DIR=${B} \
> > "
> > diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > new file mode 100644
> > index 0000000..369e011
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > @@ -0,0 +1,83 @@
> > +SUMMARY = "OP-TEE Trusted OS"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > +
> > +inherit deploy python3native
> > +require optee.inc
> > +
> > +DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
> > +
> > +SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_os.git \
> > +    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEEMACHINE ?= "${MACHINE}"
> > +OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
> > +OPTEE_ARCH = "null"
> > +OPTEE_ARCH_armv7a = "arm32"
> > +OPTEE_ARCH_aarch64 = "arm64"
> > +OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
> > +
> > +EXTRA_OEMAKE = " \
> > +    PLATFORM=${OPTEEMACHINE} \
> > +    CFG_${OPTEE_CORE}_core=y \
> > +    CROSS_COMPILE_core=${HOST_PREFIX} \
> > +    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
> > +    NOWERROR=1 \
> > +    V=1 \
> > +    ta-targets=ta_${OPTEE_ARCH} \
> > +    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +    O=${B} \
> > +"
> > +
> > +CFLAGS[unexport] = "1"
> > +LDFLAGS[unexport] = "1"
> > +CPPFLAGS[unexport] = "1"
> > +AS[unexport] = "1"
> > +LD[unexport] = "1"
> > +
> > +do_configure[noexec] = "1"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    #install core in firmware
> > +    install -d ${D}${nonarch_base_libdir}/firmware/
> > +    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
> > +
> > +    #install TA devkit
> > +    install -d ${D}${includedir}/optee/export-user_ta/
> > +    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
> > +        cp -aR $f ${D}${includedir}/optee/export-user_ta/
> > +    done
> > +}
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +do_deploy() {
> > +    install -d ${DEPLOYDIR}/optee
> > +    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
> > +}
> > +
> > +addtask deploy before do_build after do_install
> > +
> > +SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
> > +
> > +FILES_${PN} = "${nonarch_base_libdir}/firmware/"
> > +FILES_${PN}-dev = "${includedir}/optee/"
> > +
> > +INSANE_SKIP_${PN}-dev = "staticdev"
> > +
> > +INHIBIT_PACKAGE_STRIP = "1"
> > diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-os_git.bb
> > rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > index deeb515..0001271 100644
> > --- a/meta-arm/recipes-security/optee/optee-os_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > inherit deploy python3native
> > require optee.inc
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > new file mode 100644
> > index 0000000..96e612a
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > @@ -0,0 +1,55 @@
> > +SUMMARY = "OP-TEE sanity testsuite"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD & GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
> > +
> > +inherit python3native
> > +require optee.inc
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
> > +SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > +           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > +                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 O=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    # Top level makefile doesn't seem to handle parallel make gracefully
> > +    oe_runmake xtest
> > +    oe_runmake ta
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    install -D -p -m0755 ${B}/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 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > similarity index 96%
> > rename from meta-arm/recipes-security/optee/optee-test_git.bb
> > rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > index 957286c..65e6cd1 100644
> > --- a/meta-arm/recipes-security/optee/optee-test_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > @@ -10,8 +10,6 @@ require optee.inc
> > 
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
> > SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > @@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > O=${B} \
> > "
> > --
> > 2.17.1
> 
> > 
> > 
> > 
> 

> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-arm] [PATCH 2/6] optee: upgraded recipes to 3.10
  2020-10-14 15:31 ` [meta-arm] " Ricardo Salveti
@ 2020-10-16 12:56   ` Jon Mason
  0 siblings, 0 replies; 6+ messages in thread
From: Jon Mason @ 2020-10-16 12:56 UTC (permalink / raw)
  To: Ricardo Salveti; +Cc: Brett Warren, meta-arm

On Wed, Oct 14, 2020 at 12:31:09PM -0300, Ricardo Salveti wrote:
> On Wed, Oct 14, 2020 at 8:33 AM Brett Warren <brett.warren@arm.com> wrote:
> >
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> >
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> >
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> 
> OP-TEE 3.11.0 should be released in a few days (if not tomorrow), so
> wonder if it would be just better to move to that revision instead?
> 
> https://github.com/OP-TEE/optee_os/pull/4101
> 
> Then we won't have to keep 3.10.0 around, as done with 3.8.0.

We can do a new patch for 3.11 when it is released, and the drop 3.8
and 3.10 after making the gatesgarth release.  Best of both worlds.
:)

Thanks,
Jon

> 
> Cheers,
> -- 
> Ricardo Salveti

> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-arm] [PATCH 2/6] optee: upgraded recipes to 3.10
       [not found] ` <163DE717EFAA897E.741@lists.yoctoproject.org>
@ 2020-10-16 18:12   ` Denys Dmytriyenko
  0 siblings, 0 replies; 6+ messages in thread
From: Denys Dmytriyenko @ 2020-10-16 18:12 UTC (permalink / raw)
  To: Brett Warren; +Cc: meta-arm

On Wed, Oct 14, 2020 at 11:58:48AM -0400, Denys Dmytriyenko wrote:
> Maybe passing --find-copies-harder would yield a smaller and more readable 
> patch (i.e. diff between 3.8 and 3.10)?

^^^ as I suspected - see my resend.


> Also, are there any details on backward compatibility needs to preserve 3.8?
> 
> Thanks.
> 
> -- 
> Denys
> 
> 
> On Wed, Oct 14, 2020 at 04:33:48AM -0700, Brett Warren wrote:
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> > 
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> > 
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> > 
> > Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
> > Signed-off-by: Brett Warren <brett.warren@arm.com>
> > ---
> > .../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
> > ...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
> > .../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
> > ...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
> > .../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
> > .../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
> > .../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
> > ...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
> > 8 files changed, 251 insertions(+), 8 deletions(-)
> > create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > new file mode 100644
> > index 0000000..cbd3b93
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > @@ -0,0 +1,59 @@
> > +SUMMARY = "OP-TEE Client API"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > +
> > +require optee.inc
> > +
> > +inherit python3native systemd update-rc.d
> > +
> > +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_client.git \
> > +    file://tee-supplicant.service \
> > +    file://tee-supplicant.sh \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +EXTRA_OEMAKE = "O=${B}"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    cd ${S}
> > +    oe_runmake install
> > +
> > +    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
> > +
> > +    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
> > +
> > +    install -d ${D}${includedir}
> > +    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
> > +
> > +    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
> > +
> > +    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
> > +
> > +    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
> > +           -e s:@sbindir@:${sbindir}:g \
> > +              ${D}${systemd_system_unitdir}/tee-supplicant.service \
> > +              ${D}${sysconfdir}/init.d/tee-supplicant
> > +}
> > +
> > +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
> > +
> > +INITSCRIPT_PACKAGES = "${PN}"
> > +
> > +INITSCRIPT_NAME_${PN} = "tee-supplicant"
> > +INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
> > +
> > diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-client_git.bb
> > rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > index 5dbbfe9..d43ebf4 100644
> > --- a/meta-arm/recipes-security/optee/optee-client_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > require optee.inc
> > 
> > inherit python3native systemd update-rc.d
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > new file mode 100644
> > index 0000000..4a7db10
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > @@ -0,0 +1,52 @@
> > +SUMMARY = "OP-TEE examples"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
> > +HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > +
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +inherit python3native
> > +
> > +require optee.inc
> > +
> > +SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
> > +           file://0001-make-Pass-ldflags-during-link.patch \
> > +           "
> > +SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 OUTPUT_DIR=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
> > +    mkdir -p ${D}${bindir}
> > +    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
> > +    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > similarity index 95%
> > rename from meta-arm/recipes-security/optee/optee-examples_git.bb
> > rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > index 71be593..7ed3dfa 100644
> > --- a/meta-arm/recipes-security/optee/optee-examples_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > LICENSE = "GPLv2"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > inherit python3native
> > @@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > OUTPUT_DIR=${B} \
> > "
> > diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > new file mode 100644
> > index 0000000..369e011
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > @@ -0,0 +1,83 @@
> > +SUMMARY = "OP-TEE Trusted OS"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > +
> > +inherit deploy python3native
> > +require optee.inc
> > +
> > +DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
> > +
> > +SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_os.git \
> > +    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEEMACHINE ?= "${MACHINE}"
> > +OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
> > +OPTEE_ARCH = "null"
> > +OPTEE_ARCH_armv7a = "arm32"
> > +OPTEE_ARCH_aarch64 = "arm64"
> > +OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
> > +
> > +EXTRA_OEMAKE = " \
> > +    PLATFORM=${OPTEEMACHINE} \
> > +    CFG_${OPTEE_CORE}_core=y \
> > +    CROSS_COMPILE_core=${HOST_PREFIX} \
> > +    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
> > +    NOWERROR=1 \
> > +    V=1 \
> > +    ta-targets=ta_${OPTEE_ARCH} \
> > +    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +    O=${B} \
> > +"
> > +
> > +CFLAGS[unexport] = "1"
> > +LDFLAGS[unexport] = "1"
> > +CPPFLAGS[unexport] = "1"
> > +AS[unexport] = "1"
> > +LD[unexport] = "1"
> > +
> > +do_configure[noexec] = "1"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    #install core in firmware
> > +    install -d ${D}${nonarch_base_libdir}/firmware/
> > +    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
> > +
> > +    #install TA devkit
> > +    install -d ${D}${includedir}/optee/export-user_ta/
> > +    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
> > +        cp -aR $f ${D}${includedir}/optee/export-user_ta/
> > +    done
> > +}
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +do_deploy() {
> > +    install -d ${DEPLOYDIR}/optee
> > +    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
> > +}
> > +
> > +addtask deploy before do_build after do_install
> > +
> > +SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
> > +
> > +FILES_${PN} = "${nonarch_base_libdir}/firmware/"
> > +FILES_${PN}-dev = "${includedir}/optee/"
> > +
> > +INSANE_SKIP_${PN}-dev = "staticdev"
> > +
> > +INHIBIT_PACKAGE_STRIP = "1"
> > diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-os_git.bb
> > rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > index deeb515..0001271 100644
> > --- a/meta-arm/recipes-security/optee/optee-os_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > inherit deploy python3native
> > require optee.inc
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > new file mode 100644
> > index 0000000..96e612a
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > @@ -0,0 +1,55 @@
> > +SUMMARY = "OP-TEE sanity testsuite"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD & GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
> > +
> > +inherit python3native
> > +require optee.inc
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
> > +SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > +           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > +                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 O=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    # Top level makefile doesn't seem to handle parallel make gracefully
> > +    oe_runmake xtest
> > +    oe_runmake ta
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    install -D -p -m0755 ${B}/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 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > similarity index 96%
> > rename from meta-arm/recipes-security/optee/optee-test_git.bb
> > rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > index 957286c..65e6cd1 100644
> > --- a/meta-arm/recipes-security/optee/optee-test_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > @@ -10,8 +10,6 @@ require optee.inc
> > 
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
> > SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > @@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > O=${B} \
> > "
> > --
> > 2.17.1
> 
> > 
> > 
> > 
> 

> 
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-16 18:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-14 11:33 [PATCH 2/6] optee: upgraded recipes to 3.10 Brett Warren
2020-10-14 15:31 ` [meta-arm] " Ricardo Salveti
2020-10-16 12:56   ` Jon Mason
2020-10-14 15:58 ` Denys Dmytriyenko
2020-10-16 12:54   ` Jon Mason
     [not found] ` <163DE717EFAA897E.741@lists.yoctoproject.org>
2020-10-16 18:12   ` Denys Dmytriyenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.