aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-security
AgeCommit message (Collapse)Author
2022-02-24optee-os: Use tee-raw.bin binaryTom Hochstein
During the optee-os compilation, the gen_tee_bin.py script generates a tee-raw.bin that is more space efficient and could replace the tee.bin binary manually generated in the optee-os recipe by objcpy. This patch greatly reduces the size of tee.bin. On 64 bits platforms, we observe a size descrease of ~68%, and on 32 bits platforms, a size decrease of ~45%. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-02-24optee-os: Upgrade 3.10.0.imx -> 3.15.0.imxTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-02-21optee-os: Use SoC override for i.MX6UL, i.MX6ULL and i.MX6ULZOtavio Salvador
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2022-02-21Rework recipes to use imx-nxp-bsp more extensivelyOtavio Salvador
This rework the recipes making use of new imx-nxp-bsp override; it has been applied to: - gstreamer1.0 - gstreamer1.0-plugins-bad - gstreamer1.0-plugins-base - gstreamer1.0-plugins-good - imx-alsa-plugins - imx-codec - imx-gst1.0-plugin - imx-parser - libdrm - libimxdmabuffer - linux-fslc-imx - linux-imx - optee-client - optee-test Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2022-02-21Generalize overrides subsystem for NXP and Mainline supportOtavio Salvador
Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and mainline-bsp. So, for example, the mx8mq override is split into: - imx-generic-bsp: compatible with every i.MX SoC and both BSP variants - imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP - imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP - mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants - mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP - mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP - mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants - mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP - mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP - mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants - mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP - mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP The extender mechanism is responsible for extending the override list to include the generic overrides. We can then use the three different variants to handle the metadata correctly. Generically speaking, the conversion mainly was automated (with a lot of back and forth until getting it right). To convert an existing layer, the following script can be used: ```sh git ls-files classes recipes-* \ | xargs sed -i \ -e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \ -e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \ -e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \ -e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \ \ -e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \ -e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \ -e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \ \ -e 's,:\(vf\w*\),:\1-generic-bsp,g' \ -e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \ -e 's,\(vf\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(vf\w*\)),|\1-generic-bsp),g' \ -e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \ \ -e 's,:\(imx\) ,:\1-nxp-bsp ,g' \ -e 's,(\(imx\)),(\1-nxp-bsp),g' \ -e 's,\(imx\)|,\1-nxp-bsp|,g' \ -e 's,|\(imx\)),|\1-nxp-bsp),g' for d in $(find -type d | egrep '/mx[6-8]w*'); do git mv $d $d-nxp-bsp done for d in $(find -type d | egrep '/imx$'); do git mv $d $d-nxp-bsp done for d in $(find -type d | egrep '/mx[5s]w*'); do git mv $d $d-generic-bsp done ``` Fixes: #791. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2022-02-18optee-imx: clarify BSD licenseAndrey Zhizhikin
Since upstream commit 14d4c007c4 ("common-licences: remove ambiguous "BSD" license"), ambiguous "BSD" license has been removed from OE-Core. This triggers the warning message in QA: do_populate_lic_deploy: QA Issue: The license listed BSD was not in the licenses collected for recipe optee-os [license-file-missing] OP-TEE is licensed under "BSD-2-Clause" and license text clearly identifies it. Correct LICENSE variable to indicate proper License SPDX identifier. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
2022-02-02Merge pull request #970 from tprrt/tprrt/fix-optee-overridesOtavio Salvador
optee: fix override syntax
2022-02-02optee-test: replace old pycrypto with pycryptodomeThomas Perrot
For security reason, pycrypto is no longer available, but it can be replaced by pycryptodome. Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
2022-02-02optee-test: correct TA_DEV_KIT_DIRThomas Perrot
The value is either ${STAGING_INCDIR}/optee/export-user_ta_arm32/ or ${STAGING_INCDIR}/optee/export-user_ta_arm64/ Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
2022-02-02optee-os: fix an override syntaxThomas Perrot
Correct a forgotten change when switching to the new syntax. Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
2022-02-02optee-client: fix an override syntaxThomas Perrot
Correct a forgotten change when switching to the new syntax. Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
2021-10-15optee-qoriq: upgrade to 3.13Ting Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com>
2021-10-13optee-os-qoriq: fix wrong overridesTing Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com>
2021-08-21optee-os: Add support for imx6qdlsabre* machinesTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-08-12layer: Convert to new override syntaxKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-03-24optee-os: Remove unneeded dependency on python3-pycrptoOtavio Salvador
The python3-pycrpto is provided by python3-pycryptodomex, and in fact is not provided on OpenEmbedded anymore so it cannot be used. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2021-03-18optee-os: Cleanup build optionsTom Hochstein
- Move log level variables to EXTRA_OEMAKE to simplify overriding - Set LDFLAGS and CFLAGS globally, like normal - Set -C in EXTRA_OEMAKE - Drop do_compile after all of the above - Drop un-necessary override of B variable - Simplify creation of tee.bin link in DEPLOYDIR Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-03-17optee-imx: add compatibility with imx-boot-containerAndrey Zhizhikin
NXP version of OP-TEE is required to be packed in the boot container if optee feature is enabled in machine features. Add compatibility with imx-boot-container in order to pick up binaries produced by this package. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
2021-03-16optee-imx: Upgrade to 3.10.0Tom Hochstein
Update all recipes to pull sources from imx_5.4.70_2.3.0 branch in NXP upstream and update SRCREV to match release tags. Update PREFERRED_VERSION of optee for mx8 to point to 3.10.0.imx. Following notes are additions to the version update of recipes: -------------------------- optee-client: - Drop CFLAGS patch as it is already applied upstream optee-os: - Drop gcc10 patch as it is already applied upstream - Add dependency on python3-pycryptodomex-native - Drop NOWERROR flag as package is reworked to disable warnings by default - Rework mkimage load address since tee-init_load_addr.txt is no longer created optee-test: - Drop python3 patch as it is already applied upstream - Remove unused patch files from layer - Add dependency on python3-pycryptodomex-native - Add sysroot to C and C++ flags Fixes #686, fixes #689. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-02-15optee-os_3.7.0.imx.bb: Fix platform flavor for imx8mq-evkCristinel Panfir
Due to machine renaming the PLATFORM_FLAVOR need to be updated according makefile. ... | core/arch/arm/plat-imx/conf.mk:211: *** Unsupported PLATFORM_FLAVOR "mx8mq-evk". Stop. ... Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
2021-02-13optee-os: Fix the platform for imx8qm-mekTom Hochstein
After the machine name change, the default setting for PLATFORM_FLAVOR no longer works. ``` | core/arch/arm/plat-imx/conf.mk:211: *** Unsupported PLATFORM_FLAVOR "mx8qm-mek". Stop. ``` Set the correct name again manually with SOC override. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-01-21optee-os: Fix 6ULZ EVK override, drop 8 DXL Phantom overrideTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-12-17optee-test-qoriq: DEPENDS python3-pycryptodomex-nativeTing Liu
Fix: | /usr/include/optee/export-user_ta/scripts/sign_encrypt.py", line 131, in main | from Cryptodome.Signature import pss | ModuleNotFoundError: No module named 'Cryptodome' Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-12-16optee-os-qoriq: upgrade to 3.8.0Ting Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-12-16optee-client-qoriq: upgrade to 3.8.0Ting Liu
Switch to use codes from https://github.com/OP-TEE/optee_client, tag: 3.8.0 Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-12-16optee-test-qoriq: upgrade to 3.8.0Ting Liu
Switch to use codes from https://github.com/OP-TEE/optee_test, tag: 3.8.0 Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-12-15optee-test_3.7.0.imx: fix optee-test buildPeter Griffin
Currently nothing is built for optee-test which means do_install() fails copying xtest binary. Align the do_compile() with upstream meta-arm optee-test recipe. With this patch the build then completes OK. Fixes: a66dc98 Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-09-23optee-imx: upgrade to version 3.7.0Andrey Zhizhikin
Update all recipes to pull sources from imx_5.4.24_2.1.0 branch in NXP upstream and update SRCREV to match release tags. Update PREFERRED_VERSION of optee for mx8 to point to 3.7.0.imx. Following notes are additions to the version update of recipes: -------------------------- optee-os: - Refresh gcc10 patch to resolve the fuzz during apply - Drop python patch as it is already applied upstream - Add new machines to the list optee-client: - Update CFLAGS patch to match 3.7.0 version - Split ${B} from ${S}, this makes build more clear optee-test: - Remove do_compile task and substitute with OEMAKE Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
2020-09-09optee-os: backport to fix gcc10 compilation issueTing Liu
Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-06-23optee-client: refresh patch applied upstreamAndrey Zhizhikin
PR has been closed upstream with modifications to originally submitted patch. Later implementation implied more modification, which are not compatible with current version, therefore accepted patch has been backported to this fork. Refresh patch file with updated version from upstream. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-06-23optee-os: backport gcc10 compilation fix from upstreamAndrey Zhizhikin
Backport PR 3891 [1] from OP-TEE upstream repository. This PR solves GCC10 compilation issue when new compiler option `outline-atomics` is not implemented and causes the linker error. In addition, above upstream PR solves issue with 'cc-option` macro, which is necessary to be used to provide comptibility with GCC <10 to disable the `outline-atomics` option, since it is present only in GCC10. [1]: https://github.com/OP-TEE/optee_os/pull/3891 Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-05-31optee-client: add patch to avoid CFLAGS overridesAndrey Zhizhikin
Base optee-client implementation uses immediate assignment of CFLAGS variable in it's build structure, which causes Yocto CFLAGS to be overridden and not properly propagated into the build system. Introduce a patch which uses append operator intead of immediate assignment to have both CFLAGS variables to be combined. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-05-31optee-client: fix build architecture for aarch64Andrey Zhizhikin
Overridden do_compile() task relies on an old DEFAULTTUNE set to identify if the build should target arm32 or arm64 architecture, and has a direct comparison to the generic tune. Since aarch64 tune for some derivatives has been switched to a more specialized types (cortexa53-crypto), this causes the check to fail and build defaults to arm32, which is not desired behavior. Define OPTEE_ARCH to a proper value based on machine overrides, drop the task override and use standard Yocto mechanisms to provide additional parameters to make. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-05-26optee-os: fix gcc10 build for imx forkAndrey Zhizhikin
OP-TEE OS component fails to build on gcc10 due to missing __getauxval function. This can be resolved via disabling of outline-atomics feature in gcc10. Backport upstream patch [1] with adaptions to optee-imx version. Original patch uses $(call cc-option,-mno-outline-atomics,) to disable outline-atomics which itself is broken and required 4 additional patches to be compatible with gcc and clang. This is resolved in the upstream PR [2], which is applicable to the latest upstream version. NXP fork contains old version of OP-TEE, and therefore would receive the update for Makefiles with new version. Since it is not required to make current NXP version compatible with old compiler versions on master branch - outline-atomics are disabled directly. [1]: https://github.com/OP-TEE/optee_os/pull/3891/commits/e07c2b062846df4385542f4e4fe08b40cf7d8191 [2]: https://github.com/OP-TEE/optee_os/pull/3891 Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-05-06optee-test-qoriq: add patch to use python3Ting Liu
python2 is EOL January 2020. This fixes build failure due to python2. Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-05-05optee-os: Replace /lib by ${nonarch_base_libdir} in do_installantznin
This fixes a do_package error when using `usrmerge` in `DISTRO_FEATURES`. In that case the bin files should have been installed in /usr/lib. Using ${nonarch_base_libdir} makes the location specific to distro settings. Signed-off-by: antznin <agodard@witekio.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Change-Id: I9d6c015975b093f74f29927a7e8bdfd87fd3dc09
2020-04-23optee-test_3.2.0.imx: fix TA_DEV_KIT_DIR is not correctly defined errorPeter Griffin
DEFAULTTUNE is no longer aarch64 which means optee-test build fails. Update to use the same mechanism as optee-os recipe for setting arch. Build now passes on imx8mq-evk and optee xtest suite passes +----------------------------------------------------- 16078 subtests of which 3 failed 74 test cases of which 3 failed 0 test case was skipped TEE test application done! Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-04-20optee-os-qoriq: add patch to use python3Ting Liu
python2 is EOL January 2020. This fixes build failure due to python2. Signed-off-by: Ting Liu <ting.liu@nxp.com>
2020-04-17optee-test_3.2.0.imx: add patch to use python3, backported from v3.8.0Peter Griffin
This avoids build errors such as optee-test/3.2.0.imx-r0/git/out/ta/crypt//mid_crt.c] Error 127 | /usr/bin/env: ‘python’: No such file or directory Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-04-16optee-imx: upgrade to lf-5.4.yAndrey Zhizhikin
Upgrade optee recipes to fetch sources from lf-5.4.y branch, this is aligned with new kernel release from NXP. optee-os and optee-client has build defines dropped, this is originated in NXP fork. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-02-11optee-test-qoriq: update to python3-pycrypto-native dependencyChunrong Guo
Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
2020-02-11optee-os-qoriq: update to python3-pycrypto-native dependencyChunrong Guo
Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
2020-02-03optee-test: update to python3-pycrypto-native dependencyPeter Griffin
As python2 packages are now dropped in oe-core. Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-01-23optee[-imx]: update recipes to use python3Andrey Zhizhikin
Since Python2 is dropped in oe-core and classes are not available anymore, optee components should be updated to utilize python3. optee-os recipe received an additionl patch to re-target the Python version in the source tree to python3. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-01-14optee-test_3.2.0.imx: remove no longer required gcc fixesPeter Griffin
These are now present in the new op-tee fork version. Fixes: 020d818 Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-01-14optee-client_3.2.0.imx: remove 0001-libteec-refactor-_dprintf.patchPeter Griffin
This patch no longer applies as it is already included in the new optee-client tag. Fixes: 020d818 Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2020-01-08optee-imx: add (backported) patches for GCC 9 & muslAndré Draszik
See the individual patches - all patches are simply backports from optee upstream releases. Signed-off-by: André Draszik <andre.draszik@jci.com>
2020-01-08optee-[client,test]: upgrade to 4.19.35_1.1.0Andrey Zhizhikin
This upgrade is required to support new i.MX8M Nano SoC and is also aligned with all optee-imx components. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2020-01-08optee-os: update to 4.19.35_1.1.0 and introduce imx8mn configAndrey Zhizhikin
In order to support new i.MX8M Nano SoC, optee-os should be upgraded to use the imx_4.19.35_1.1.0 branch, which contains the support for new machine. In addition, introduce additional PLATFORM_FLAVOR for new imx8mnevk machine. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2019-11-26optee-os_3.2.0: change PLATFORM_FLAVOR for imx6ulz14x14evkClement Faure
The platform flavor 'mx6ulzevk' has been added to Optee-OS. Signed-off-by: Clement Faure <clement.faure@nxp.com>