| 3cdf0b24 | 11-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: kernel: sbi: add RISC-V SBI interface
Allow OP-TEE core running in S-Mode (supervisor) to interface with Supervisor Execution Environment (SEE) through environmental calls (ecall). Adds CFG_R
riscv: kernel: sbi: add RISC-V SBI interface
Allow OP-TEE core running in S-Mode (supervisor) to interface with Supervisor Execution Environment (SEE) through environmental calls (ecall). Adds CFG_RISCV_SBI flag to enable or disable it.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: set author to be same as Signed-off-by:] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7c14296e | 11-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: core: riscv.mk: select privilege mode of OP-TEE core
Introduce CFG_RISCV_M_MODE and CFG_RISCV_S_MODE flags to decide in which privilege level OP-TEE OS will run, respectively, machine mode or
riscv: core: riscv.mk: select privilege mode of OP-TEE core
Introduce CFG_RISCV_M_MODE and CFG_RISCV_S_MODE flags to decide in which privilege level OP-TEE OS will run, respectively, machine mode or supervisor mode.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: set author to be same as Signed-off-by:] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b18d0251 | 08-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: kernel: spinlock.S: make __cpu_spin_trylock() visible
Function __cpu_spin_trylock() is need by trace_ext.c, therefore, do not hide it.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp
riscv: kernel: spinlock.S: make __cpu_spin_trylock() visible
Function __cpu_spin_trylock() is need by trace_ext.c, therefore, do not hide it.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5305bce1 | 08-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move trace_ext.c to core/kernel
Functions in trace_ext.c are architecture independent, therefore, code could be moved to core/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubak
core: kernel: move trace_ext.c to core/kernel
Functions in trace_ext.c are architecture independent, therefore, code could be moved to core/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7e85f665 | 02-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: plat-spike: conf.mk: set CFG_TEE_CORE_LOG_LEVEL to default
Do not force CFG_TEE_CORE_LOG_LEVEL to zero in core/arch/riscv/plat-spike/conf.mk
Signed-off-by: Marouene Boubakri <marouene.boubak
riscv: plat-spike: conf.mk: set CFG_TEE_CORE_LOG_LEVEL to default
Do not force CFG_TEE_CORE_LOG_LEVEL to zero in core/arch/riscv/plat-spike/conf.mk
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2f39a4c2 | 02-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: mm: tlb_helpers_rv.S: translation look-aside buffer invalidate
Implement tlbi_all(), tlbi_mva_allasid() and tlbi_asid() using supervisor memory-management fence instruction SFENCE.VMA.
Signe
riscv: mm: tlb_helpers_rv.S: translation look-aside buffer invalidate
Implement tlbi_all(), tlbi_mva_allasid() and tlbi_asid() using supervisor memory-management fence instruction SFENCE.VMA.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| be65c5c6 | 02-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: plat-spike: conf.mk: set CFG_TEE_RAM_VA_SIZE to 4MB
Set CFG_TEE_RAM_VA_SIZE to 0x00400000 in core/arch/riscv/plat-spike/conf.mk
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> A
riscv: plat-spike: conf.mk: set CFG_TEE_RAM_VA_SIZE to 4MB
Set CFG_TEE_RAM_VA_SIZE to 0x00400000 in core/arch/riscv/plat-spike/conf.mk
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ef501733 | 08-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: riscv_macros.S: define RISC-V macro helpers
Add multiplication macro for RISC-V harts without M extension.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jer
riscv: include: riscv_macros.S: define RISC-V macro helpers
Add multiplication macro for RISC-V harts without M extension.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c560e97f | 01-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: kernel: add stub for tee_time_get_sys_time()
A stub implementation which returns TEE_ERROR_NOT_IMPLEMENTED for now.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jen
riscv: kernel: add stub for tee_time_get_sys_time()
A stub implementation which returns TEE_ERROR_NOT_IMPLEMENTED for now.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 46a20318 | 01-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: kernel: idle.c: implement cpu_idle()
Required by panic() to abort current execution. It ensures memory operations were complete and stalls the hart.
Signed-off-by: Marouene Boubakri <marouen
riscv: kernel: idle.c: implement cpu_idle()
Required by panic() to abort current execution. It ensures memory operations were complete and stalls the hart.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 19bdabb5 | 31-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: kernel: main.c: implement tee_otp_get_hw_unique_key()
Sets the hardware unique key to zero. To model OTP device, Spike introduce the ability to write plugins in the form of shared object file
riscv: kernel: main.c: implement tee_otp_get_hw_unique_key()
Sets the hardware unique key to zero. To model OTP device, Spike introduce the ability to write plugins in the form of shared object files that allow user-defined Memory-Mapped-I/O behaviors.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 44588001 | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: add core_mmu_arch.h
Add defines for MMU configuration and helper functions.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Etienne Carriere <etienne.carriere
riscv: include: add core_mmu_arch.h
Add defines for MMU configuration and helper functions.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 6d816494 | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: add thread_arch.h
Minimalist version which defines contexts registers structures and thread local structure. This to allow compiling for RISC-V architecture.
Signed-off-by: Marouene
riscv: include: add thread_arch.h
Minimalist version which defines contexts registers structures and thread local structure. This to allow compiling for RISC-V architecture.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| a92f3814 | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: add cache_helpers_arch.h
Nothing to define for now.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 5f7b832a | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: core: define CFG_MAX_CACHE_LINE_SHIFT in riscv.mk
Define platform specific maximum cache line size in address lines.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Je
riscv: core: define CFG_MAX_CACHE_LINE_SHIFT in riscv.mk
Define platform specific maximum cache line size in address lines.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f1badf16 | 17-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: include: cache_helpers.h: allow reusing architecture-dependent code
To allow reuse of architecture-dependent code, divide original cache_helpers.h into two separate header files core/$arch/inc
core: include: cache_helpers.h: allow reusing architecture-dependent code
To allow reuse of architecture-dependent code, divide original cache_helpers.h into two separate header files core/$arch/include/kernel/cache_helpers_arch.h and core/include/kernel/cache_helpers.h
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> [jf: set author to be same as Signed-off-by:] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b2c54937 | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: kernel: add tee_l2cc_mutex.h
The tee_l2cc_mutex.h header file is required by core/mm/core_mmu.c and core/mm/vm.c, therefore, add an empty one to pass compilation.
Signed-off-by: Mar
riscv: include: kernel: add tee_l2cc_mutex.h
The tee_l2cc_mutex.h header file is required by core/mm/core_mmu.c and core/mm/vm.c, therefore, add an empty one to pass compilation.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8fe58e85 | 24-Oct-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: include: add misc_arch.h
Nothing to define for now.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> |
| 4e9ed1a9 | 17-Nov-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: include: misc.h: divide into misc.h and misc_arch.h
get_core_pos() is architecture-independent function and could be re-used by an arch implementation, therefore, move it to a separate header
core: include: misc.h: divide into misc.h and misc_arch.h
get_core_pos() is architecture-independent function and could be re-used by an arch implementation, therefore, move it to a separate header file core/include/kernel/misc.h, and, keep architecture-dependent code in core/$arch/include/kernel/misc_arch.h
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: set author to be same as Signed-off-by:] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 593b94ee | 23-Nov-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: remove pager annotations
Configuration with pager and FF-A is currently not supported. Supporting this would require extensions to the FF-A specification to be able to load OP-TEE with pa
core: ffa: remove pager annotations
Configuration with pager and FF-A is currently not supported. Supporting this would require extensions to the FF-A specification to be able to load OP-TEE with paging enabled. So far we don't have any platforms with FF-A which are memory constrained enough that paging can be motivated. If this would change we'll have a good use case to test with when adding pager support for FF-A.
Currently we have a few pager annotations (DECLARE_KEEP_PAGER() and __*_unpaged) which are effectively unused. So save us from adding yet more unused annotations by removing the few we have in the FF-A specific code.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a951fe52 | 16-Nov-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: arm: stmm: use mempool to decompress stmm image
Changes StMM management to have zlib using default mempool to allocate buffers for StMM image decompression. This is useful as the process can r
core: arm: stmm: use mempool to decompress stmm image
Changes StMM management to have zlib using default mempool to allocate buffers for StMM image decompression. This is useful as the process can require buffer of several kilobytes.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 27c1358c | 18-Nov-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: arm: stmm: preserve usr_lr register in stmm context
Adds management of CPU user mode LR register when executing StMM.
Generic function __thread_enter_user_mode() does not load that register i
core: arm: stmm: preserve usr_lr register in stmm context
Adds management of CPU user mode LR register when executing StMM.
Generic function __thread_enter_user_mode() does not load that register in the user mode context while StMM expects it is preserved between exit and next entry. Therefore this change loads and saves that register into StMM context from stmm_enter_user_mode() while in thread entry atomic context.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| cc4054ff | 17-Nov-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: arm: thread: 32bit helpers thread_get_usr_lr()/thread_set_usr_lr()
Adds helper function thread_get_usr_lr() and thread_set_usr_lr() to read and write CPU USR_LR banked register.
Reviewed-by:
core: arm: thread: 32bit helpers thread_get_usr_lr()/thread_set_usr_lr()
Adds helper function thread_get_usr_lr() and thread_set_usr_lr() to read and write CPU USR_LR banked register.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 438f0055 | 17-Oct-2022 |
Jelle Sels <jelle.sels@arm.com> |
core: ffa: Add support for FFA_MEM_PERM_GET/SET
Handle FFA_MEM_PERM_GET and FFA_MEM_PERM_SET interfaces for enabling SPs to query and set the access rights of their memory regions. These interfaces
core: ffa: Add support for FFA_MEM_PERM_GET/SET
Handle FFA_MEM_PERM_GET and FFA_MEM_PERM_SET interfaces for enabling SPs to query and set the access rights of their memory regions. These interfaces are only permitted in the initialization phase thus a new state variable is being introduced in sp_session. SPs indicate the end of their initialization phase through the FFA_MSG_WAIT interface.
Co-developed-by: Imre Kis <imre.kis@arm.com> Signed-off-by: Imre Kis <imre.kis@arm.com> Signed-off-by: Jelle Sels <jelle.sels@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| dc23c448 | 20-Oct-2022 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: versal: authentication driver
This driver uses the PLM xilsecure service to deliver authentication functionality using AES-GCM.
The driver currently does not handle unaligned data and lengt
crypto: versal: authentication driver
This driver uses the PLM xilsecure service to deliver authentication functionality using AES-GCM.
The driver currently does not handle unaligned data and lengths; due to this the corresponding xtest regression test will not pass (xtest -t regression 4005 will fail).
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|