| 1d8a391c | 23-Mar-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: trace: make the trace output atomic
Use spinlock to make the trace output atomic. On SMP cores, different cores may puts out log to uart. If there is no lock, the log will be a mess.
Whe
core: arm: trace: make the trace output atomic
Use spinlock to make the trace output atomic. On SMP cores, different cores may puts out log to uart. If there is no lock, the log will be a mess.
When there is a contention, print out a '*'.
Need to disable interrupt, because cpu_spin_lock/unlock/trylock will invoke assert with CFG_TEE_CORE_DEBUG=y. So mask interrupt before lock, then un-mask interrupt after unlock.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (HiKey) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ef53fb06 | 14-Mar-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm64: support relocation type R_AARCH64_ABS64 (257)
If a 64-bit TA contains relocations of type R_AARCH64_ABS64, OP-TEE refuses to load it and logs the following error:
ERROR: TEE-CORE:
core: arm64: support relocation type R_AARCH64_ABS64 (257)
If a 64-bit TA contains relocations of type R_AARCH64_ABS64, OP-TEE refuses to load it and logs the following error:
ERROR: TEE-CORE: Unknown relocation type 257
This relocation type does not seem to happen in our test applications, but someone has experienced the issue after linking a TA against a third-party static library [1]. I could reproduce the issue by compiling the hello_world TA with -fPIC instead of -fpie. This simple change generates *one* R_AARCH64_ABS64 in the TA ELF file.
This commit adds the necessary code to support R_AARCH64_ABS64.
[1] https://github.com/OP-TEE/optee_os/issues/1399
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (qemu_v8) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 620e4edf | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: export pTA invoke_tests API to ease tests integration
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome
core: export pTA invoke_tests API to ease tests integration
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e17a0630 | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: pTA SDP memref parameters are reserved to secure clients
Accessing SDP memory from a pseudo TA is a secure service reserved to the secure clients. pseudo TAs involved in Secure Data Path setup
core: pTA SDP memref parameters are reserved to secure clients
Accessing SDP memory from a pseudo TA is a secure service reserved to the secure clients. pseudo TAs involved in Secure Data Path setups are expected to provide services for secure clients only: SDP TAs.
SDP memory are default not mapped in the core virtual mapping. When a pTA is invoked from a TA, the pTA uses the TA virtual mapping to access memref parameter buffers. When a pTA is invoked from the non secure world, the sequence relies on core virtual mapping. such SDP references would needed to be mapped. This is NOT supported in current implementation. Mapping SDP memref in the core will be implemented only once contributors really claim for such a support.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 42a1b201 | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: add cache maintenance to invocation test pseudo TA
Invocation test pseudo TA can be used to test SDP memory accesses from pseudo TAs. As SDP memory access may need cache maintenance, such main
core: add cache maintenance to invocation test pseudo TA
Invocation test pseudo TA can be used to test SDP memory accesses from pseudo TAs. As SDP memory access may need cache maintenance, such maintenance support is added to this test pseudo TA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f281425c | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: rename pseudo TA used for invocation tests
Pseudo TA "selftest" is mainly used to test invocation of pseudo TAs. Hence rename it 'invocation tests' pseudo TA.
Signed-off-by: Etienne Carriere
core: rename pseudo TA used for invocation tests
Pseudo TA "selftest" is mainly used to test invocation of pseudo TAs. Hence rename it 'invocation tests' pseudo TA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5d01ee0c | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: invocation test pseudo TA participates in SDP tests
Add inject/transform/dump commands support to the invocation test pseudo TA based on the "SDP basic test" setup from xtest. This change allo
core: invocation test pseudo TA participates in SDP tests
Add inject/transform/dump commands support to the invocation test pseudo TA based on the "SDP basic test" setup from xtest. This change allows to test invocation of a pseudo TA with SDP memory references from a user TA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5cf45d44 | 21-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: allow pseudo TA to access SDP memory references
This change also enables the SDP property for the pseudo TA used to test invocation of pseudo TAs in non-regression tests infrastructure.
Signe
core: allow pseudo TA to access SDP memory references
This change also enables the SDP property for the pseudo TA used to test invocation of pseudo TAs in non-regression tests infrastructure.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 28ad73f9 | 21-Mar-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: syscall_storage_reset_enum() must check e->fops before using it
An object enumerator that has just been allocated or reset has its fops field set to NULL. So, syscall_storage_reset_enum() must
core: syscall_storage_reset_enum() must check e->fops before using it
An object enumerator that has just been allocated or reset has its fops field set to NULL. So, syscall_storage_reset_enum() must take care of this.
Fixes: https://github.com/OP-TEE/optee_os/issues/1417 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b5acd532 | 20-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: rename mem_param into param_mem for consistency
Reported-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Fo
core: rename mem_param into param_mem for consistency
Reported-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0e247a3f | 20-Mar-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm: add a default test support for SDP
If SDP is enabled and no SDP memory is defined, a default SDP memory area of 3Mbyte is defined between the TA_RAM and the NS_SHM. This change allows to e
plat-stm: add a default test support for SDP
If SDP is enabled and no SDP memory is defined, a default SDP memory area of 3Mbyte is defined between the TA_RAM and the NS_SHM. This change allows to ease test of the SDP feature on the ST platforms.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| f1fba2e4 | 10-Mar-2017 |
Zhizhou Zhang <zhizhouzhang@asrmicro.com> |
core: fix core_mmu_find_table() failure
If va is larger than 0xffffffff, a unsigned n left shift by level_size_shift results undefined behavior. Lead core_mmu_find_table() return false mistakenly.
core: fix core_mmu_find_table() failure
If va is larger than 0xffffffff, a unsigned n left shift by level_size_shift results undefined behavior. Lead core_mmu_find_table() return false mistakenly.
Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: rebase] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0ea81463 | 17-Mar-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-sunxi: remove console.c
With the simplification of the console/UART code, we're left with only one function in console.c. Move it to main.c.
Signed-off-by: Jerome Forissier <jerome.forissier@l
plat-sunxi: remove console.c
With the simplification of the console/UART code, we're left with only one function in console.c. Move it to main.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 62c0a2c3 | 16-Mar-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-ti: remove console.c
With the simplification of the console/UART code, we're left with only one function in console.c. Move it to main.c.
Signed-off-by: Jerome Forissier <jerome.forissier@lina
plat-ti: remove console.c
With the simplification of the console/UART code, we're left with only one function in console.c. Move it to main.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 756aea59 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: add common implementation for console_putc() and console_flush()
Since most platforms now use the same console_putc() and console_flush(), move them to core/kernel/console.c. Make them __weak
core: add common implementation for console_putc() and console_flush()
Since most platforms now use the same console_putc() and console_flush(), move them to core/kernel/console.c. Make them __weak so that platforms may still provide their own. The common code expects the platforms to initialize whatever serial device from console_init() and call register_console().
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 0abbda6e | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert scif_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne
drivers: convert scif_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 2e5aa31b | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert ns16550 driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne C
drivers: convert ns16550 driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ab806dc3 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert sunxi_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienn
drivers: convert sunxi_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 59cfa779 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert sprd_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne
drivers: convert sprd_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d66fa083 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert serial8250_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: E
drivers: convert serial8250_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 62fff454 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert cdns_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne
drivers: convert cdns_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 26267e82 | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert imx_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne
drivers: convert imx_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ed7617df | 17-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert hi16xx_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etien
drivers: convert hi16xx_uart driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f182814b | 15-Feb-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: convert pl011 driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Car
drivers: convert pl011 driver to use struct serial_chip
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| a26e2529 | 16-Mar-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
drivers: serial: introduce struct io_pa_va
UART drivers typically need to be able to work with the MMU enabled or disabled (for instance, to support the early console). Introduce a structure that co
drivers: serial: introduce struct io_pa_va
UART drivers typically need to be able to work with the MMU enabled or disabled (for instance, to support the early console). Introduce a structure that contains both a PA and a VA, as well as a helper function to better abstract a device address.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|