| d6affea1 | 02-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(security): add clrbhb support
TF-A mitigates spectre-bhb(CVE-2022-23960) issue with loop workaround based on - https://developer.arm.com/documentation/110280/latest/
On platforms that support `
fix(security): add clrbhb support
TF-A mitigates spectre-bhb(CVE-2022-23960) issue with loop workaround based on - https://developer.arm.com/documentation/110280/latest/
On platforms that support `clrbhb` instruction it is recommended to use `clrbhb` instruction instead of the loop workaround.
Ref- https://developer.arm.com/documentation/102898/0108/
Change-Id: Ie6e56e96378503456a1617d5e5d51bc64c2e0f0b Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| d4c50e77 | 14-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for venom cpu
Add basic CPU library code to support Venom CPU
Change-Id: I84d4cb77b175812811a17e55b4b290585e05d216 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| dbda614c | 22-Oct-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(arm): derive RMM bank size from payload
Compute the RMM bank size as half of the RMM payload size instead of using a hardcoded value. This removes duplication and keeps the bank size automatical
fix(arm): derive RMM bank size from payload
Compute the RMM bank size as half of the RMM payload size instead of using a hardcoded value. This removes duplication and keeps the bank size automatically in sync with payload size changes.
Change-Id: I064390ec50115929bf6248344bf08a19fbc15344 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 716deb86 | 22-Oct-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(arm): move lfa componet header to common and fix the helper
Move the FVP LFA component definitions to include/plat/arm/common/ so they can be shared by all Arm platforms, and update include path
fix(arm): move lfa componet header to common and fix the helper
Move the FVP LFA component definitions to include/plat/arm/common/ so they can be shared by all Arm platforms, and update include paths accordingly.
On FVP, rename the input parameter to lfa_component_id to match the function declaration, and fix callers to pass the component ID (not image_id) to the prime-complete helper.
Change-Id: Ia1485096819d6523c4bee14c602cbde3c6e144ef Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 2cdc34c5 | 26-Aug-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(cpus): add support for Dionysus cpu library
Add basic CPU library code to support the Dionysus CPU.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I4e6b3c7e7369b7cbf0
feat(cpus): add support for Dionysus cpu library
Add basic CPU library code to support the Dionysus CPU.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I4e6b3c7e7369b7cbf0e18d295e5ef5352f621e44
show more ...
|
| 203575c3 | 17-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes Ifbc5ab02,Ib9002609,I0276257d into integration
* changes: fix(fvp): initialise the event log's size to avoid using gibberish values fix(tsp): keep the tsp D128 unaware, not the dis
Merge changes Ifbc5ab02,Ib9002609,I0276257d into integration
* changes: fix(fvp): initialise the event log's size to avoid using gibberish values fix(tsp): keep the tsp D128 unaware, not the dispatcher fix(dice): prevent compiler warnings
show more ...
|
| b3bcfd12 | 14-Aug-2025 |
Andre Przywara <andre.przywara@arm.com> |
feat(cpufeat): enable FEAT_PFAR support
Implement support for FEAT_PFAR, which introduces the PFAR_ELx system register, recording the faulting physical address for some aborts. Those system register
feat(cpufeat): enable FEAT_PFAR support
Implement support for FEAT_PFAR, which introduces the PFAR_ELx system register, recording the faulting physical address for some aborts. Those system registers are trapped by the SCR_EL3.PFARen bit, so set the bit for the non-secure world context to allow OSes to use the feature.
This is controlled by the ENABLE_FEAT_PFAR build flag, which follows the usual semantics of 2 meaning the feature being runtime detected. Let the default for this flag be 0, but set it to 2 for the FVP.
Change-Id: I5c9ae750417e75792f693732df3869e02b6e4319 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| aa05796e | 15-Oct-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cpufeat): enable FEAT_AIE support" into integration |
| b199ca1a | 13-Oct-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): initialise the event log's size to avoid using gibberish values
The event log's DT bindings only specify the lower 32 bits of the event log's size, but the size is held in a 64 bit variabl
fix(fvp): initialise the event log's size to avoid using gibberish values
The event log's DT bindings only specify the lower 32 bits of the event log's size, but the size is held in a 64 bit variable on stack. When conditions are right, the uninitialised upper 32 bits may contain gibberish that throws off our computations, leading to faults.
Change-Id: Ifbc5ab027aac4e8899fea962656b07960b9b00b9 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 5c164a9f | 14-Oct-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "gr/cpu_lib" into integration
* changes: feat(cpus): add support for caddo cpu feat(cpus): add support for veymont cpu |
| 5be66449 | 08-Oct-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(build): make it standard to request a custom linker script
Hoist the add_define to a global location so that platforms only have to declare its usage. Fix up #ifdef to #if since we will now
refactor(build): make it standard to request a custom linker script
Hoist the add_define to a global location so that platforms only have to declare its usage. Fix up #ifdef to #if since we will now always pass a definition.
Change-Id: Ia52ad5ed4dcbd157d139c8ca2fb3d35b32343b93 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| f74d03a1 | 10-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "lfa-plat-activate" into integration
* changes: feat(fvp): add stub implementation for plat_lfa_notify_activate() feat(lfa): add platform hook for activation notification |
| 656500f9 | 25-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for caddo cpu
Add basic CPU library code to support Caddo CPU
Change-Id: I4b431771ebe6f23eb02f3301ff656cfcd4956f81 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 51247ccb | 25-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): add support for veymont cpu
Add basic CPU library code to support Veymont CPU
Change-Id: I44db5650e7c9cf8fcc368c935574f4702c373dae Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| a771dc0f | 07-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I44f90daa,I0fed6ef4,I018869d3,I9089b3ad,Ibf5b3a80 into integration
* changes: refactor(fvp): always build RAS files fix(fvp): give fvp_ras.c better dependencies fix(cpufeat): add
Merge changes I44f90daa,I0fed6ef4,I018869d3,I9089b3ad,Ibf5b3a80 into integration
* changes: refactor(fvp): always build RAS files fix(fvp): give fvp_ras.c better dependencies fix(cpufeat): add ras files to the build from a common location fix(cm): do not restore spsr and elr twice on external aborts fix(cm): do not save SCR_EL3 on external aborts
show more ...
|
| cc2523bb | 14-Aug-2025 |
Andre Przywara <andre.przywara@arm.com> |
feat(cpufeat): enable FEAT_AIE support
Implement support for FEAT_AIE, which introduces the AMAIR2_ELx and MAIR2_ELx system registers, extending the memory attributes described by {A}MAIR_ELx. Those
feat(cpufeat): enable FEAT_AIE support
Implement support for FEAT_AIE, which introduces the AMAIR2_ELx and MAIR2_ELx system registers, extending the memory attributes described by {A}MAIR_ELx. Those system registers are trapped by the SCR_EL3.AIEn bit, so set the bit for the non-secure world context to allow OSes to use the feature.
This is controlled by the ENABLE_FEAT_AIE build flag, which follows the usual semantics of 2 meaning the feature being runtime detected. Let the default for this flag be 0, but set it to 2 for the FVP.
Change-Id: Iba2011719013a89f9cb3a4317bde18254f45cd25 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| e8460bd9 | 02-Oct-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(arm): don't override the gic redistributor frames" into integration |
| c0dbc3af | 01-Oct-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(fvp): do not unregister the console on system suspend" into integration |
| f185a542 | 29-Sep-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): do not unregister the console on system suspend
On PSCI SYSTEM_SUSPEND, Arm platforms will call arm_system_pwr_domain_save() which will call arm_console_runtime_end(). Usually (eg CSS), th
fix(fvp): do not unregister the console on system suspend
On PSCI SYSTEM_SUSPEND, Arm platforms will call arm_system_pwr_domain_save() which will call arm_console_runtime_end(). Usually (eg CSS), that's just a flush, but on FVP that also unregisters the console. On HW_ASSISTED_COHERENCY=0 builds, this has the potential to break and prevent any EL3 output after a SYSTEM_SUSPEND.
This happens because the calls to console_unregister()/console_register() will overwrite the value of the console_list variable in drivers/console/multi_console.c. They are only called on a system level suspend. The bug happens when the core wakes up. The console will be registered again as part of the pwr_domain_suspend_finish() call. However, this call happens before the data caches have been enabled in psci_do_pwrup_cache_maintenance(). As a result, the write to console_list will not be reflected in the L2 cache and other cores will not be able to read the new value.
The fix is to not unregister the console like other Arm platforms - we don't need to reinitialise the console so there's nothing to do.
A nice side effect is that arm_console_runtime_end() no longer needs to be weak.
Change-Id: Ibbdd4b22bad0d8f1dbd63c60ee0294d889a349a4 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 843bc862 | 30-Sep-2025 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(gpt): fix fill_l1_cont_desc() function" into integration |
| 31e9fd9c | 16-Sep-2025 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fvp): add stub implementation for plat_lfa_notify_activate()
Introduce a stub for plat_lfa_notify_activate() in the FVP platform code. This provides a placeholder implementation that always ret
feat(fvp): add stub implementation for plat_lfa_notify_activate()
Introduce a stub for plat_lfa_notify_activate() in the FVP platform code. This provides a placeholder implementation that always returns success as currently no notification is required.
Change-Id: I0e0813327af4f55e0aef12bd80a472d103ea317d Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 94cd07c7 | 07-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(fvp): always build RAS files
Their processing introduces a circular dependency with the initialization of ENABLE_FEAT_RAS when it's not set on the commandline. However, building them when E
refactor(fvp): always build RAS files
Their processing introduces a circular dependency with the initialization of ENABLE_FEAT_RAS when it's not set on the commandline. However, building them when ENABLE_FEAT_RAS=0 will not produce any side effects and the code will never be called. So we can always build the files to remove the circular check.
Change-Id: I44f90daa193c9b2c853f3fd9b54b67ccc7bace83 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 7e87f494 | 07-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(fvp): give fvp_ras.c better dependencies
PLATFORM_TEST_RAS_FFH should default to 0 when unset. It will always be defined on the commandline so it needs to be checked for truthfulness. SDEI_SUPPO
fix(fvp): give fvp_ras.c better dependencies
PLATFORM_TEST_RAS_FFH should default to 0 when unset. It will always be defined on the commandline so it needs to be checked for truthfulness. SDEI_SUPPORT will also be used so it must be set.
Change-Id: I0fed6ef40eee82a3624de7bc0c85f5662af4ca3a Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 1d59d686 | 25-Sep-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(arm): don't override the gic redistributor frames
Patch 75170704c made an oversight - it would provide a default value for the gicr_frames variable but would always set to it, regardless of whet
fix(arm): don't override the gic redistributor frames
Patch 75170704c made an oversight - it would provide a default value for the gicr_frames variable but would always set to it, regardless of whether the platform might want to use something different. The thinking was to provide a default and then let each platform override it, however the order was swapped.
To fix this, put the gic_set_gicr_frames() in bl31_platform_setup() rather than arm_bl31_platform_setup(). This way, platforms that use the default can still enjoy it automatically pulled in from common code, platforms that need fully custom gicr_frames can simply set it, and platforms that override bl31_platform_setup() for unrelated reasons only have to redo the call to gic_set_gicr_frames(). This has a tiny benefit over the old approach in that there will never be 2 gicr_frames arrays.
Change-Id: I734737d3bd37ddbb3286abcdd92c88676c68cdc3 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| a1032beb | 20-Aug-2025 |
John Powell <john.powell@arm.com> |
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being
feat(cpufeat): enable FEAT_CPA2 for EL3
FEAT_CPA2 enables checked pointer arithmetic, which in the event of an arithmetic overflow in pointer generation will result in a non-canonical pointer being generated and subsequent address fault.
Note that FEAT_CPA is a trivial implementation that exists in some hardware purely so it can run CPA2-enabled instructions without crashing but they don't actually have checked arithmetic, so FEAT_CPA is not explicitly enabled in TF-A.
Change-Id: I6d2ca7a7e4b986bb9e917aa8baf8091a271c168b Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|