| 7c176640 | 03-Aug-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm32: add assembly directive: .arch_extension sec
When compiling with -mcpu=cortex-a9, GCC 8.1 fails on the smc instruction:
$ make -s PLATFORM=stm CROSS_COMPILE32=<GCC8.1 path>/arm-linux-gnueabi
arm32: add assembly directive: .arch_extension sec
When compiling with -mcpu=cortex-a9, GCC 8.1 fails on the smc instruction:
$ make -s PLATFORM=stm CROSS_COMPILE32=<GCC8.1 path>/arm-linux-gnueabihf- core/arch/arm/kernel/thread_a32.S: Assembler messages: core/arch/arm/kernel/thread_a32.S:44: Error: selected processor does not support `smc #0' in ARM mode [snip] mk/compile.mk:146: recipe for target 'out/arm-plat-stm/core/arch/arm/kernel/thread_a32.o' failed make: *** [out/arm-plat-stm/core/arch/arm/kernel/thread_a32.o] Error 1
Use the '.arch_extension sec' directive to allow the assembler to emit the instruction.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
show more ...
|
| 74fc1bc7 | 03-Aug-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_self_tests.c: fix p1=realloc(p1) issue
This is invalid use of realloc, because it can cause memory leak.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier
core_self_tests.c: fix p1=realloc(p1) issue
This is invalid use of realloc, because it can cause memory leak.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ff6684bd | 30-Jul-2018 |
Pengguang Zhu <zpghao@163.com> |
ta: mk: make sign tool configurable
Since custom load and verification methods for user TA is supported, the sign tool also should be configurable.
Signed-off-by: Pengguang Zhu <zpghao@163.com> Ack
ta: mk: make sign tool configurable
Since custom load and verification methods for user TA is supported, the sign tool also should be configurable.
Signed-off-by: Pengguang Zhu <zpghao@163.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 6ef46766 | 25-Jul-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
ci: travis: do not build with legacy compiler (GCC 4.9) anymore
The QEMU test environment has recently been upgraded to use U-Boot ("qemu.mk: replace bios with u-boot" [1] and "default.xml: replace
ci: travis: do not build with legacy compiler (GCC 4.9) anymore
The QEMU test environment has recently been upgraded to use U-Boot ("qemu.mk: replace bios with u-boot" [1] and "default.xml: replace bios_qemu_tz_arm with u-boot" [2]), which requires GCC 6 or newer.
Fixes the following CI build error:
*** Your GCC is older than 6.0 and is not supported make[1]: *** [checkgcc6] Error 1 make: *** [u-boot] Error 2
Link: [1] https://github.com/OP-TEE/build/commit/248f5733bf29 Link: [2] https://github.com/OP-TEE/manifest/commit/2067ab3f9bbe Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0fe671d3 | 24-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
trace: get thread_id right in print_thread_id()
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> |
| a920a741 | 24-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
trace: check for CFG_MSG_LONG_PREFIX_MASK only once per message
There is no need for repeated checks for every portion of extended prefix.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
trace: check for CFG_MSG_LONG_PREFIX_MASK only once per message
There is no need for repeated checks for every portion of extended prefix.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 64fad262 | 23-May-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
trace: print core id if in atomic context
If (D|E|I|F)MSG is called with foreign interrupts masked we can report core ID. "?" will be printed instead, if foreign interrupts aren't masked.
With this
trace: print core id if in atomic context
If (D|E|I|F)MSG is called with foreign interrupts masked we can report core ID. "?" will be printed instead, if foreign interrupts aren't masked.
With this patch log looks like this:
D/TC:2 0 core_mmu_set_user_map:940 0xe181b88 0xeee8003 D/TC:? 0 __wq_rpc:40 wake thread 1 0xe16f028 -3 D/TC:1 thread_handle_std_smc:612 a7: 2 D/TC:3 0 core_mmu_set_user_map:940 0x0 0x0
Where first digit shows core id and second - thread id.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| bed5dcff | 25-Jul-2018 |
Peng Fan <peng.fan@nxp.com> |
imx: wdog: correct wdog_path
The prefix `0` is removed in Linux Kernel upstream code, so let's drop it to let wdog work.
Linux Kernel commit 67b8d5c7081221efa252("Linux 4.17-rc5")
Signed-off-by: P
imx: wdog: correct wdog_path
The prefix `0` is removed in Linux Kernel upstream code, so let's drop it to let wdog work.
Linux Kernel commit 67b8d5c7081221efa252("Linux 4.17-rc5")
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 50432453 | 27-Jun-2018 |
Jordan Rhee <jordanrh@microsoft.com> |
plat-imx: add i.MX6 Hummingboard Edge platform flavors
Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> |
| 53afeff5 | 27-Jun-2018 |
Jordan Rhee <jordanrh@microsoft.com> |
plat-imx: make platform flavor list diff friendly
Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> |
| bad91efa | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-hikey: embed ta/avb as early TA
In order to support AVB in U-boot embed the AVB ta as an early TA.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <je
plat-hikey: embed ta/avb as early TA
In order to support AVB in U-boot embed the AVB ta as an early TA.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3638ea32 | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add CFG_IN_TREE_EARLY_TAS
Adds CFG_IN_TREE_EARLY_TAS which is used to embed in-tree TAs as early TAs in the OP-TEE binary.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by:
Add CFG_IN_TREE_EARLY_TAS
Adds CFG_IN_TREE_EARLY_TAS which is used to embed in-tree TAs as early TAs in the OP-TEE binary.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b29b4195 | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: add AVB TA
Adds an AVB TA to be used to provide required services for AVB in U-boot.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linar
ta: add AVB TA
Adds an AVB TA to be used to provide required services for AVB in U-boot.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cfa34d9a | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add support for compiling in-tree TAs
Adds support for compiling in-tree TAs. Unless specified via CFG_USER_TA_TARGET_<ta-name> the TA will be built with the first TA target (aka TA dev kit, when de
Add support for compiling in-tree TAs
Adds support for compiling in-tree TAs. Unless specified via CFG_USER_TA_TARGET_<ta-name> the TA will be built with the first TA target (aka TA dev kit, when delivered) specified in the variable ta-targets which is initialized in core/arch/arm/plat-*/conf.mk.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d58d79ec | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: support variables user-ta-{uuid,ldadd}
Replaces the old variables "binary" and "ldadd" with "user-ta-uuid" and "user-ta-ldadd" respectively.
Reviewed-by: Jerome Forissier <jerome.forissier@lina
ta: support variables user-ta-{uuid,ldadd}
Replaces the old variables "binary" and "ldadd" with "user-ta-uuid" and "user-ta-ldadd" respectively.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 35b4ef75 | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: prepare for in-tree ta building
Prepare for in-tree TA building by adding $(sm) to all TA dev-kit variables that may cause conflicts either with the core linking or when linking multiple TAs.
R
ta: prepare for in-tree ta building
Prepare for in-tree TA building by adding $(sm) to all TA dev-kit variables that may cause conflicts either with the core linking or when linking multiple TAs.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b6ca4bb2 | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: link.mk: drop support for variable LDFLAGS
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 94cd76ca | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
Use per $(sm) unique FORCE-GENSRC
Uses per $(sm) unique FORCE-GENSRC to allow one submodule (sm) depend on files produced by another submodule.
CFG_IN_TREE_EARLY_TAS needs this for the core submodu
Use per $(sm) unique FORCE-GENSRC
Uses per $(sm) unique FORCE-GENSRC to allow one submodule (sm) depend on files produced by another submodule.
CFG_IN_TREE_EARLY_TAS needs this for the core submodule to depend on a submodule representing an in-tree TA.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 20bfbd89 | 17-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta: link.mk: discard library ordering
All the static user TA libraries supplied in $(libnames) are linked in the same group using --start-group and --end-group so the order of the libraries doesn't
ta: link.mk: discard library ordering
All the static user TA libraries supplied in $(libnames) are linked in the same group using --start-group and --end-group so the order of the libraries doesn't matter any more. Remove the complexity of reordering the libraries.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9af8b4c9 | 13-Jul-2018 |
Tao Lu <taolu@marvell.com> |
MAINTAINERS: Change maintainer for Marvell Armada
Signed-off-by: Tao Lu <taolu@marvell.com> Acked-by: Kevin Peng <kg-kevingarnett@hotmail.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| b048d329 | 08-Jun-2018 |
Sourabh <sourabhdas143@gmail.com> |
user_ta: should go for other TA stores on any load error
There seems to be an issue that if RPMB_FS is enabled in OPTEE and TA is present in REE (normal file system), if priority for secure storage
user_ta: should go for other TA stores on any load error
There seems to be an issue that if RPMB_FS is enabled in OPTEE and TA is present in REE (normal file system), if priority for secure storage TA is higher and RPMB initialization fails, the error is returned and the OPTEE doesn't goes to find the TA from REE TA store.
The issue is fixed by adding a 'continue' statement after printing the respective error.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Sourabh Das <sourabhdas143@gmail.com>
show more ...
|
| 5c54fb3e | 10-Jul-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ci: shippable: build with CFG_TEE_CORE_LOG_LEVEL=0
Adds a separate build with only CFG_TEE_CORE_LOG_LEVEL=0 set.
Needed to catch the error fixed in https://github.com/OP-TEE/optee_os/pull/2454
Ack
ci: shippable: build with CFG_TEE_CORE_LOG_LEVEL=0
Adds a separate build with only CFG_TEE_CORE_LOG_LEVEL=0 set.
Needed to catch the error fixed in https://github.com/OP-TEE/optee_os/pull/2454
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 44061046 | 10-Jul-2018 |
Peng Fan <peng.fan@nxp.com> |
core: unwind: correct function args for print_stack_arm32/64
When CFG_TEE_CORE_LOG_LEVEL=0 to make, met build failure: " core/arch/arm/kernel/abort.c: In function '__print_stack_unwind_arm32': core/
core: unwind: correct function args for print_stack_arm32/64
When CFG_TEE_CORE_LOG_LEVEL=0 to make, met build failure: " core/arch/arm/kernel/abort.c: In function '__print_stack_unwind_arm32': core/arch/arm/kernel/abort.c:113:2: error: too many arguments to function 'print_stack_arm32' print_stack_arm32(TRACE_ERROR, &state, exidx, exidx_sz, kernel_stack, ^~~~~~~~~~~~~~~~~ "
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0111b5f0 | 05-Jul-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
mk/config.mk: remove obsolete comment
NOWERROR=1 has been made obsolete by commit beb065df6ee5 ("Do not set -Werror by default"). Remove it.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro
mk/config.mk: remove obsolete comment
NOWERROR=1 has been made obsolete by commit beb065df6ee5 ("Do not set -Werror by default"). Remove it.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f6d17e33 | 05-Jul-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: define syscall_t as void (*)(void)
syscall_t is currently typedef'ed as TEE_Result (*)(void). It is used to represent a pointer to any system call, in the syscall table for instance. As such,
core: define syscall_t as void (*)(void)
syscall_t is currently typedef'ed as TEE_Result (*)(void). It is used to represent a pointer to any system call, in the syscall table for instance. As such, the exact type behind syscall_t cannot reflect all the syscalls since they have different prototypes. The current declaration with a TEE_Result return type was probably chosen because it was a common characteristic of all syscalls to return a TEE_Result.
However, this type causes compilation warnings with GCC 8.1:
core/arch/arm/tee/arch_svc.c:43:36: warning: cast between incompatible function types from ‘void (*)(long unsigned int)’ to ‘TEE_Result (*)(void)’ {aka ‘unsigned int (*)(void)’} [-Wcast-function-type] #define SYSCALL_ENTRY(_fn) { .fn = (syscall_t)_fn } ^ core/arch/arm/tee/arch_svc.c:50:2: note: in expansion of macro ‘SYSCALL_ENTRY’ SYSCALL_ENTRY(syscall_sys_return), ^~~~~~~~~~~~~
The solution is to use 'void (*)(void)' instead, as explained in the GCC documentation:
-Wcast-function-type
Warn when a function pointer is cast to an incompatible function pointer. [...] The function type void (*) (void) is special and matches everything, which can be used to suppress this warning. [...]
Link: [1] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|