| 80d7190b | 10-Dec-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "feat(neoverse-rd): set the correct Arm version for rdn2" into integration |
| 20187408 | 02-Dec-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "fix: remove circular dependency on ENABLE_FEAT_RAS" into integration |
| b928b7fc | 06-Nov-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(neoverse-rd): set the correct Arm version for rdn2
The neoverse N2 and V2 cores in use on the platform are both v9 compliant. Declare the ARM_ARCH_{MAJOR, MINOR} to reflect this.
Change-Id: I1
feat(neoverse-rd): set the correct Arm version for rdn2
The neoverse N2 and V2 cores in use on the platform are both v9 compliant. Declare the ARM_ARCH_{MAJOR, MINOR} to reflect this.
Change-Id: I15556fde3740056b1eb81138d19635b507064abf Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| fcb7b260 | 26-Nov-2025 |
Chris Kay <chris.kay@arm.com> |
Merge changes I6e44c7f1,Id4320cbf,Ibb05dd47,Icec70861 into integration
* changes: fix(morello): don't define get_mem_client_mode() when it won't be used fix(rdn2): don't use V1 as a label fix(
Merge changes I6e44c7f1,Id4320cbf,Ibb05dd47,Icec70861 into integration
* changes: fix(morello): don't define get_mem_client_mode() when it won't be used fix(rdn2): don't use V1 as a label fix(tspd): don't forward declare tsp_vectors_t fix(cpufeat): drop feature_panic() as unused
show more ...
|
| 813bfe57 | 14-Nov-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix: remove circular dependency on ENABLE_FEAT_RAS
ENABLE_FEAT_RAS is enabled by arch_features.mk based on the value of ARM_ARCH_{MAJOR, MINOR}, but that is only called after each platform's platfor
fix: remove circular dependency on ENABLE_FEAT_RAS
ENABLE_FEAT_RAS is enabled by arch_features.mk based on the value of ARM_ARCH_{MAJOR, MINOR}, but that is only called after each platform's platform.mk. That makes a circular dependency when a file needs to be compiled based on the flag's value.
Well, FEAT_RAS is mandatory from v8.2 and platforms that set ARM_ARCH_{MAJOR, MINOR} such need not check for its presence - it will be present. So remove the check to remove the dependency.
Change-Id: I68db83347e6bc04b7ff3b67f6c3e54921641db23 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 8e85be44 | 29-Jan-2025 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(rdv3): enable numa aware per-cpu for RD-V3-Cfg2
RD-V3-Cfg2 being quad chip can make use of NUMA allocation within the per-cpu framework. With NUMA allocation, the platform can distribute per-cp
feat(rdv3): enable numa aware per-cpu for RD-V3-Cfg2
RD-V3-Cfg2 being quad chip can make use of NUMA allocation within the per-cpu framework. With NUMA allocation, the platform can distribute per-cpu objects within a memory that is local to a particular node. RD-V3-Cfg2 in this case has the per-cpu objects distributed across different SRAMs present on the system.
introduce platform-specific helper functions to enhance the per_cpu framework. Adds a helper function to zero init per_cpu sections, ensuring clean initialization of per-cpu data. Introduces a function to obtain the base address of per_cpu sections, facilitating efficient access to per-CPU data structures. Enhances the per_cpu framework's capability to handle platform-specific requirements.
These additions are crucial for maintaining the integrity and performance of per-cpu operations.
Signed-off-by: Sammit Joshi <sammit.joshi@arm.com> Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I550c6b5c59f80fbe2b746a1261cda857f4fb1990
show more ...
|
| 662eb593 | 04-Nov-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(rdn2): don't use V1 as a label
V1 can also be a SIMD register and the assembler can get confused. Don't use that name.
Change-Id: Id4320cbfb6ae157f53c7ca5452fd88afcaec452f Signed-off-by: Boyan
fix(rdn2): don't use V1 as a label
V1 can also be a SIMD register and the assembler can get confused. Don't use that name.
Change-Id: Id4320cbfb6ae157f53c7ca5452fd88afcaec452f Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 0c3b84c1 | 08-Oct-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(dice): prevent compiler warnings
LTO builds make the compiler observe possible unitialised accesses. That's not the case, but calm it down with a 0. It also doesn't like the declaration mismatch
fix(dice): prevent compiler warnings
LTO builds make the compiler observe possible unitialised accesses. That's not the case, but calm it down with a 0. It also doesn't like the declaration mismatch in tc so bring it in line.
Change-Id: I0276257d05d1cb1d4f7e1e0d914c48c8ab3d308d Signed-off-by: Boyan Karatotev <boyan.karatotev@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 |
| 36fbcf4d | 17-Sep-2025 |
Ahmed Azeem <ahmed.azeem@arm.com> |
refactor(arm/common): gate coherency behind flag
Introduce a macro guard so platform coherency functions are only compiled when HW_ASSISTED_COHERENCY is 0 (disabled). Many platforms enable HW-assist
refactor(arm/common): gate coherency behind flag
Introduce a macro guard so platform coherency functions are only compiled when HW_ASSISTED_COHERENCY is 0 (disabled). Many platforms enable HW-assisted coherency by default, so compiling empty definitions is unnecessary.
This refactor removes those empty functions for Arm CSS platforms.
Change-Id: I102ead46960e9da2d8b968f60cbfd3e5e5da1096 Signed-off-by: Ahmed Azeem <ahmed.azeem@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 ...
|
| 00e62ff9 | 03-Sep-2025 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[
refactor(rmmd): modify MEC update call to meet FIRME
Previous version of MEC refresh call was not compliant with FIRME [1]. This patch modifies the call so it is compliant with the specification.
[1] https://developer.arm.com/documentation/den0149/1-0alp0/
Change-Id: I15a652a021561edca16e79d127e6f08975cf1361 Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| 47fca89d | 21-Aug-2025 |
Chris Kay <chris.kay@arm.com> |
fix(neoverse-rd): add console initialisation to BL31
Neoverse-RD currently neglects to initialise the console in BL31. This change adds the missing initialisation routine.
Change-Id: I946485f4dd857
fix(neoverse-rd): add console initialisation to BL31
Neoverse-RD currently neglects to initialise the console in BL31. This change adds the missing initialisation routine.
Change-Id: I946485f4dd857240208653e237a83e71073c33ff Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 75170704 | 29-Jul-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(gicv3): clarify redistributor base address usage with USE_GIC_DRIVER=3
The GICv3 driver has 2 methods of discovering the redistributors: a) via setting gicr_base - done at boot and assumes
refactor(gicv3): clarify redistributor base address usage with USE_GIC_DRIVER=3
The GICv3 driver has 2 methods of discovering the redistributors: a) via setting gicr_base - done at boot and assumes all GICR frames are contiguous. This is the original method.
b) via gicv3_rdistif_probe() - called from platform code and requires gicr_base == 0. It relaxes the requirement for frames to be contiguous, like in a multichip configuration, and defers the discovery to core bringup. This was introduced later.
Configurations possible with option a) are also possible with option b) with only slightly different behaviour. USE_GIC_DRIVER=3 inherited option b) from plat_gicv3_base.c and as such option a) is unusable. However, it is unclear from code how this should be used. Clarify this by requiring platforms initialise with gic_set_gicr_frames() and adding relevant comments.
Also rename plat_arm_override_gicr_frames() to gic_set_gicr_frames() as this is not plat arm specific and a part of the generic GIC driver.
Change-Id: I61d77211f8e65dc54cf9904069b500d26a06b5a5 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| c4d39b72 | 07-Jul-2025 |
Yeoreum Yun <yeoreum.yun@arm.com> |
feat(neoverse-rd): change PLAT_SP_IMAGE_NS_BUF_BASE
As PLAT_SP_IMAGE_NS_BUF_BASE is moved to NS_DRAM1 area [0], PLAT_ARM_SP_IMAGE_STACK_BASE should be changed to (PLAT_SPM_BUF_BASE + PLAT_SPM_BUF_SI
feat(neoverse-rd): change PLAT_SP_IMAGE_NS_BUF_BASE
As PLAT_SP_IMAGE_NS_BUF_BASE is moved to NS_DRAM1 area [0], PLAT_ARM_SP_IMAGE_STACK_BASE should be changed to (PLAT_SPM_BUF_BASE + PLAT_SPM_BUF_SIZE)
Link: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/40336 [0] Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com> Change-Id: I421b1f1283600de81024c7415af9919c9afbe138
show more ...
|
| c5c54e20 | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor: convert arm platforms to use the generic GIC driver
This reduces the code the platforms have to carry and makes their build rules a bit simpler.
The main benefit is that plat_my_core_pos(
refactor: convert arm platforms to use the generic GIC driver
This reduces the code the platforms have to carry and makes their build rules a bit simpler.
The main benefit is that plat_my_core_pos() no longer needs to be called within the driver, helping with performance a bit.
Change-Id: I0b0d1d36d20d67c41c8c9dc14ade11bda6d4a6af Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 35d18d8d | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor: make arm_gicv2.c and arm_gicv3.c common
These files were meant to be platform specific, but they are generic enough that a range of platforms find them useful. However, refactoring them is
refactor: make arm_gicv2.c and arm_gicv3.c common
These files were meant to be platform specific, but they are generic enough that a range of platforms find them useful. However, refactoring them is difficult as their use is platform specific. So copy them to a generic place and redirect platforms to them.
The new copies will remain for compatibility for platforms that don't want to or can't take up upcoming refactors and the old copies can be drastically refactored to make them more widely applicable.
Change-Id: I056c8710cdda4d8a81b324d392762c29e02cdae1 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| e0c2b736 | 10-Apr-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "nrd1_deprecation" into integration
* changes: docs(changelog): remove RD-E1-Edge platform's scope docs(maintainers): add RD-V3 variants to maintained paths feat(neove
Merge changes from topic "nrd1_deprecation" into integration
* changes: docs(changelog): remove RD-E1-Edge platform's scope docs(maintainers): add RD-V3 variants to maintained paths feat(neoverse_rd): deprecate and remove RD-V1 platform variants feat(neoverse_rd): deprecate and remove RD-N1-Edge platform variants feat(neoverse_rd): deprecate and remove SGI-575 platform
show more ...
|
| fa0eb3cf | 08-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(rdv3): correctly define plat_mboot_measure_key()
The function is declared with 2 const parameters, however it is defined without the const qualifiers, leading to compiler warnings.
Change-Id: I
fix(rdv3): correctly define plat_mboot_measure_key()
The function is declared with 2 const parameters, however it is defined without the const qualifiers, leading to compiler warnings.
Change-Id: Ibe021336ea50e2028799bd6b1f0c5b513490185d Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| afb30755 | 03-Apr-2025 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse_rd): deprecate and remove RD-V1 platform variants
deprecate and remove support for RD-V1 and RD-V1-MC platform variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id:
feat(neoverse_rd): deprecate and remove RD-V1 platform variants
deprecate and remove support for RD-V1 and RD-V1-MC platform variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: Ifab7b95e00615806986e316e0bde7788dc8af04f
show more ...
|
| 71ad9673 | 03-Apr-2025 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse_rd): deprecate and remove RD-N1-Edge platform variants
deprecate and remove support for RD-N1-Edge and RD-N1-Edgex2 platform variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.co
feat(neoverse_rd): deprecate and remove RD-N1-Edge platform variants
deprecate and remove support for RD-N1-Edge and RD-N1-Edgex2 platform variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I59dce73b70014b3416d89b0d024d7204356b1b77
show more ...
|
| a0232015 | 03-Apr-2025 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse_rd): deprecate and remove SGI-575 platform
deprecate and remove support for SGI-575 platform.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: Iffee2fa8f4faa463c4b4df5911
feat(neoverse_rd): deprecate and remove SGI-575 platform
deprecate and remove support for SGI-575 platform.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: Iffee2fa8f4faa463c4b4df591182f72a461c880b
show more ...
|
| 1eb8983f | 31-Mar-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(cpus): remove errata setting PF_MODE to conservative" into integration |
| b6e6e2e6 | 20-Mar-2025 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(arm): simplify early platform setup function in BL31
Refactor `arm_bl31_early_platform_setup` to accept generic u_register_t values, enabling support for firmware handoff boot arguments in
refactor(arm): simplify early platform setup function in BL31
Refactor `arm_bl31_early_platform_setup` to accept generic u_register_t values, enabling support for firmware handoff boot arguments in common code. This simplifies the interface for early platform setup.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: Iff20300d2372e1a9825827ddccbd1b3bc6751e40
show more ...
|
| ac9f4b4d | 25-Mar-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(cpus): remove errata setting PF_MODE to conservative
The erratum titled “Disabling of data prefetcher with outstanding prefetch TLB miss might cause a deadlock” should not be handled within TF-A
fix(cpus): remove errata setting PF_MODE to conservative
The erratum titled “Disabling of data prefetcher with outstanding prefetch TLB miss might cause a deadlock” should not be handled within TF-A. The current workaround attempts to follow option 2 but misapplies it. Specifically, it statically sets PF_MODE to conservative, which is not the recommended approach. According to the erratum documentation, PF_MODE should be configured in conservative mode only when we disable data prefetcher however this is not done in TF-A and thus the workaround is not needed in TF-A.
The static setting of PF_MODE in TF-A does not correctly address the erratum and may introduce unnecessary performance degradation on platforms that adopt it without fully understanding its implications.
To prevent incorrect or unintended use, the current implementation of this erratum workaround should be removed from TF-A and not adopted by platforms.
List of Impacted CPU's with Errata Numbers and reference to SDEN -
Cortex-A78 - 2132060 - https://developer.arm.com/documentation/SDEN1401784/latest Cortex-A78C - 2132064 - https://developer.arm.com/documentation/SDEN-2004089/latest Cortex-A710 - 2058056 - https://developer.arm.com/documentation/SDEN-1775101/latest Cortex-X2 - 2058056 - https://developer.arm.com/documentation/SDEN-1775100/latest Cortex-X3 - 2070301 - https://developer.arm.com/documentation/SDEN2055130/latest Neoverse-N2 - 2138953 - https://developer.arm.com/documentation/SDEN-1982442/latest Neoverse-V1 - 2108267 - https://developer.arm.com/documentation/SDEN-1401781/latest Neoverse-V2 - 2331132 - https://developer.arm.com/documentation/SDEN-2332927/latest
Change-Id: Icf4048508ae070b2df073cc46c63be058b2779df Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|