| #
e3108fad |
| 10-Apr-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "lto-by-default" into integration
* changes: fix(libc): make sure __init functions are garbage collected fix(platforms): remove platform_core_pos_helper()
|
| #
96e46f58 |
| 03-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(platforms): remove platform_core_pos_helper()
Its last user was removed some time ago so it is no longer necessary.
Change-Id: I28264367abd2902ed0d3f207f686538a82a44eba Signed-off-by: Boyan Kar
fix(platforms): remove platform_core_pos_helper()
Its last user was removed some time ago so it is no longer necessary.
Change-Id: I28264367abd2902ed0d3f207f686538a82a44eba Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
d77a1ec5 |
| 07-Mar-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "xlnx_fix_gen_missing_brace" into integration
* changes: fix(platforms): modify function to have single return fix(el3-runtime): add missing curly braces fix(locks): a
Merge changes from topic "xlnx_fix_gen_missing_brace" into integration
* changes: fix(platforms): modify function to have single return fix(el3-runtime): add missing curly braces fix(locks): add missing curly braces fix(psci): add missing curly braces fix(bl31): add missing curly braces fix(console): add missing curly braces fix(arm-drivers): add missing curly braces fix(common): add missing curly braces fix(platforms): add missing curly braces
show more ...
|
| #
50029b9a |
| 25-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(platforms): modify function to have single return
This corrects the MISRA violation C2012-15.5: A function should have a single point of exit at the end. Introduced a temporary variable to store
fix(platforms): modify function to have single return
This corrects the MISRA violation C2012-15.5: A function should have a single point of exit at the end. Introduced a temporary variable to store the return value to ensure single return for the function.
Change-Id: I9c2ca05b506a6ac35b24966fc5fdd5e88e65770d Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| #
08fc380a |
| 17-Jun-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "st-nand-backup-fwu" into integration
* changes: refactor(st): rename plat_set_image_source feat(st): add FWU with boot from NAND feat(st): manage backup partitions fo
Merge changes from topic "st-nand-backup-fwu" into integration
* changes: refactor(st): rename plat_set_image_source feat(st): add FWU with boot from NAND feat(st): manage backup partitions for NAND devices feat(bl): add plat handler for image loading refactor(bl)!: remove unused plat_try_next_boot_source
show more ...
|
| #
a03dafe5 |
| 10-Apr-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(bl): add plat handler for image loading
In case of load error, platform may need to try another instance, either from another storage, or from the same storage in case of PSA FWU. On MTD device
feat(bl): add plat handler for image loading
In case of load error, platform may need to try another instance, either from another storage, or from the same storage in case of PSA FWU. On MTD devices such as NAND, it is required to define backup partitions. A new function plat_setup_try_img_ops() should be called by platform code to register handlers (plat_try_images_ops) to manage loading other images.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Change-Id: Ideaecaf296c0037a26fb4e6680f33e507111378a
show more ...
|
| #
72ac9810 |
| 08-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(console): consolidate console runtime switch refactor(synquacer): console runtime switch on bl31 exit refactor(
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(console): consolidate console runtime switch refactor(synquacer): console runtime switch on bl31 exit refactor(nxp): console runtime switch on bl31 exit refactor(nvidia): console runtime switch on bl31 exit refactor(hisilicon): console runtime switch on bl31 exit refactor(xilinx): console runtime switch on bl31 exit refactor(mediatek): console runtime switch on bl31 exit refactor(armada): console runtime switch on bl31 exit refactor(imx): console runtime switch on bl31 exit refactor(brcm): console runtime switch on bl31 exit
show more ...
|
| #
af3e8e63 |
| 21-Feb-2024 |
Salman Nabi <salman.nabi@arm.com> |
refactor(console): consolidate console runtime switch
Refactor console_flush() and console_switch_state(CONSOLE_FLAG_RUNTIME) to bl31_main(). This has been done per the recommendation in TF-A mailin
refactor(console): consolidate console runtime switch
Refactor console_flush() and console_switch_state(CONSOLE_FLAG_RUNTIME) to bl31_main(). This has been done per the recommendation in TF-A mailing list. These calls need to be the last calls, after any runtime initialization has been done, before BL31 exits.
All platforms that override the generic implementation of bl31_plat_runtime_setup() have been refactored. The console_flush() and console_switch_state() calls have been removed as they become part of bl31_main() function.
Any platform that don't need to make any change to the generic (weak) implementation of bl31_plat_runtime_setup() don't need to override it in their platforms.
Change-Id: I6d04d6daa9353daeaa7e3df9e9adf6f322a917b8 Signed-off-by: Salman Nabi <salman.nabi@arm.com>
show more ...
|
| #
fba343b0 |
| 07-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(misra): fix MISRA defects" into integration
|
| #
c42d0d87 |
| 04-Mar-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(misra): fix MISRA defects
This patch resolves the MISRA issues reported in mailing list. It addresses the following MISRA Rules violations - Rule 15.7 and Rule 2.4.
* As per Rule 15.7, All if..
fix(misra): fix MISRA defects
This patch resolves the MISRA issues reported in mailing list. It addresses the following MISRA Rules violations - Rule 15.7 and Rule 2.4.
* As per Rule 15.7, All if.. else if constructs should be terminated with an else statement and hence the conditional block has been changed to switch..case. Updated get_el_str() to include all EL cases.
* As per Rule 2.4, A project should not contain unused tag declarations, hence intr_type_desc tag is removed.
* bl31_lib_init is only used in translation unit and hence it's declaration is removed from bl31.h and the definition is made static to maintain visibility.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Ica1d3041566baf51befcad5fd3714189117ba193
show more ...
|
| #
4d5dcff0 |
| 04-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(allwinner): console runtime switch on bl31 exit refactor(arm): console runtime switch on bl31 exit refactor(con
Merge changes from topic "css_refactor_arm" into integration
* changes: refactor(allwinner): console runtime switch on bl31 exit refactor(arm): console runtime switch on bl31 exit refactor(console): flush before console_switch_state
show more ...
|
| #
b90bbd1a |
| 28-Feb-2024 |
Salman Nabi <salman.nabi@arm.com> |
refactor(console): flush before console_switch_state
TF-A plans to move console_flush() and console_switch_state(CONSOLE_FLAG_RUNTIME) to the end of bl31_main() before BL31 exits.
Add console_flush
refactor(console): flush before console_switch_state
TF-A plans to move console_flush() and console_switch_state(CONSOLE_FLAG_RUNTIME) to the end of bl31_main() before BL31 exits.
Add console_flush() in the generic implementation of bl31_plat_runtime_setup() call so that platforms can implement or follow the generic pattern to test this implementation before console_flush() and console_switch_state() move to bl31_main().
This patch affects the generic implementation of bl31_plat_runtime_setup()
Change-Id: I92b4176022bfb84558dec5a83386e8ecef49516a Signed-off-by: Salman Nabi <salman.nabi@arm.com>
show more ...
|
| #
6f802c44 |
| 02-Nov-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/exceptions" into integration
* changes: docs(ras): update RAS documentation docs(el3-runtime): update BL31 exception vector handling fix(el3-runtime): restrict low
Merge changes from topic "mp/exceptions" into integration
* changes: docs(ras): update RAS documentation docs(el3-runtime): update BL31 exception vector handling fix(el3-runtime): restrict lower el EA handlers in FFH mode fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT fix(ras): restrict ENABLE_FEAT_RAS to have only two states feat(ras): use FEAT_IESB for error synchronization feat(el3-runtime): modify vector entry paths
show more ...
|
| #
f87e54f7 |
| 10-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an inter
fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an internal macro FFH_SUPPORT which gets enabled when platforms wants to enable lower EL EA handling at EL3. The internal macro FFH_SUPPORT will be automatically enabled if HANDLE_EA_EL3_FIRST_NS is enabled. FFH_SUPPORT along with ENABLE_FEAT_RAS will be used in source files to provide equivalent check which was provided by RAS_FFH_SUPPORT earlier. In generic code we needed a macro which could abstract both HANDLE_EA_EL3_FIRST_NS and RAS_FFH_SUPPORT macros that had limitations. Former was tied up with NS world only while the latter was tied to RAS feature.
This is to allow Secure/Realm world to have their own FFH macros in future.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ie5692ccbf462f5dcc3f005a5beea5aa35124ac73
show more ...
|
| #
269f3dae |
| 09-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/feat_ras" into integration
* changes: refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED refactor(ras): replace RAS_EXTENSION with FEAT_RAS
|
| #
9202d519 |
| 13-Feb-2023 |
Manish Pandey <manish.pandey2@arm.com> |
refactor(ras): replace RAS_EXTENSION with FEAT_RAS
The current usage of RAS_EXTENSION in TF-A codebase is to cater for two things in TF-A : 1. Pull in necessary framework and platform hooks for Firm
refactor(ras): replace RAS_EXTENSION with FEAT_RAS
The current usage of RAS_EXTENSION in TF-A codebase is to cater for two things in TF-A : 1. Pull in necessary framework and platform hooks for Firmware first handling(FFH) of RAS errors. 2. Manage the FEAT_RAS extension when switching the worlds.
FFH means that all the EAs from NS are trapped in EL3 first and signaled to NS world later after the first handling is done in firmware. There is an alternate way of handling RAS errors viz Kernel First handling(KFH). Tying FEAT_RAS to RAS_EXTENSION build flag was not correct as the feature is needed for proper handling KFH in as well.
This patch breaks down the RAS_EXTENSION flag into a flag to denote the CPU architecture `ENABLE_FEAT_RAS` which is used in context management during world switch and another flag `RAS_FFH_SUPPORT` to pull in required framework and platform hooks for FFH.
Proper support for KFH will be added in future patches.
BREAKING CHANGE: The previous RAS_EXTENSION is now deprecated. The equivalent functionality can be achieved by the following 2 options: - ENABLE_FEAT_RAS - RAS_FFH_SUPPORT
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I1abb9ab6622b8f1b15712b12f17612804d48a6ec
show more ...
|
| #
dc2b8e80 |
| 23-Feb-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remo
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remove weak links to el3_panic refactor(aarch64): refactor usage of elx_panic refactor(aarch64): cleanup HANDLE_EA_EL3_FIRST_NS usage
show more ...
|
| #
7e619ecc |
| 16-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL3
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL31 using SMC/ABI calls and we can also decide to handle any lower EL panics in EL3. Panic can occur in lower EL from rich OS or during SMC/ABI calls after context switch to EL3.
But after booting into any rich OS we may land in panic either from rich OS or while servicing any SMC call, here the logic to use el3_panic or elx_panic is flawed as spsr_el3[3:0] is always EL3h and end up in elx_panic even if panic occurred from EL3 during SMC handling.
We try to decouple the elx_panic usage for its intended purpose, introduce lower_el_panic which would call elx_panic, currently lower_el_panic is called from default platform_ea_handle which would be called due to panic from any of the lower ELs.
Also remove the weak linkage for elx_panic and rename it to report_elx_panic which could be used with lower_el_panic.
Change-Id: I268bca89c01c60520d127ef6c7ba851460edc747 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
f4be868b |
| 01-Dec-2022 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(aarch64): cleanup HANDLE_EA_EL3_FIRST_NS usage
Remove usage of HANDLE_EA_EL3_FIRST_NS in plat_default_ea_handler
Change-Id: I2bf4788960d20a090d66cf39c7bbbdea1d3243ca Signed-off-by: Govindr
refactor(aarch64): cleanup HANDLE_EA_EL3_FIRST_NS usage
Remove usage of HANDLE_EA_EL3_FIRST_NS in plat_default_ea_handler
Change-Id: I2bf4788960d20a090d66cf39c7bbbdea1d3243ca Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
f41e23ea |
| 10-Nov-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mp/ras_refactoring" into integration
* changes: docs: document do_panic() and panic() helper functions fix(ras): restrict RAS support for NS world
|
| #
680b7aa9 |
| 10-Nov-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mp/ras_refactoring" into integration
* changes: fix(debug): decouple "get_el_str()" from backtrace fix(bl31): harden check in delegate_async_ea
|
| #
46cc41d5 |
| 10-Oct-2022 |
Manish Pandey <manish.pandey2@arm.com> |
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To
fix(ras): restrict RAS support for NS world
Current RAS framework in TF-A only supports handling errors originating from NS world but the HANDLE_EA_EL3_FIRST flag configures it for all lower Els. To make the current design of RAS explicit, rename this macro to HANDLE_EA_EL3_FIRST_NS and set EA bit in scr_el3 only when switching to NS world.
Note: I am unaware of any platform which traps errors originating in Secure world to EL3, if there is any such platform then it need to be explicitly implemented in TF-A
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: If58eb201d8fa792c16325c85c26056e9b409b750
show more ...
|
| #
0ae4a3a3 |
| 01-Nov-2022 |
Manish Pandey <manish.pandey2@arm.com> |
fix(debug): decouple "get_el_str()" from backtrace
get_el_str() was implemented under ENABLE_BACKTRACE macro but being used at generic places too, this causes multiple definition of this function. R
fix(debug): decouple "get_el_str()" from backtrace
get_el_str() was implemented under ENABLE_BACKTRACE macro but being used at generic places too, this causes multiple definition of this function. Remove duplicate definition of this function and move it out of backtrace scope. Also, this patch fixes a small bug where in default case S-EL1 is returned which ideally should be EL1, as there is no notion of security state in EL string.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ib186ea03b776e2478eff556065449ebd478c3538
show more ...
|
| #
2aaed860 |
| 23-Sep-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "refactor(libc): clean up dependencies in libc" into integration
|
| #
885e2683 |
| 12-Sep-2022 |
Claus Pedersen <claustbp@google.com> |
refactor(libc): clean up dependencies in libc
- Removing platform dependencies from libc modules. - Replacing panicking with actual error handling. - Debug macros are included indirectly from assert
refactor(libc): clean up dependencies in libc
- Removing platform dependencies from libc modules. - Replacing panicking with actual error handling. - Debug macros are included indirectly from assert.h. Removing "platform_def.h" from assert.h and adding "common/debug.h" where the macros are used. - Removing hack for fixing PLAT_LOG_LEVEL_ASSERT to 40. Instead removing assert with expression, as this does not provide additional information.
Signed-off-by: Claus Pedersen <claustbp@google.com> Change-Id: Icc201ea7b63c1277e423c1cfd13fd6816c2bc568
show more ...
|