| f27e7f8e | 05-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A76AE erratum 2371140
Cortex-A76AE erratum 2371140 is a Cat B erratum that applies to all revisions <= r1p1, and is still open.
This erratum can be avoided by setti
fix(cpus): workaround for Cortex-A76AE erratum 2371140
Cortex-A76AE erratum 2371140 is a Cat B erratum that applies to all revisions <= r1p1, and is still open.
This erratum can be avoided by setting CPUACTLR2_EL1[0] to 1. The bit force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations to other PE caches. There might be a small performance degradation to this workaround for certain workloads that share data.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1277541/1700/?lang=en
Change-Id: Id65846bebde1a0911ba11956202d0d255d3c8c82 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| d428b422 | 05-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A76AE erratum 1969401
Cortex-A76AE erratum 1969401 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by inserting a
fix(cpus): workaround for Cortex-A76AE erratum 1969401
Cortex-A76AE erratum 1969401 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by inserting a DMB ST before acquire atomic instructions without release semantics.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1277541/1700/?lang=en
Change-Id: I893452450d430833e6c5a8e33a1e37b708218576 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 16de9fae | 05-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A76AE erratum 1931435
Cortex-A76AE erratum 1931435 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by setting CPU
fix(cpus): workaround for Cortex-A76AE erratum 1931435
Cortex-A76AE erratum 1931435 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by setting CPUACTLR_EL1[13] to 1. This bit delays instruction fetch after branch misprediction. This workaround will have a small impact on performance.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1277541/1700/?lang=en
Change-Id: I1baba8752f5f2e2ab5c873030e1f00cbb8cf1e60 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 46f364fa | 05-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A76AE erratum 1931427
Cortex-A76AE erratum 1931427 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by setting CPU
fix(cpus): workaround for Cortex-A76AE erratum 1931427
Cortex-A76AE erratum 1931427 is a Cat B erratum that applies to r0p0 and r1p0, it is fixed in r1p1.
This erratum can be avoided by setting CPUACTLR2_EL1[2] to 1. The bit to force Atomic Store operations to write-back memory to be performed in the L1 data cache.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1277541/1700/?lang=en
Change-Id: I31566838f894372e5627abda8b0bea1505f11f5d Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 9f407e44 | 29-Jan-2025 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(per-cpu): migrate psci_cpu_pd_nodes to per-cpu framework
migrate psci_cpu_pd_nodes object to the NUMA-aware per-cpu framework to optimize memory access and to efficiently utilize memory.
Signe
feat(per-cpu): migrate psci_cpu_pd_nodes to per-cpu framework
migrate psci_cpu_pd_nodes object to the NUMA-aware per-cpu framework to optimize memory access and to efficiently utilize memory.
Signed-off-by: Sammit Joshi <sammit.joshi@arm.com> Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: Idec3e3b74ecf03b420b339a183be2b9e00f8a78f
show more ...
|
| 5c5b9e3e | 06-Oct-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A715 erratum 3711916
Cortex-A715 erratum 3711916 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, r1p2 and r1p3, and is still open.
SDEN documentation
fix(cpus): workaround for Cortex-A715 erratum 3711916
Cortex-A715 erratum 3711916 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, r1p2 and r1p3, and is still open.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2148827
Change-Id: Iad149a2c02a804b3f4f0f2f5b89e866675cb4093 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 4fca3ee4 | 06-Oct-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A715 erratum 2376701
Cortex-A715 erratum 2376701 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1.
This workaround is not expected t
fix(cpus): workaround for Cortex-A715 erratum 2376701
Cortex-A715 erratum 2376701 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1.
This workaround is not expected to have a significant performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2148827
Change-Id: Idcd2a07d269d55534dc5faa59c454d37426f2cfa Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| d6e941e2 | 06-Oct-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A715 erratum 2409570
Cortex-A715 erratum 2409570 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1.
This workaround could have a sign
fix(cpus): workaround for Cortex-A715 erratum 2409570
Cortex-A715 erratum 2409570 is a Cat B erratum that applies to revisions r0p0 and r1p0, and is fixed in r1p1.
This workaround could have a significant performance impact for software that relies heavily on using store-release instructions.
This workaround only applies to r1p0, r0p0 has a different workaround but is not used in production hardware so has not been implemented.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2148827
Change-Id: Id9429831525b842779d7b7e60f103c93be4acd67 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 75384389 | 06-Oct-2025 |
Rohit Ner <rohitner@google.com> |
feat(cpus): add support for Neoverse-N2 prefetcher
To get accurate and repeatable L2 cache performance metrics, the L2 region prefetcher must be disabled. This prevents speculative fetches from inte
feat(cpus): add support for Neoverse-N2 prefetcher
To get accurate and repeatable L2 cache performance metrics, the L2 region prefetcher must be disabled. This prevents speculative fetches from interfering with the measurements.
This patch adds a build-time option, NEOVERSE_N2_PREFETCHER_DISABLE, to set the PF_DIS bit (bit 15) in the CPUECTLR_EL1 register for this purpose.
Change-Id: Ie7ab9e84bb29d042d0bb2ec697e0c1e39ad5032e Signed-off-by: Rohit Ner <rohitner@google.com>
show more ...
|
| ee87353c | 28-Oct-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge "refactor(docs): deduplicate PSCI documentation" into integration |
| b5f120b5 | 13-Oct-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(docs): deduplicate PSCI documentation
It is already described in the porting guide and context management sections so it's largely redundant. It also hasn't been updated for a while despite
refactor(docs): deduplicate PSCI documentation
It is already described in the porting guide and context management sections so it's largely redundant. It also hasn't been updated for a while despite lots going on around PSCI so it's clearly not read often. The only part that isn't is that for describing a new secure dispatcher, which belongs in the porting guide.
Change-Id: Icdc53e19565f0785bc8a112e5eb49df1b365c66c Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 90329375 | 14-Oct-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(docs): fix some broken links" into integration |
| 854d199b | 23-Sep-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(docs): fix some broken links
Fix few broken links from docs.
Link check was done with following steps -
[..] tf-a/docs$ make clean -j8; poetry run make html -j8 tf-a/docs$ poetry run sphinx-bu
fix(docs): fix some broken links
Fix few broken links from docs.
Link check was done with following steps -
[..] tf-a/docs$ make clean -j8; poetry run make html -j8 tf-a/docs$ poetry run sphinx-build -j8 -q -b linkcheck . build/ [..]
Add link check conf values to config.py - avoid reporting false broken links when `#`(anchors) are present in the link. - avoid checking for broken links in "change-log.md", this is summary of commit msg's we are not going to fix broken links in cmt-msg's
Change-Id: I384094c8dcf3e93875c9052afa79ad826b9901d9 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 217a79c4 | 30-Sep-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A720 erratum 2729604
Cortex-A720 erratum 2729604 is a Cat B erratum that applies to revisions r0p0 and r0p1, and is fixed in r0p2.
This workaround might impact perf
fix(cpus): workaround for Cortex-A720 erratum 2729604
Cortex-A720 erratum 2729604 is a Cat B erratum that applies to revisions r0p0 and r0p1, and is fixed in r0p2.
This workaround might impact performance of workloads heavily relying on floating point division or square root operations.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2439421
Change-Id: I4567d75ba9f17146d0d7bc5cdb622bb63efadc3c Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 87e69a8f | 30-Sep-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A720 erratum 3711910
Cortex-A720 erratum 3711910 is a Cat B erratum that applies to revisions r0p0, r0p1 and r0p2, and is still open.
SDEN documentation: https://de
fix(cpus): workaround for Cortex-A720 erratum 3711910
Cortex-A720 erratum 3711910 is a Cat B erratum that applies to revisions r0p0, r0p1 and r0p2, and is still open.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2439421
Change-Id: Id65d5ba41b96648b07c09df77fb25cc4bdb50800 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| eb7b3484 | 02-Oct-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "ar/v2_errata" into integration
* changes: fix(cpus): workaround for Neoverse-V2 erratum 3701771 fix(cpus): workaround for Neoverse-V2 erratum 3841324 |
| 98ea7329 | 08-Sep-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Neoverse-V2 erratum 3701771
Neoverse-V2 erratum 3701771 that applies to r0p0, r0p1, r0p2 is still Open.
The workaround is for EL3 software that performs context save/resto
fix(cpus): workaround for Neoverse-V2 erratum 3701771
Neoverse-V2 erratum 3701771 that applies to r0p0, r0p1, r0p2 is still Open.
The workaround is for EL3 software that performs context save/restore on a change of Security state to use a value of SCR_EL3.NS when accessing ICH_VMCR_EL2 that reflects the Security state that owns the data being saved or restored.
The mitigation is implemented in commit 7455cd172 and this patch should be applied on top of it.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2332927/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: Ic0ad68f7bd393bdc03343d5ba815adb23bf6a24d
show more ...
|
| 7d947650 | 28-Aug-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(cpus): workaround for Neoverse-V2 erratum 3841324
Neoverse-V2 erratum 3841324 is a Cat B erratum that applies to r0p0 and r0p1. It is fixed in r0p2.
This erratum can be avoided by setting CPUAC
fix(cpus): workaround for Neoverse-V2 erratum 3841324
Neoverse-V2 erratum 3841324 is a Cat B erratum that applies to r0p0 and r0p1. It is fixed in r0p2.
This erratum can be avoided by setting CPUACTLR_EL1[1] prior to enabling MMU. This bit will disable a branch predictor power savings feature. Disabling this power feature results in negligible power movement and no performance impact.
SDEN Documentation: https://developer.arm.com/documentation/SDEN-2332927/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I9b3a5266103e5000d207c7a270c65455d0646102
show more ...
|
| 1f866fc9 | 18-Sep-2025 |
Amr Mohamed <amr.mohamed@arm.com> |
feat(dsu): enable PMU registers access at EL1
- Disable trapping of write accesses to DSU cluster PMU registers at EL3 and EL2. - Clear the SPME bit in CLUSTERPMMDCR_EL3 to prohibit PMU event co
feat(dsu): enable PMU registers access at EL1
- Disable trapping of write accesses to DSU cluster PMU registers at EL3 and EL2. - Clear the SPME bit in CLUSTERPMMDCR_EL3 to prohibit PMU event counting in the secure state.
Change-Id: If3eb6e997330ae86f45760e0e862c003861f3d66 Signed-off-by: Amr Mohamed <amr.mohamed@arm.com>
show more ...
|
| ea884936 | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 3704847
Cortex-A510 erratum 3704847 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
fix(cpus): workaround for Cortex-A510 erratum 3704847
Cortex-A510 erratum 3704847 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
The workaround is to set bit 9 in CPUACTLR_EL1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: I2c7c8da9c66471115b5bf8fb5c87d4de46ca265c Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| af1fa796 | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 3672349
Cortex-A510 erratum 3672349 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
fix(cpus): workaround for Cortex-A510 erratum 3672349
Cortex-A510 erratum 3672349 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
The workaround is to clear the WFE_RET_CTRL and WFI_RET_CTRL fields in CPUPWRCTLR_EL1 to disable full retention.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: I9786ab8843a2eab45e650c6af50b6933481527ec Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 4fb7090e | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 2420992
Cortex-A510 erratum 2420992 is a Cat B erratum that applies only to revisions r1p0 and r1p1, and is fixed in r1p1.
The workaround is to set bit
fix(cpus): workaround for Cortex-A510 erratum 2420992
Cortex-A510 erratum 2420992 is a Cat B erratum that applies only to revisions r1p0 and r1p1, and is fixed in r1p1.
The workaround is to set bit 3 in CPUACTLR3_EL1 which will have no performance impact, but will increase power consumption by 0.3-0.5%.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: Ia76ba2431d76f14c08b95a998806986190d682c3 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 4592f4ea | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 2218134
Cortex-A510 erratum 2218134 is a Cat B erratum that applies only to revision r1p0 and is fixed in r1p1.
The workaround is to set bit 43 in CPUA
fix(cpus): workaround for Cortex-A510 erratum 2218134
Cortex-A510 erratum 2218134 is a Cat B erratum that applies only to revision r1p0 and is fixed in r1p1.
The workaround is to set bit 43 in CPUACTLR2_EL1 which will correct the instruction fetch stream with no performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: Ifec40dee2f7e42c56c9ed447b6b1997b170f9453 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| 124ff99f | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 2169012
Cortex-A510 erratum 2169012 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
This erratum ha
fix(cpus): workaround for Cortex-A510 erratum 2169012
Cortex-A510 erratum 2169012 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
This erratum has an identical workaround to 1922240 and resolves a similar issue, but that erratum only applies to r0p0 which is not used in any production hardware, so it has been removed.
This workaround has a negligible performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: Ifdd59c09e84252dc292600630d81d32986fd6c0c Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| d64d4215 | 29-Aug-2025 |
John Powell <john.powell@arm.com> |
fix(cpus): workaround for Cortex-A510 erratum 2008766
Cortex-A510 erratum 2008766 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
fix(cpus): workaround for Cortex-A510 erratum 2008766
Cortex-A510 erratum 2008766 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3, r1p0, r1p1, r1p2 and r1p3, and is still open.
The workaround is to clear the ERXCTLR_EL1.ED bit before power down, which will cause any detected errors during power down to be ignored.
SDEN documentation: https://developer.arm.com/documentation/SDEN-1873361/latest/
Change-Id: Id1aa0f2c518a055363c962f9abdb27e1ee8bff18 Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|