| #
82631bd4 |
| 13-Mar-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add CFG_CALLOUT
Add CFG_CALLOUT with a default value assigned from CFG_CORE_ASYNC_NOTIF to control if the callout service should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: add CFG_CALLOUT
Add CFG_CALLOUT with a default value assigned from CFG_CORE_ASYNC_NOTIF to control if the callout service should be enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
5b7afacf |
| 02-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: implement timer_init_callout_service()
Implement timer_init_callout_service() needed to initialize and drive the callout service. Only available in AArch64.
Signed-off-by: Jens Wikland
core: arm64: implement timer_init_callout_service()
Implement timer_init_callout_service() needed to initialize and drive the callout service. Only available in AArch64.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
a9a3bf98 |
| 22-Feb-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm64: implement __do_semihosting() for Aarch64
Implement __do_semihosting() as documented in the "Semihosting for Aarch32 and Aarch64" specification [1].
Link: https://github.com/ARM-softwar
core: arm64: implement __do_semihosting() for Aarch64
Implement __do_semihosting() as documented in the "Semihosting for Aarch32 and Aarch64" specification [1].
Link: https://github.com/ARM-software/abi-aa/blob/2023Q3/semihosting/semihosting.rst [1] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
ea4cafa0 |
| 24-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: remove AArch32 support
The FF-A and AArch32 configuration was prior to this patch not compile tested and not used upstream. So remove the AArch32 support for FF-A configurations so save m
core: ffa: remove AArch32 support
The FF-A and AArch32 configuration was prior to this patch not compile tested and not used upstream. So remove the AArch32 support for FF-A configurations so save maintenance effort.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
b76b2296 |
| 03-Feb-2023 |
Jerome Forissier <jerome.forissier@linaro.org> |
virt: rename CFG_VIRTUALIZATION to CFG_NS_VIRTUALIZATION
With the advent of virtualization support at S-EL2 in the Armv8.4-A architecture, CFG_VIRTUALIZATION has become ambiguous. Let's rename it to
virt: rename CFG_VIRTUALIZATION to CFG_NS_VIRTUALIZATION
With the advent of virtualization support at S-EL2 in the Armv8.4-A architecture, CFG_VIRTUALIZATION has become ambiguous. Let's rename it to CFG_NS_VIRTUALIZATION to indicate more clearly that it is about supporting virtualization on the non-secure side.
This commit is the result of the following command:
$ for f in $(git grep -l -w CFG_VIRTUALIZATION); do \ sed -i -e 's/CFG_VIRTUALIZATION/CFG_NS_VIRTUALIZATION/g' $f; \ done
...plus the compatibility line in mk/config.mk:
CFG_NS_VIRTUALIZATION ?= $(CFG_VIRTUALIZATION)
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
show more ...
|
| #
d8e4ae07 |
| 01-Feb-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move ldelf_loader.c to core/kernel
Make other architecture implementations benefit from ldelf_loader.c, therefore move it from core/arch/arm/kernel to core/kernel. The header file is a
core: kernel: move ldelf_loader.c to core/kernel
Make other architecture implementations benefit from ldelf_loader.c, therefore move it from core/arch/arm/kernel to core/kernel. The header file is already located outside the arch folder.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
fc82e622 |
| 19-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: finalize scall layer
Finalizes the new scall layer by renaming remaining files so the generic scall layer resides in core/include/kernel/scall.h and core/kernel/scall.c.
New architectures are
core: finalize scall layer
Finalizes the new scall layer by renaming remaining files so the generic scall layer resides in core/include/kernel/scall.h and core/kernel/scall.c.
New architectures are expected to provide a core/arch/arm/include/kernel/arch_scall.h with functions needed to deal with the architecture specific struct thread_scall_regs usage in core/kernel/scall.c.
New architectures are also expected to provide an implementation of scall_save_panic_stack() called from scall_sys_return_helper().
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
a0ea786e |
| 19-Dec-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: provide scall_save_panic_stack()
Provides an architecture specific function scall_save_panic_stack() in core/arch/arm/kernel/arch_scall.c. This function and its helpers are extracted from core
core: provide scall_save_panic_stack()
Provides an architecture specific function scall_save_panic_stack() in core/arch/arm/kernel/arch_scall.c. This function and its helpers are extracted from core/arch/arm/tee/arch_svc.c.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
683b6d2c |
| 03-Jan-2023 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move otp_stubs.c to core/kernel
otp_stubs.c is architecture-agnostic, therefore, move it from core/arch/arm/kernel to core/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@
core: kernel: move otp_stubs.c to core/kernel
otp_stubs.c is architecture-agnostic, therefore, move it from core/arch/arm/kernel to core/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
c67c4c8d |
| 01-Dec-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: delay: sort-out architecture-independant code from arch dir
This commit moves core/arch/arm/kernel/delay.c to core/kernel/delay.c. Keeps architecture-dependant code in core/arch/$ARCH/
core: kernel: delay: sort-out architecture-independant code from arch dir
This commit moves core/arch/arm/kernel/delay.c to core/kernel/delay.c. Keeps architecture-dependant code in core/arch/$ARCH/include/kernel/delay_arch.h and moves generic functions to core/include/kernel/delay.h
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
14c0df4e |
| 01-Dec-2022 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: move tee_time.c and tee_time_ree.c to core/kernel
tee_time.c and tee_time_ree.c are architecture-independant code therefore move them from core/arch/arm/kernel to core/kernel.
Signed-off-by:
core: move tee_time.c and tee_time_ree.c to core/kernel
tee_time.c and tee_time_ree.c are architecture-independant code therefore move them from core/arch/arm/kernel to core/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-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 ...
|
| #
ec835942 |
| 20-Dec-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move spin_lock_debug.c to core/kernel
Source file spin_lock_debug.c does not contain architecture-specific code therefore, move it from core/arch/arm/kernel to core/kernel and remove u
core: kernel: move spin_lock_debug.c to core/kernel
Source file spin_lock_debug.c does not contain architecture-specific code therefore, move it from core/arch/arm/kernel to core/kernel and remove unused header thread_private.h
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| #
519bf5f1 |
| 27-Aug-2021 |
Jerome Forissier <jerome@forissier.org> |
core: arm: implement cpu_idle()
Implement cpu_idle() on arm and arm64, based on wfi(). With this patch, a panicked CPU no longer burns cycles needlessly.
Signed-off-by: Jerome Forissier <jerome@for
core: arm: implement cpu_idle()
Implement cpu_idle() on arm and arm64, based on wfi(). With this patch, a panicked CPU no longer burns cycles needlessly.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
5418501a |
| 02-Apr-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move embedded_ts.c to core/kernel
The embedded_ts.c code is not architecture-specific, therefore, move it to core/kernel and move embedded_ts.h to core/include/kernel.
Signed-off-by:
core: kernel: move embedded_ts.c to core/kernel
The embedded_ts.c code is not architecture-specific, therefore, move it to core/kernel and move embedded_ts.h to core/include/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
eea7974a |
| 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move secstor_ta.c to core/tee
secstor_ta.c is not architecture-specific code, therefore move it to core/tee.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by:
core: kernel: move secstor_ta.c to core/tee
secstor_ta.c is not architecture-specific code, therefore move it to core/tee.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
c34c183a |
| 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move ree_fs_ta.c to core/tee
ree_fs_ta.c is not architecture-specific code, therefore move it to core/tee.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Je
core: kernel: move ree_fs_ta.c to core/tee
ree_fs_ta.c is not architecture-specific code, therefore move it to core/tee.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
1bfc1082 |
| 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move early_ta.c to core/tee
early_ta.c is not architecture-specific code, therefore move it to core/tee. Moves early_ta.h to core/include/kernel as well.
Signed-off-by: Marouene Bouba
core: kernel: move early_ta.c to core/tee
early_ta.c is not architecture-specific code, therefore move it to core/tee. Moves early_ta.h to core/include/kernel as well.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
a54f2bb7 |
| 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move pseudo_ta.c to core/tee
pseudo_ta.c is not architecture-specific code, therefore move it to core/tee. pseudo_ta.h is already located under core/include/kernel
Signed-off-by: Maro
core: kernel: move pseudo_ta.c to core/tee
pseudo_ta.c is not architecture-specific code, therefore move it to core/tee. pseudo_ta.h is already located under core/include/kernel
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
d3977ed1 |
| 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move user_ta.c to core/tee
user_ta.c is not architecture-specific code, therefore move it to core/tee. user_ta.h is already located under core/include/kernel.
Signed-off-by: Marouene
core: kernel: move user_ta.c to core/tee
user_ta.c is not architecture-specific code, therefore move it to core/tee. user_ta.h is already located under core/include/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
ae6b3380 |
| 21-Jan-2021 |
Jelle Sels <jelle.sels@arm.com> |
core: Add ffa_msg_send_req and ffa_msg_send_resp
Add FF-A message handling of FFA_MSG_SEND_DIRECT_REQ_32 and FFA_MSG_SEND_DIRECT_RESP_32 messages. The FFA_MSG_SEND_DIRECT_RESP_32 message is used to
core: Add ffa_msg_send_req and ffa_msg_send_resp
Add FF-A message handling of FFA_MSG_SEND_DIRECT_REQ_32 and FFA_MSG_SEND_DIRECT_RESP_32 messages. The FFA_MSG_SEND_DIRECT_RESP_32 message is used to send a message from one FF-A endpoint to a second FF-A endpoint. FFA_MSG_SEND_DIRECT_RESP_32 is used to send a response message from the callee to the caller.
A separate abstraction is made (spmc_sp_handler) for handling FF-A messages received from secure endpoints (SP). thread_spmc_msg_recv() is still used for handling all FF-A messages coming from the Normal World. When a FFA_MSG_SEND_DIRECT_REQ_32 message is received for the Normal World a new kernel thread is started and spmc_sp_msg_handler() is run. spmc_sp_msg_handler() is used as the main message handler for handling the FF-A messages coming from SPs.
Whenever a message is sent to the normal world the thread is finished and the FF-A message is forwarded to the Normal World.
Whenever a SVC exception is received from an SP, the whole context is saved and executions is resumed in S-EL1. The first 8 register (FF-A registers x0-x7) contain the FF-A message and are used to handle the message by the SPMC.
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 ...
|
| #
51f49692 |
| 01-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: mutex: mutex is abstract pull it from arch folder
This commit moves mutex* and wait_queue* from arch folder to core/kernel to make it architecture-independent.
Signed-off-by: Marouene Boubakr
core: mutex: mutex is abstract pull it from arch folder
This commit moves mutex* and wait_queue* from arch folder to core/kernel to make it architecture-independent.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
8826a6aa |
| 12-Feb-2021 |
Jerome Forissier <jerome@forissier.org> |
build: core: add missing dependencies when generating assembly constants
The header file <generated/asm-defines.h> is created at build time. It contains macro definitions for various offsets in C st
build: core: add missing dependencies when generating assembly constants
The header file <generated/asm-defines.h> is created at build time. It contains macro definitions for various offsets in C structures and is especially useful for use from assembler code. It is generated from asm-defines.c, which includes a number of header files, of which two are also generated at build time: <generated/arm32_sysreg.h> and <generated/arm32_gicv3_sysreg.h>.
These dependencies are expressed nowhere in the makefiles and therefore build errors can result. For example:
$ make out/arm-plat-vexpress/core/include/generated/.asm-defines.s CHK out/arm-plat-vexpress/conf.mk UPD out/arm-plat-vexpress/conf.mk CHK out/arm-plat-vexpress/include/generated/conf.h UPD out/arm-plat-vexpress/include/generated/conf.h CC out/arm-plat-vexpress/core/include/generated/.asm-defines.s In file included from core/arch/arm/include/arm.h:99, from core/arch/arm/include/kernel/thread.h:12, from core/arch/arm/kernel/asm-defines.c:8: core/arch/arm/include/arm32.h:167:10: fatal error: generated/arm32_sysreg.h: No such file or directory 167 | #include <generated/arm32_sysreg.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.
The error in [1] is believed to have the same root cause: during parallel build the generated header file might have been created by one job but not yet written to when another job would open it. The compiler would see an empty file, thus the missing declarations.
Add the missing dependencies via a new variable at the location where asm-defines.c is added to the build.
Note that the other core .c files depending on these generated sysreg headers are not affected because their .o files explicitly depend on FORCE-GENSRCcore (which generates the headers).
Link: [1] https://ci.linaro.org/job/ledge-oe-premerge-ci/182/DISTRO=rpb,MACHINE=ledge-ti-am572x,label=docker-buster-amd64/console Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
486d6e39 |
| 27-Oct-2020 |
Balint Dobszay <balint.dobszay@arm.com> |
core: extract ldelf related code from user_ta.c
Moves ldelf functionality from user_ta.c to a separate file. This is the first step for decoupling ldelf from user TAs.
Reviewed-by: Jens Wiklander <
core: extract ldelf related code from user_ta.c
Moves ldelf functionality from user_ta.c to a separate file. This is the first step for decoupling ldelf from user TAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| #
dea46be3 |
| 06-Oct-2020 |
Jelle Sels <jelle.sels@arm.com> |
core: add secure partitions store
SPs need to be started as part of the initialisation process of the OP-TEE kernel. The secure partition store uses the embedded_ts store to load SPs
Signed-off-by:
core: add secure partitions store
SPs need to be started as part of the initialisation process of the OP-TEE kernel. The secure partition store uses the embedded_ts store to load SPs
Signed-off-by: Jelle Sels <jelle.sels@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|