| 80d7190b | 10-Dec-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "feat(neoverse-rd): set the correct Arm version for rdn2" 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 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 ...
|
| 609ada96 | 24-Mar-2025 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
feat(rmmd): verify FEAT_MEC present before calling plat hoook
Some platforms do not support FEAT_MEC. Hence, they do not provide an interface to update the update of the key corresponding to a MECID
feat(rmmd): verify FEAT_MEC present before calling plat hoook
Some platforms do not support FEAT_MEC. Hence, they do not provide an interface to update the update of the key corresponding to a MECID.
This patch adds a condition in order to verify FEAT_MEC is present before calling the corresponding platform hook, thus preventing it from being called when the platform does not support the feature.
Change-Id: Ib1eb9e42f475e27ec31529569e888b93b207148c Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
show more ...
|
| 3c198a97 | 21-Mar-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(rdv3): correctly handle FP regs context saving" into integration |
| ac05182d | 20-Mar-2025 |
Rakshit Goyal <rakshit.goyal@arm.com> |
fix(rdv3): correctly handle FP regs context saving
Commit fe488c3796e01187fb6cffdd27a1bee1a33e0931 added an override to force `CTX_INCLUDE_SVE_REGS` to 0 when `SPD == spmd` and `SPMD_SPM_AT_SEL2 ==
fix(rdv3): correctly handle FP regs context saving
Commit fe488c3796e01187fb6cffdd27a1bee1a33e0931 added an override to force `CTX_INCLUDE_SVE_REGS` to 0 when `SPD == spmd` and `SPMD_SPM_AT_SEL2 == 1`. Since there is an architectural dependency between FP and SVE registers, `CTX_INCLUDE_FPREGS` must also be overridden to 0 when CTX_INCLUDE_SVE_REGS is 0.
Signed-off-by: Rakshit Goyal <rakshit.goyal@arm.com> Change-Id: I1cd834241a2d5a5368ac532a348d8729a701bbcd
show more ...
|
| f801fdc2 | 22-Apr-2024 |
Tushar Khandelwal <tushar.khandelwal@arm.com> |
feat(rmmd): add RMM_MECID_KEY_UPDATE call
With this addition, TF-A now has an SMC call to handle the update of MEC keys associated to MECIDs.
The behavior of this newly added call is empty for now
feat(rmmd): add RMM_MECID_KEY_UPDATE call
With this addition, TF-A now has an SMC call to handle the update of MEC keys associated to MECIDs.
The behavior of this newly added call is empty for now until an implementation for the MPE (Memory Protection Engine) driver is available. Only parameter sanitization has been implemented.
Signed-off-by: Tushar Khandelwal <tushar.khandelwal@arm.com> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: I2a969310b47e8c6da1817a79be0cd56158c6efc3
show more ...
|
| fe488c37 | 20-Feb-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(rdv3): handle invalid build combination
`CTX_INCLUDE_SVE_REGS` should not be enabled when building with SPD=spmd and SPMD_SPM_AT_SEL2=1 both been used.
Unfortunately a check at top level makefi
fix(rdv3): handle invalid build combination
`CTX_INCLUDE_SVE_REGS` should not be enabled when building with SPD=spmd and SPMD_SPM_AT_SEL2=1 both been used.
Unfortunately a check at top level makefile ignored this, now its been fixed at top level makefile. Ensure correct combination are handled, otherwise it will lead to build failures.
Change-Id: Ib84fc0096c92d9b3d56366c0e1d77b6d83098221 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 99b2ae26 | 20-Feb-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "jw/gic-lca-support" into integration
* changes: fix(rdn2): add LCA multichip data for RD-N2-Cfg2 fix(rdv3): add LCA multichip data for RD-V3-Cfg2 feat(gic): add suppo
Merge changes from topic "jw/gic-lca-support" into integration
* changes: fix(rdn2): add LCA multichip data for RD-N2-Cfg2 fix(rdv3): add LCA multichip data for RD-V3-Cfg2 feat(gic): add support for local chip addressing
show more ...
|
| e0be63c8 | 13-Feb-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I712712d7,I1932500e,I75dda77e,I12f3b8a3,Ia72e5900 into integration
* changes: refactor(rse)!: remove rse_comms_init refactor(arm): switch to rse_mbx_init refactor(rse): put MHU c
Merge changes I712712d7,I1932500e,I75dda77e,I12f3b8a3,Ia72e5900 into integration
* changes: refactor(rse)!: remove rse_comms_init refactor(arm): switch to rse_mbx_init refactor(rse): put MHU code in a dedicated file refactor(tc): add plat_rse_comms_init refactor(arm)!: rename PLAT_MHU_VERSION flag
show more ...
|
| 08963618 | 07-Feb-2025 |
Yann Gautier <yann.gautier@st.com> |
refactor(arm): switch to rse_mbx_init
The rse_comms_init() function will be removed. The new function to use is rse_mbx_init() for the MHU mailbox initialization.
Change-Id: I1932500ef71b6e895f0ee1
refactor(arm): switch to rse_mbx_init
The rse_comms_init() function will be removed. The new function to use is rse_mbx_init() for the MHU mailbox initialization.
Change-Id: I1932500ef71b6e895f0ee164ee9c2b58becf4409 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| a7739550 | 24-Sep-2024 |
Yann Gautier <yann.gautier@st.com> |
refactor(arm)!: rename PLAT_MHU_VERSION flag
In order to support a platform without MHU in RSE, update the flag PLAT_MHU_VERSION. It is renamed PLAT_MHU and can take the following entries: NO_MHU, M
refactor(arm)!: rename PLAT_MHU_VERSION flag
In order to support a platform without MHU in RSE, update the flag PLAT_MHU_VERSION. It is renamed PLAT_MHU and can take the following entries: NO_MHU, MHUv1, MHUv2, MHUv3...
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Ia72e590088ce62ba8c9009f341b6135926947bee
show more ...
|
| ac07f3ab | 22-Jan-2025 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
chore(gpt): define PPS in platform header files
Define protected physical address size in bytes PLAT_ARM_PPS macro for FVP and RDV3 in platform_def.h files.
Change-Id: I7f6529dfbb8df864091fbefc0813
chore(gpt): define PPS in platform header files
Define protected physical address size in bytes PLAT_ARM_PPS macro for FVP and RDV3 in platform_def.h files.
Change-Id: I7f6529dfbb8df864091fbefc08131a0e6d689eb6 Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|
| bef44f60 | 14-Oct-2024 |
AlexeiFedorov <Alexei.Fedorov@arm.com> |
feat(rmm): add PCIe IO info to Boot manifest
- Add PCIe and SMMUv3 related information to DTS for configurations with ENABLE_RME=1. - Add entries for PCIe IO memory regions to Boot manifest - Upda
feat(rmm): add PCIe IO info to Boot manifest
- Add PCIe and SMMUv3 related information to DTS for configurations with ENABLE_RME=1. - Add entries for PCIe IO memory regions to Boot manifest - Update RMMD_MANIFEST_VERSION_MINOR from 3 to 4. - Read PCIe related information from DTB and write it to Boot manifest. - Rename structures that used to describe DRAM layout and now describe both DRAM and PCIe IO memory regions: - ns_dram_bank -> memory_bank - ns_dram_info -> memory_info.
Change-Id: Ib75d1af86076f724f5c330074e231f1c2ba8e21d Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
show more ...
|