| 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 ...
|
| 6d479a23 | 29-Oct-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "feat(cpus): enable Maximum Power Mitigation Mechanism" into integration |
| 99800361 | 29-Oct-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "feat(cpus): add support for venom cpu" into integration |
| 037c7a81 | 28-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(cpus): enable Maximum Power Mitigation Mechanism
Add Maximum Power Mitigation Mechanism(MPMM) for Veymont and Caddo CPUs.
Change-Id: I4beedd9b95e0fe4069d9cfbf8c0211ccbcaf7f90 Signed-off-by: Go
feat(cpus): enable Maximum Power Mitigation Mechanism
Add Maximum Power Mitigation Mechanism(MPMM) for Veymont and Caddo CPUs.
Change-Id: I4beedd9b95e0fe4069d9cfbf8c0211ccbcaf7f90 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 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 ...
|
| a055fddd | 27-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(security): remove CVE_2022_23960 Cortex-X4
Cortex-X4 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https://d
fix(security): remove CVE_2022_23960 Cortex-X4
Cortex-X4 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https://developer.arm.com/documentation/102484/0003/The-Cortex-X4--core/Supported-standards-and-specifications?lang=en
Remove WORKAROUND_CVE_2022_23960 for Cortex-X4 to avoid accidental enabling of this workaround and using loop workaround.
This was accidentally added with commit@8c87becbc64f2e233ac905aa006d5e15a63a9a8b
Change-Id: I23f5fa748377a920340b3c5a6584ccfadeea901a Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| a2e22acf | 27-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(security): remove CVE_2022_23960 Neoverse V3
Neoverse V3 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https
fix(security): remove CVE_2022_23960 Neoverse V3
Neoverse V3 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https://developer.arm.com/documentation/107734/0002/The-Neoverse--V3--core/Supported-standards-and-specifications?lang=en
Remove WORKAROUND_CVE_2022_23960 to avoid accidental enabling of this workaround and using loop workaround.
This was accidentally added with commit@c2a15217c3053117f4d39233002cb1830fa96670
Change-Id: I13b27c04c3da5ec80fa79422b4ef4fee64738caa Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| e22ccf01 | 27-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(security): remove CVE_2022_23960 Cortex-A720
Cortex-A720 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https
fix(security): remove CVE_2022_23960 Cortex-A720
Cortex-A720 has ECBHB implemented and is protected against X-Context attacks.
Ref: https://developer.arm.com/documentation/110280/latest/ TRM: https://developer.arm.com/documentation/102530/0002/The-Cortex-A720--core/Supported-standards-and-specifications?lang=en
Remove WORKAROUND_CVE_2022_23960 for Cortex-A720 to avoid accidental enabling of this workaround and using loop workaround.
This was accidentally added with commit@c2a15217c3053117f4d39233002cb1830fa96670
Change-Id: I3c68b5f5d85ede37a6a039369de8ed2aa9205395 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> |
| ef44101e | 27-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "feat(cpus): add support for Dionysus cpu library" into integration |
| c2dc5129 | 23-Oct-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(build): set ERRATA_SPECULATIVE_AT after platform.mk
This was introduced in 289737419: fix(build): align the cpu-ops flags with all others
That patch reduced cpu-ops.mk to an elaborate defaults.
fix(build): set ERRATA_SPECULATIVE_AT after platform.mk
This was introduced in 289737419: fix(build): align the cpu-ops flags with all others
That patch reduced cpu-ops.mk to an elaborate defaults.mk and moved it before platform.mk was evaluated. However, that patch missed the ERRATA_SPECULATIVE_AT setting which must happen after platform.mk, otherwise its value will not reflect errata state. So put it in the main Makefile with other similar flag settings after platform.mk.
Change-Id: I221dab39c417531c5a148886d3e29709ba8b51a8 Signed-off-by: Boyan Karatotev <boyan.karatotev@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 ...
|
| 28973741 | 10-Sep-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(build): align the cpu-ops flags with all others
Since the cpu-ops file was created we've obtained the constraints.mk and cflags.mk files and we also have the defaults.mk. The cpu-ops file is not
fix(build): align the cpu-ops flags with all others
Since the cpu-ops file was created we've obtained the constraints.mk and cflags.mk files and we also have the defaults.mk. The cpu-ops file is not much different to these three, just much more complex. This patch keeps the complicated bit in cpu-ops.mk but it makes it behave like defaults.mk. The non-complicated bits (like cross referencing and compiler flags) go to their corresponding files. This centralises responsibilities and makes it nicer to keep track of.
The reason for doing this untangling is that the order of defaulting, cross referencing, and compiler flag selection is significant and we can run into problems where seemingly identical lines of code produce different outcomes.
Change-Id: Id4b7714e432a0d628d33412836fd5c93f0488970 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 |
| 7e8b7096 | 14-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes Id711e387,I531a2ee1,Ic5b48514,I81f5f663,I6c529c13, ... into integration
* changes: refactor(romlib): absorb WRAPPER_FLAGS into LDFLAGS fix(build): simplify the -target options fe
Merge changes Id711e387,I531a2ee1,Ic5b48514,I81f5f663,I6c529c13, ... into integration
* changes: refactor(romlib): absorb WRAPPER_FLAGS into LDFLAGS fix(build): simplify the -target options feat(build): allow full LTO builds with clang refactor(build): make sorting of sections generic feat(build): use clang as a linker fix(build): correctly detect that an option is missing with ld_option feat(build): pass cflags to the linker when LTO is enabled
show more ...
|
| a7da8171 | 14-Oct-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "gr/spectre_bhb_updates" into integration
* changes: fix(security): fix Neoverse V2 CVE-2022-23960 fix(security): fix Cortex-X3 CVE-2022-23960 fix(security): fix Corte
Merge changes from topic "gr/spectre_bhb_updates" into integration
* changes: fix(security): fix Neoverse V2 CVE-2022-23960 fix(security): fix Cortex-X3 CVE-2022-23960 fix(security): fix Cortex-A715 CVE-2022-23960 fix(security): fix spectre bhb loop count for Cortex-A720
show more ...
|
| 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> |
| 6c2e5bf6 | 11-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(build): use clang as a linker
To support LTO, the gcc binary is used as a compiler, assembler, and linker. Do the same for clang and enable LTO builds with it as a side effect.
This simplifies
feat(build): use clang as a linker
To support LTO, the gcc binary is used as a compiler, assembler, and linker. Do the same for clang and enable LTO builds with it as a side effect.
This simplifies code quite a bit as the gcc/clang different is much smaller. Support for ld/lld (if overriden with LD) is maintained.
This is a good time to convert tabs to spaces to conform to make's expectations on syntax.
Change-Id: I6c529c1393f7e9e8046ed537f871fc3ad91d599a Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 885ed9e0 | 14-Apr-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(build): pass cflags to the linker when LTO is enabled
Usually, both compiling and linking happen by calling the top level gcc/clang binary. Also, both compilers quite specifically tell us to pa
feat(build): pass cflags to the linker when LTO is enabled
Usually, both compiling and linking happen by calling the top level gcc/clang binary. Also, both compilers quite specifically tell us to pass the same flags to the compilation and linking stages when we enable LTO. This is crucial for things like the undefined behaviour sanitiser. Anecdotally, in working on this, there have been a fair few errors that the compiler has only been able to catch due to warning flags being passed to the linker and building with LTO.
This patch puts the contents of TF_CFLAGS into TF_LDFLAGS when LTO is enabled. This is easier said than done, however, as we support building with clang and linking with gcc (or vice versa), so CFLAGS that are discovered for one will not work for the other. This patch works around this by splitting all flags into a per-compiler variable. Then CFLAGS and LDFLAGS get the contents of the correct one.
Some notable side effects: CPPFLAGS and TF_CFLAGS_$(ARCH) become empty and are removed, although expanding them is kept as platforms set them. Some flags become duplicate and are removed form TF_LDFLAGS (eg -O1).
The errata (--fix) flags are kept as-is but moved to cpu-ops.mk for consistency. This is because they currently don't work with LTO and will be addressed in a later patch.
Finally, ERROR_DEPRECATED's flags are also identical on all compilers so don't maintain a difference.
Change-Id: I3630729ee5f474c09d4722cd0ede6845e1725d95 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 816a999c | 01-Oct-2025 |
John Powell <john.powell@arm.com> |
refactor: fix workaround order for Cortex-A720
One of the Cortex-A720 errata was below the CVE workaround, this moves it up to the correct place.
Change-Id: I6770567a9580973ceedb5911f0a495391ef9e83
refactor: fix workaround order for Cortex-A720
One of the Cortex-A720 errata was below the CVE workaround, this moves it up to the correct place.
Change-Id: I6770567a9580973ceedb5911f0a495391ef9e839 Signed-off-by: John Powell <john.powell@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 ...
|