| 37a87df8 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.o
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a05577ea | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and malloc.h to pta_stats.h header file.
For that purpose, define ALLOC_ID_* macros to identify each allocator one can query information from through the statistics PTA API.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 761fc6ec | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA API more consistent regarding other PTAs.
Explicitly include tee_api_types.h from stats.c source file.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 12f658b9 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissi
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 54115809 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: rename struct tee_ta_dump_stats
Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI,
core: rename struct tee_ta_dump_stats
Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, located in libutee/include/ as already done for all other PTAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2617f49f | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, l
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, located in libutee/include/ as already done for all other PTAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 83f153ae | 30-Nov-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
plat-aspeed: ast2700: use gic_init_v3()
Use gic_init_v3() with the GICR base address.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 7954812c | 30-Nov-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
core: arm: fix NS entry for secondary cores
The NS entry was originally stashed from LR to R5. The commit f332e77c4b7c ("core: arm: refactor boot argument handling") revised the LR preservation to R
core: arm: fix NS entry for secondary cores
The NS entry was originally stashed from LR to R5. The commit f332e77c4b7c ("core: arm: refactor boot argument handling") revised the LR preservation to R8. Therefore, the way to retrieve the NS entry for secondary cores should be updated as well.
Fixes: f332e77c4b7c ("core: arm: refactor boot argument handling") Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0f50ba5a | 28-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix objectUsage handling for persistent objects
Before this patch was the object usage field stored in the non-persistent part of an object handle, regardless of whether the storage object was
core: fix objectUsage handling for persistent objects
Before this patch was the object usage field stored in the non-persistent part of an object handle, regardless of whether the storage object was persistent. This prevents updates to this field from being restored the next time the persistent object is opened. Updates to the field are also not replicated to eventual other open handles for the object. Fix this by storing the "usage" bits in a new obj_info_usage field in struct tee_pobj for persistent objects. Updates to the field are also written into secure storage to preserve the content the next time the object is opened.
Fixes: b01047730e77 ("Open-source the TEE Core") Closes: https://github.com/OP-TEE/optee_os/issues/6495 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| aac2c716 | 28-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: print clock tree with debug trace level
Change clk_print_tree() to print the clock tree with debug trace level instead of info trace level.
Add a test on TRACE_LEVEL >= TRACE_DEBUG in
drivers: clk: print clock tree with debug trace level
Change clk_print_tree() to print the clock tree with debug trace level instead of info trace level.
Add a test on TRACE_LEVEL >= TRACE_DEBUG in clk_print_tree() to ensures no unless code is embedded when the trace level is too low.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 4362d4f9 | 27-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: remove spinlock in clk_print_tree()
Remove spinlock handling from clk_print_tree(). This lock may mask interrupts for a long period of time which and may affect the system behavior. Si
drivers: clk: remove spinlock in clk_print_tree()
Remove spinlock handling from clk_print_tree(). This lock may mask interrupts for a long period of time which and may affect the system behavior. Since there is no clock unregistering and clock destroying function, all clock references used are safe to use, even outside the locked state. Whether or not printed information is accurate is not an issue as clk_print_tree() is concerned as the function is only informative.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e64dede3 | 26-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: print tree without recursion
Remove recursive calls used in clk_print_tree() implementation using list parsing algorithm to prevent uncontrolled stack overflows.
Print "-- No register
drivers: clk: print tree without recursion
Remove recursive calls used in clk_print_tree() implementation using list parsing algorithm to prevent uncontrolled stack overflows.
Print "-- No registered clock" instead of nothing after "Clock tree summary" trace message when there are no registered clocks.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bff6a848 | 26-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: assert registered clock pointer is not NULL
Fix clk_register() assertion entry instruction to print an assertion error message on NULL clock pointer instead of issuing a segmentation f
drivers: clk: assert registered clock pointer is not NULL
Fix clk_register() assertion entry instruction to print an assertion error message on NULL clock pointer instead of issuing a segmentation fault.
Fixes: 2305544b3b9b ("drivers: clk: add generic clock framework") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f7299836 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK
Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK is disabled. This allows generic code as the statistics PTA to no
drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK
Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK is disabled. This allows generic code as the statistics PTA to not rely on #ifdef CFG_DRIVERS_CLK pragma.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2b13eca6 | 24-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: change queue from STAILQ to SLIST
Replace registered clock list from a STAILQ queue to a SLIST queue that is enough for our purpose.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro
drivers: clk: change queue from STAILQ to SLIST
Replace registered clock list from a STAILQ queue to a SLIST queue that is enough for our purpose.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d876c674 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: donate a secure SGI to normal world
With OP-TEE acting as SPMC in S-EL1 donate a secure SGI to normal world to be used to signal asynchronous notifications for FF-A.
Signed-off-by: J
plat-vexpress: donate a secure SGI to normal world
With OP-TEE acting as SPMC in S-EL1 donate a secure SGI to normal world to be used to signal asynchronous notifications for FF-A.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2e02a737 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: add notifications with SPMC at S-EL1
Adds support for asynchronous notifications via FF-A with SPMC at S-EL1.
The OP-TEE FF-A ABI is extended to report support for asynchronous notificat
core: ffa: add notifications with SPMC at S-EL1
Adds support for asynchronous notifications via FF-A with SPMC at S-EL1.
The OP-TEE FF-A ABI is extended to report support for asynchronous notifications during OPTEE_FFA_EXCHANGE_CAPABILITIES.
The SPMC at S-EL1 is extended to provide the FF-A notifications ABI to a normal world VM.
The notifications depends on having a non-secure SGI interrupt ID available to notify normal world that a notification is pending. Notifications becomes available once platform code has called thread_spmc_set_async_notif_intid() with a designed SGI ID.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 17c54670 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: special treatment for FFA_ERROR
If FFA_ERROR is received print the error code. If the FFA_ERROR is from the SPMC panic, else return back FFA_ERROR(FFA_NOT_SUPPORTED).
Signed-off-by: Jens
core: ffa: special treatment for FFA_ERROR
If FFA_ERROR is received print the error code. If the FFA_ERROR is from the SPMC panic, else return back FFA_ERROR(FFA_NOT_SUPPORTED).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 84603456 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: add gic_init_donate_sgi_to_ns()
Adds gic_init_donate_sgi_to_ns() which changes a secure SGI to become non-secure.
Secure world currently has a few SGIs to spare while normal world typica
core: gic: add gic_init_donate_sgi_to_ns()
Adds gic_init_donate_sgi_to_ns() which changes a secure SGI to become non-secure.
Secure world currently has a few SGIs to spare while normal world typically have reserved each of the non-secure SGIs for different purposes.
In case another non-secure SGI is needed secure world can donate one of its unused SGIs. This configuration will then deviate from the standard GIC configuration where SGI ID0-ID7 are non-secure and ID8-ID15 are secure.
Platforms using gic_init_donate_sgi_to_ns() should also use gic_init_per_cpu() instead of the deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d2524fc9 | 22-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: use gic_init_per_cpu()
Calls gic_init_per_cpu() instead of the now deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere
plat-vexpress: use gic_init_per_cpu()
Calls gic_init_per_cpu() instead of the now deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 5da157f5 | 22-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: deprecate gic_cpu_init()
Deprecates gic_cpu_init() in favor of the new function gic_init_per_cpu(). gic_cpu_init() is only supposed to be called by secondary CPUs in non-TF-A configurations w
core: deprecate gic_cpu_init()
Deprecates gic_cpu_init() in favor of the new function gic_init_per_cpu(). gic_cpu_init() is only supposed to be called by secondary CPUs in non-TF-A configurations while gic_init_per_cpu() should be called by all secondary CPUs. gic_init_per_cpu() itself takes CFG_WITH_ARM_TRUSTED_FW into account instead of having each platform doing that.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 462028ed | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
qemu_armv8a: add GIC v3 redistributor base address
Adds and configures the GIC v3 redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <e
qemu_armv8a: add GIC v3 redistributor base address
Adds and configures the GIC v3 redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 05089e5f | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: use redistributor CPU interface
GICv3 has a redistributor CPU interface that until now hasn't been used. To prepare for coming patches that need to access the redistributor initialize a l
core: gic: use redistributor CPU interface
GICv3 has a redistributor CPU interface that until now hasn't been used. To prepare for coming patches that need to access the redistributor initialize a list with each CPU specific redistributor address. A new function gic_init_v3() is added with a parameter for the redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 69171bec | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: check gic version
Adds a check to see that the version of the GIC matches the expected version.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <e
core: gic: check gic version
Adds a check to see that the version of the GIC matches the expected version.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bf2b1c94 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mobj_ffa.c: add reassuring comment in mobj_ffa_unregister_by_cookie()
Adds a reassuring comment in mobj_ffa_unregister_by_cookie() to explain why it may fail if the cookie hasn't been used yet
core: mobj_ffa.c: add reassuring comment in mobj_ffa_unregister_by_cookie()
Adds a reassuring comment in mobj_ffa_unregister_by_cookie() to explain why it may fail if the cookie hasn't been used yet. Updates the error message to include inactive_refs.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|