| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The imx8dx-mek machine is similar to imx8qxp-mek and so the mx8qxp override
was included in the MACHINEOVERRIDES hierarchy. This is non-standard, and
the rework of the SOC overrides didn't handle it properly, leading to a
build break:
```
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: 8QX boot binary build
| cp: failed to access '/home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin': Not a directory
| WARNING: /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636:179 exit 1 from 'cp /home/aquino/src/ossystems/oel-platform/build/tmp/deploy/images/imx8dx-mek/imx-boot$
tools/scfw_tcm.bin /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin'
| WARNING: Backtrace (BB generated script):
| #1: compile_mx8x, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 179
| #2: do_compile, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 151
| #3: main, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 189
ERROR: Task (/home/aquino/src/ossystems/oel-platform/sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb:do_compile) failed with exit code '1'
```
Fix the problem by removing mx8qxp from the mx8dx hierarchy and adapting
existing mx8qxp overrides appropriately.
Fixes: #1027
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When CFG_RPMB_FS=y, OP-TEE os no longer compiles because imx_rpmb.c
tries to include a header that doesn't exist. This issue seems linked
to a rework that allows to compile i.MX Secure Non-Volatile Storage
driver without RPMB.
```
| CC optee-os/3.15.0.imx-r0/build/core/arch/arm/plat-imx/imx_rpmb.o
| core/arch/arm/plat-imx/imx_rpmb.c:5:10: fatal error: drivers/imx_snvs.h: No such file or directory
| 5 | #include <drivers/imx_snvs.h>
| | ^~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make: *** [mk/compile.mk:159: optee-os/3.15.0.imx-r0/build/core/arch/arm/plat-imx/imx_rpmb.o] Error 1
| make: *** Waiting for unfinished jobs....
| CC optee-os/3.15.0.imx-r0/build/core/crypto/crypto.o
| CC optee-os/3.15.0.imx-r0/build/core/arch/arm/plat-imx/imx_dt.o
| make: Leaving directory 'optee-os/3.15.0.imx-r0/git'
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
ERROR: Task (optee-imx/optee-os_3.15.0.imx.bb:do_compile) failed with exit code '1'
```
This is fixed in the upcoming release NXP 5.15.5-1.0.0. Backport the
patch.
Fixes: #997
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since OE-Core commit 9379f80f48 ("license/insane: Show warning for
obsolete license usage"), LICENSE field not containing SPDX identifiers
are treated with WARNING.
An automated conversion using scripts/contrib/convert-spdx-licenses.py to
convert to use the standard SPDX license identifiers has been done on
the entire layer.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
|
|
| |
The TAs in optee-os are required.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- The logic for the tee-supplicant package doesn't work and the package
ends up empty. In fact, tee-supplicant belongs in the main package anyway.
- The main package already contains ${libdir}, so drop the redundant
assignment.
- The headers belong in the -dev package, so drop them from the main.
- Drop the un-necessary INSANE_SKIP settings.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
| |
The optee software should be enabled by the machine feature. If the
machine feature is not there, but optee is built anyway, then something
is wrong and the build should fail.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building against openssl from Yocto results in a build break:
```
| /opt/work/upstream/fsl-xwayland/tmp/work/cortexa53-crypto-fsl-linux/optee-test/3.15.0.imx-r0/git/host/xtest/regression_8100.c:133:17: error: 'ERR_get_error_line' is deprecated: Since OpeSL 3.0 [-Werror=deprecated-declarations]
| 133 | e = ERR_get_error_line(&f, &l);
| | ^
| In file included from /opt/work/upstream/fsl-xwayland/tmp/work/cortexa53-crypto-fsl-linux/optee-test/3.15.0.imx-r0/git/host/xtest/regression_8100.c:18:
| /opt/work/upstream/fsl-xwayland/tmp/work/cortexa53-crypto-fsl-linux/optee-test/3.15.0.imx-r0/recipe-sysroot/usr/include/openssl/err.h:411:15: note: declared here
| 411 | unsigned long ERR_get_error_line(const char **file, int *line);
| | ^~~~~~~~~~~~~~~~~~
```
Configure optee-test to build with its own openssl.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
As the license file states, the client applications (optee_test/host/*)
are provided under the GPL-2.0 license.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
- Use variables properly for the install and FILES
- Simplify the FILES update with an append
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
optee-os has some embedded TAs like AVB or PKCS11 that must be installed
in the filesystem.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
optee: fix override syntax
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Correct a forgotten change when switching to the new syntax.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
|
| |
| |
| |
| |
| |
| | |
Correct a forgotten change when switching to the new syntax.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
|
|/
|
|
|
|
|
| |
For security reason, pycrypto is no longer available, but it can be replaced by
pycryptodome.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
|
|
|
|
| |
Signed-off-by: Ting Liu <ting.liu@nxp.com>
|
|
|
|
| |
Signed-off-by: Ting Liu <ting.liu@nxp.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Ting Liu <ting.liu@nxp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Ting Liu <ting.liu@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
python2 is EOL January 2020. This fixes build failure due to python2.
Signed-off-by: Ting Liu <ting.liu@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|