| #
ebc079eb |
| 26-Feb-2025 |
Alvin Chang <alvinga@andestech.com> |
core: arm: Remove dummy call_initcalls()
Remove call_initcalls() since we will remove prototype of this function.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jens Wiklander <jen
core: arm: Remove dummy call_initcalls()
Remove call_initcalls() since we will remove prototype of this function.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
show more ...
|
| #
913d93a4 |
| 12-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
Signed-off-by: Jens Wiklander <jens.wikland
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
faf09045 |
| 15-Jun-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before boot_init_primary_final() is called.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
5ca2c365 |
| 10-Jan-2024 |
Clement Faure <clement.faure@nxp.com> |
core: remove unnecessary includes
Remove unnecessary includes.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander
core: remove unnecessary includes
Remove unnecessary includes.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
f332e77c |
| 02-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: refactor boot argument handling
Adds a C function, boot_save_args(), to as early as possible analyze and save the needed parameters depending on the current configuration. The parameters
core: arm: refactor boot argument handling
Adds a C function, boot_save_args(), to as early as possible analyze and save the needed parameters depending on the current configuration. The parameters are stored in global variables, which are then accessed by the subsequently called functions, boot_init_primary_early(), boot_init_primary_late(), and get_aslr_seed().
entry_a32.S now preserves {r0-r3,lr} and pass them to boot_save_args().
entry_a64.S now preserves {x0-x3} and pass them to boot_save_args() with zero in a5.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| #
b7de9d8c |
| 05-May-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove unused mobj_mm_alloc()
Removes the now unused mobj_mm_alloc(), struct mobj_mm, and friends.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienn
core: remove unused mobj_mm_alloc()
Removes the now unused mobj_mm_alloc(), struct mobj_mm, and friends.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
ce014b00 |
| 05-May-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove unused mobj_seccpy_shm_alloc()
Removes the now unused mobj_seccpy_shm_alloc(), struct mobj_seccpy_shm, and friends.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by:
core: remove unused mobj_seccpy_shm_alloc()
Removes the now unused mobj_seccpy_shm_alloc(), struct mobj_seccpy_shm, and friends.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
330e04ef |
| 13-Sep-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename tos_fw_config_dt to manifest_dt
Renames tos_fw_config_dt to manifest_dt as a preparation for coming patches to let it represent all device tree manifests provided in an FF-A configurati
core: rename tos_fw_config_dt to manifest_dt
Renames tos_fw_config_dt to manifest_dt as a preparation for coming patches to let it represent all device tree manifests provided in an FF-A configuration.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Leisen <leisen1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
809fa817 |
| 10-Feb-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: ffa: add TOS_FW_CONFIG handling
At boot TF-A passes two DT addresses (HW_CONFIG and TOS_FW_CONFIG), but currently only the HW_CONFIG address is saved, the other one is dropped. This commit add
core: ffa: add TOS_FW_CONFIG handling
At boot TF-A passes two DT addresses (HW_CONFIG and TOS_FW_CONFIG), but currently only the HW_CONFIG address is saved, the other one is dropped. This commit adds functionality to save the TOS_FW_CONFIG too, so we can retrieve it later. This is necessary for the CFG_CORE_SEL1_SPMC use case, because the SPMC manifest is passed in this DT.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
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 ...
|
| #
7e399f9b |
| 01-Feb-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: move thread_private.h to an include directory
Moves core/arch/arm/kernel/thread_private.h to a include directory to be included as <kernel/thread_private.h>.
Reviewed-by: Jerome Forissier <je
core: move thread_private.h to an include directory
Moves core/arch/arm/kernel/thread_private.h to a include directory to be included as <kernel/thread_private.h>.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
bd59a6ad |
| 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_preinitcalls()
Adds call_preinitcalls() for really early initcalls. This function is supposed to be called before call_initcalls() is called. With virtualization enabled it is called
core: add call_preinitcalls()
Adds call_preinitcalls() for really early initcalls. This function is supposed to be called before call_initcalls() is called. With virtualization enabled it is called in a blocking context when the OP-TEE partition is created.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
7213740b |
| 12-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: separate sp_ops using a __weak attribute instead
Breaks the dependency chain for sp_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.c.
Review
core: separate sp_ops using a __weak attribute instead
Breaks the dependency chain for sp_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.c.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, pager, Clang 12) Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
6abfa44e |
| 12-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: separate stmm_sp_ops using a __weak attribute instead
Breaks the dependency chain for stmm_sp_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.
core: separate stmm_sp_ops using a __weak attribute instead
Breaks the dependency chain for stmm_sp_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.c.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
76753661 |
| 12-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: separate user_ta_ops using a __weak attribute instead
Breaks the dependency chain for user_ta_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.
core: separate user_ta_ops using a __weak attribute instead
Breaks the dependency chain for user_ta_ops using the standard method with a __weak symbol and an overriding symbol in link_dummies_paged.c.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
077732a0 |
| 12-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make __wq_rpc() static again
With dependency chains properly broken for various ops structs we can make __wq_rpc() static again and remove it from link_dummies_paged.c.
Acked-by: Jerome Foris
core: make __wq_rpc() static again
With dependency chains properly broken for various ops structs we can make __wq_rpc() static again and remove it from link_dummies_paged.c.
Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
00361c18 |
| 12-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make __rodata_unpaged() symbols __weak
Makes the __rodata_unpaged tagged symbols __weak and non-static in order to be overridden in core/arch/arm/kernel/link_dummies_paged.c. This makes sure t
core: make __rodata_unpaged() symbols __weak
Makes the __rodata_unpaged tagged symbols __weak and non-static in order to be overridden in core/arch/arm/kernel/link_dummies_paged.c. This makes sure that these symbols doesn't bring in further symbols in the unpaged section.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
4107d2f9 |
| 16-Mar-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add a4 and a5 to thread_alloc_and_run()
Adds two parameters a4 and a5 to thread_alloc_and_run(), thread_std_smc_entry() and __thread_std_smc_entry().
Zeroes are passed where the new parameter
core: add a4 and a5 to thread_alloc_and_run()
Adds two parameters a4 and a5 to thread_alloc_and_run(), thread_std_smc_entry() and __thread_std_smc_entry().
Zeroes are passed where the new parameters are not needed.
This prepares for the next update of the FF-A ABI for OP-TEE where among other things one more register is used by OPTEE_FFA_YIELDING_CALL_WITH_ARG.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
59ac3801 |
| 21-Dec-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: split boot_init_primary()
Splits boot_init_primary() into boot_init_primary_early() and boot_init_primary_late(). The thread#0 stack pointer is assigned as stack pointer before boot_init_prima
core: split boot_init_primary()
Splits boot_init_primary() into boot_init_primary_early() and boot_init_primary_late(). The thread#0 stack pointer is assigned as stack pointer before boot_init_primary_late() is called. This allows functions registered to be called by call_finalcalls() to depend on the full thread stack being available.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
e3172f9d |
| 05-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_finalcalls()
Adds call_finalcalls() called at the end of paged_init_primary() just before switching to normal world boot. This allows separation of initcalls and finalcalls needed by
core: add call_finalcalls()
Adds call_finalcalls() called at the end of paged_init_primary() just before switching to normal world boot. This allows separation of initcalls and finalcalls needed by virtualization.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
c5c56024 |
| 05-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: call call_initcalls() directly
Now that init_teecore() is only a wrapper around call_initcalls(), drop that function and call call_initcalls() directly from init_tee_runtime().
Also move the
core: call call_initcalls() directly
Now that init_teecore() is only a wrapper around call_initcalls(), drop that function and call call_initcalls() directly from init_tee_runtime().
Also move the file to core/kernel/initcall.c since that's what it does.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
65401337 |
| 07-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove generic_ from generic_boot
Now that the CFG_GENERIC_BOOT configuration flag has been removed also remove "generic_" prefix from and in the related files.
Acked-by: Etienne Carriere <et
core: remove generic_ from generic_boot
Now that the CFG_GENERIC_BOOT configuration flag has been removed also remove "generic_" prefix from and in the related files.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
6146c647 |
| 08-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove unused core/arch/arm/tee/svc_dummy.c
The function tee_svc_handler() doesn't exist any longer so no need for a dummy implementation. Removes references to tee_svc_handler() and where applicabl
Remove unused core/arch/arm/tee/svc_dummy.c
The function tee_svc_handler() doesn't exist any longer so no need for a dummy implementation. Removes references to tee_svc_handler() and where applicable adds references to user_ta_handle_svc() instead.
Fixes: 7c732ee481c6 ("core: get svc handler from the context of current session") Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
a9a03ac4 |
| 05-May-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: boot: relax init sections from DT related resources
Move the initialization sequences that deal with device tree parsing support out of the text_init and rodata_init sections to relax memory p
core: boot: relax init sections from DT related resources
Move the initialization sequences that deal with device tree parsing support out of the text_init and rodata_init sections to relax memory pressure on them. To do so this change splits init_primary_helper() in 2 helper functions: generic_init_primary() for resources expected in the init sections and paged_init_primary() for resources that move the pageable sections.
Updates inline comments to state generic_boot_init_primary() lies in the init area, not in the unpaged area as wrongly stated prior this change.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1)
show more ...
|
| #
66f79941 |
| 26-Feb-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: exclude get_aslr_seed() from unpaged part
Excludes get_aslr_seed() from unpaged part and makes sure it's still in the init part.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-of
core: exclude get_aslr_seed() from unpaged part
Excludes get_aslr_seed() from unpaged part and makes sure it's still in the init part.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|