| 744b070b | 18-Dec-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge "fix(cpus): workaround for Neoverse-V2 erratum 3442699" into integration |
| a0723de7 | 03-Dec-2025 |
Jaiprakash Singh <jaiprakashs@marvell.com> |
fix(cpus): workaround for Neoverse-V2 erratum 3442699
Neoverse-V2 erratum 3442699 applies to r0p0, r0p1, and r0p2 and it is still open.
PE may execute incorrect instructions when icache is enabled.
fix(cpus): workaround for Neoverse-V2 erratum 3442699
Neoverse-V2 erratum 3442699 applies to r0p0, r0p1, and r0p2 and it is still open.
PE may execute incorrect instructions when icache is enabled. As workaround, Set CPUACTLR_EL1[36] before enabling icache.
SDEN: https://developer.arm.com/documentation/SDEN-2332927/latest
Change-Id: I38edc6ba445223091c3933cbca35b56db491c926 Signed-off-by: Jaiprakash Singh <jaiprakashs@marvell.com> Signed-off-by: Chandrakala Chavva <cchavva@cavium.com> Reviewed-by: Chandrakala Chavva <cchavva@marvell.com> Tested-by: Chandrakala Chavva <cchavva@marvell.com>
show more ...
|
| 740b3bb2 | 10-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Pro erratum 3300099
C1-Pro erratum 3300099 is a Cat B erratum that applies to revisions r0p0, r1p0, and is fixed in r1p1.
This is workaround for accessing ICH_VMCR_EL2.
fix(cpus): workaround for C1-Pro erratum 3300099
C1-Pro erratum 3300099 is a Cat B erratum that applies to revisions r0p0, r1p0, and is fixed in r1p1.
This is workaround for accessing ICH_VMCR_EL2. When ICH_VMCR_EL2.VBPR1 is written in Secure state (SCR_EL3.NS==0) and then subsequently read in Non-secure state (SCR_EL3.NS==1), a wrong value might be returned. The same issue exists in the opposite way.
Adding workaround in 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. For example, EL3 software should set SCR_EL3.NS to 1 when saving or restoring the value ICH_VMCR_EL2 for Non-secure(or Realm) state. EL3 software should clear SCR_EL3.NS to 0 when saving or restoring the value ICH_VMCR_EL2 for Secure state.
SDEN documentation: https://developer.arm.com/documentation/SDEN-3273080/1300/?lang=en
Change-Id: If24d3230c4b4e87fcb831d446cf0d0c68c95ea18 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 0d3eb4d0 | 05-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Pro erratum 3684268
C1-Pro erratum 3684268 is a Cat B erratum that applies to revisions r0p0, r1p0 and it is fixed in r1p1.
The erratum is avoided by disabling the affe
fix(cpus): workaround for C1-Pro erratum 3684268
C1-Pro erratum 3684268 is a Cat B erratum that applies to revisions r0p0, r1p0 and it is fixed in r1p1.
The erratum is avoided by disabling the affected prefetcher, which is done by setting CPUECTLR2_EL1[49] to 1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-3273080/1300/?lang=en
Change-Id: I7929e931572471370b1a899d412b11f1c4d206c8 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| dd83309f | 05-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Pro erratum 3694158
C1-Pro erratum 3694158 is a Cat B erratum that applies to revisions r0p0, r1p0 and r1p1, it is fixed in r1p2.
This erratum can be avoided by inserti
fix(cpus): workaround for C1-Pro erratum 3694158
C1-Pro erratum 3694158 is a Cat B erratum that applies to revisions r0p0, r1p0 and r1p1, it is fixed in r1p2.
This erratum can be avoided by inserting a DMB LD after each DSB ST instruction with a CPU implementation specific patch sequence.
SDEN documentation: https://developer.arm.com/documentation/SDEN-3273080/1300/?lang=en
Change-Id: I38f0fb6565110c579ab16b76e0f4ca601fa1b912 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 7b60fae4 | 05-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Pro erratum 3706576
C1-Pro erratum 3706576 is a Cat B erratum that applies to CPU revisions r0p0 and r1p0, and is fixed in r1p1.
This erratum might cause data corruptio
fix(cpus): workaround for C1-Pro erratum 3706576
C1-Pro erratum 3706576 is a Cat B erratum that applies to CPU revisions r0p0 and r1p0, and is fixed in r1p1.
This erratum might cause data corruption when Memory read effect crossing a 64B boundary, which can be avoided by setting CPUACTLR2_EL1[37] to 1. Setting this bit is expected to have a negligible performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN-3273080/1300/?lang=en
Change-Id: Ie427e56c682065bdf82da9b11e71da6383db4e73 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 99b23d8a | 11-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Premium erratum 3926381
C1-Premium erratum 3926381 is a Cat B erratum that applies to revision r1p0 and is still open.
This errata can be avoided by converting WFx and
fix(cpus): workaround for C1-Premium erratum 3926381
C1-Premium erratum 3926381 is a Cat B erratum that applies to revision r1p0 and is still open.
This errata can be avoided by converting WFx and WFxT instructions to NOP when PSTATE.SM=1. After it is applied, the code only converts WFx and WFxT instructions to NOP when PSTATE.SM=1 or when PSTATE.ZA=1.
SDEN documentation: https://developer.arm.com/documentation/111078/8-0/?lang=en
Change-Id: I24483fa88c6292f6dbe2950ebef88eebb5cc4e8d Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| f5bd742a | 10-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Premium erratum 3865171
C1-Premium erratum 3865171 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUA
fix(cpus): workaround for C1-Premium erratum 3865171
C1-Premium erratum 3865171 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR2_EL1[22] to 1, which will disable linking multiple Non-Cacheable or Device GRE loads to the same read request for the cache-line. This might have a significant performance impact to Non-cacheable and Device GRE read bandwidth for streaming scenarios.
SDEN documentation: https://developer.arm.com/documentation/111078/latest
Change-Id: I0b97dfc1dd989e4d3e35716b0163b99c9719a0e6 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 20fe6fb0 | 10-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Premium erratum 3815514
C1-Premium erratum 3815514 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUA
fix(cpus): workaround for C1-Premium erratum 3815514
C1-Premium erratum 3815514 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR5[13] to 1. This is expected to result in a small performance degradation for workloads that use MTE. The degradation might be approximately 1.6% when using MTE imprecise mode or 0.9% for MTE precise mode.
SDEN documentation: https://developer.arm.com/documentation/111078/latest
Change-Id: Id52a1a077459bd16de16b1ae00fc783250d197ed Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 350a8a78 | 10-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Premium erratum 3684152
C1-Premium erratum 3684152 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUA
fix(cpus): workaround for C1-Premium erratum 3684152
C1-Premium erratum 3684152 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR_EL1[60:58] to 3'b001, which has a small performance impact.
SDEN documentation: https://developer.arm.com/documentation/111078/latest
Change-Id: I2e677b0e6cf3ce453eae54300c5c0072d734a341 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 37e3b5f6 | 10-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Premium erratum 3502731
C1-Premium erratum 3502731 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUA
fix(cpus): workaround for C1-Premium erratum 3502731
C1-Premium erratum 3502731 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR4[23] to 1, which will disable Memory Renaming optimization. The performance impact of setting this chicken bit is about 0.82% in GB6.
SDEN documentation: https://developer.arm.com/documentation/111078/latest
Change-Id: Idc6ec2a742ed0f974d026aa63d7c9c5b248ef33b Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 35271947 | 09-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3658374
C1-Ultra erratum 3658374 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
This is workaround for accessing ICH_VMCR_EL2.
fix(cpus): workaround for C1-Ultra erratum 3658374
C1-Ultra erratum 3658374 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
This is workaround for accessing ICH_VMCR_EL2. When ICH_VMCR_EL2.VBPR1 is written in Secure state (SCR_EL3.NS==0) and then subsequently read in Non-secure state (SCR_EL3.NS==1), a wrong value might be returned. The same issue exists in the opposite way.
Adding workaround in 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. For example, EL3 software should set SCR_EL3.NS to 1 when saving or restoring the value ICH_VMCR_EL2 for Non-secure(or Realm) state. EL3 software should clear SCR_EL3.NS to 0 when saving or restoring the value ICH_VMCR_EL2 for Secure state.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: I945477b2432fefc04049e8576b66cea0cbffb03a Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 09d541ba | 09-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3926381
C1-Ultra erratum 3926381 is a Cat B erratum that applies to revision r1p0 and is open.
This errata can be avoided by executing an implementation s
fix(cpus): workaround for C1-Ultra erratum 3926381
C1-Ultra erratum 3926381 is a Cat B erratum that applies to revision r1p0 and is open.
This errata can be avoided by executing an implementation specific instruction patching sequence as soon as possible after boot. After it is applied, the code only converts WFx and WFxT instructions to NOP when PSTATE.SM=1 or when PSTATE.ZA=1.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: I2e0f3a715670aaac116c7d3c5f5992ff7ab05ba3 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| e63111fe | 08-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3865171
C1-Ultra erratum 3865171 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR
fix(cpus): workaround for C1-Ultra erratum 3865171
C1-Ultra erratum 3865171 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR2_EL1[22] to 1, which will disable linking multiple Non-Cacheable or Device GRE loads to the same read request for the cache-line. This might have a significant performance impact to Non-cacheable and Device GRE read bandwidth for streaming scenarios.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: I8bfe15fdd1d028d43d8730e7d43f72c9f15810d7 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 8f8ee1e0 | 08-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3815514
C1-Ultra erratum 3815514 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR
fix(cpus): workaround for C1-Ultra erratum 3815514
C1-Ultra erratum 3815514 is a Cat B erratum that applies to revisions r0p0, r1p0 and is still open.
The erratum can be avoided by setting CPUACTLR5_EL1[13] to 1. Setting CPUACTLR5_EL1[13] to 1 is expected to result in a small performance degradation for workloads that use MTE. The degradation might be approximately 1.6% when using MTE imprecise mode or 0.9% for MTE precise mode.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: I2d6b0ee282010139d8dc406800f2738b39113957 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 9c723540 | 08-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3684152
C1-Ultra erratum 3684152 is a Cat B erratum that applies to revision r0p0, and is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR_EL
fix(cpus): workaround for C1-Ultra erratum 3684152
C1-Ultra erratum 3684152 is a Cat B erratum that applies to revision r0p0, and is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR_EL1[60:58] to 3'b001, which has a small perf impact.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: I3747b2a99785602bd2a3bddac3a69a934e7f4b37 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 81e845d6 | 08-Dec-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for C1-Ultra erratum 3502731
C1-Ultra erratum 3502731 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR
fix(cpus): workaround for C1-Ultra erratum 3502731
C1-Ultra erratum 3502731 is a Cat B erratum that applies to revision r0p0, and it is fixed in r1p0.
The erratum can be avoided by setting CPUACTLR4[23] to 1, which will disable Memory Renaming optimization. The performance impact of setting this chicken bit is about 0.82% in GB6.
SDEN documentation: https://developer.arm.com/documentation/111077/8-0
Change-Id: Iaf832b66aeed937edbb1e9be29de41b0f2b5d70c Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| c130f923 | 14-Nov-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(security): add CVE-2024-7881 mitigation to C1-Ultra CPU
This patch mitigates Cat B erratum 3651221 [2] / CVE-2024-7881 [1] for C1-Ultra CPU. This CVE applies to r0p0 and is fixed in r1p0 [2].
T
fix(security): add CVE-2024-7881 mitigation to C1-Ultra CPU
This patch mitigates Cat B erratum 3651221 [2] / CVE-2024-7881 [1] for C1-Ultra CPU. This CVE applies to r0p0 and is fixed in r1p0 [2].
This CVE can be mitigated by disabling the affected prefetcher setting CPUACTLR6_EL1[41].
[1] https://developer.arm.com/documentation/110326/latest/ [2] https://developer.arm.com/documentation/111077/latest/
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I7815d6fc9af812c38b1c05881c850b8209d6ad7c
show more ...
|
| 83ad6bae | 14-Nov-2025 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
fix(security): add CVE-2024-7881 mitigation to C1-Premium CPU
This patch mitigates Cat B erratum 3651221 [2] / CVE-2024-7881 [1] for C1-Premium CPU. This CVE applies to r0p0 and is fixed in r1p0 [2]
fix(security): add CVE-2024-7881 mitigation to C1-Premium CPU
This patch mitigates Cat B erratum 3651221 [2] / CVE-2024-7881 [1] for C1-Premium CPU. This CVE applies to r0p0 and is fixed in r1p0 [2].
This CVE can be mitigated by disabling the affected prefetcher setting CPUACTLR6_EL1[41].
[1] https://developer.arm.com/documentation/110326/latest/ [2] https://developer.arm.com/documentation/111078/latest/
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I70b50700bc1618e0f8f4121efc9fe89e2742ed74
show more ...
|
| 2bd15121 | 04-Dec-2025 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "xl/a725-errata" into integration
* changes: fix(cpus): workaround for Cortex-A725 erratum 3456106 fix(cpus): workaround for Cortex-A725 erratum 3711914 fix(cpus): wor
Merge changes from topic "xl/a725-errata" into integration
* changes: fix(cpus): workaround for Cortex-A725 erratum 3456106 fix(cpus): workaround for Cortex-A725 erratum 3711914 fix(cpus): workaround for Cortex-A725 erratum 2936490 fix(cpus): workaround for Cortex-A725 erratum 2874943
show more ...
|
| ba7716bb | 10-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A725 erratum 3711914
Cortex-A725 erratum 3711914 is a Cat B erratum that applies to revisions r0p0 and r0p1 and it is fixed in r0p2.
This erratum can be avoided by
fix(cpus): workaround for Cortex-A725 erratum 3711914
Cortex-A725 erratum 3711914 is a Cat B erratum that applies to revisions r0p0 and r0p1 and it is fixed in r0p2.
This erratum can be avoided by inserting a DMB LD after each DSB ST instruction.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2832921/latest/
Change-Id: If3b9d3a0f495b3a172d3e6e5ca7afa8c30aeb4ea Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| d9a21d3c | 10-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A725 erratum 2936490
Cortex-A725 erratum 2936490 is a Cat B erratum that applies to revisions in r0p0, and is fixed in r0p1.
This erratum can be avoided by setting
fix(cpus): workaround for Cortex-A725 erratum 2936490
Cortex-A725 erratum 2936490 is a Cat B erratum that applies to revisions in r0p0, and is fixed in r0p1.
This erratum can be avoided by setting CPUACTLR2_EL1[37] to 1. Setting this bit is expected to have a negligible performance impact.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2832921/latest/
Change-Id: I9833f8831ba3735a94763791a65be11b95c00bdb Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| 74d75753 | 10-Nov-2025 |
Xialin Liu <xialin.liu@arm.com> |
fix(cpus): workaround for Cortex-A725 erratum 2874943
Cortex-A725 erratum 2874943 is a Cat B erratum that applies to revision r0p0 when FEAT_SPE is enabled, it is fixed in r0p1.
This erratum can be
fix(cpus): workaround for Cortex-A725 erratum 2874943
Cortex-A725 erratum 2874943 is a Cat B erratum that applies to revision r0p0 when FEAT_SPE is enabled, it is fixed in r0p1.
This erratum can be avoided by setting bits[58:57] to 0b11 in CPUACTLR_EL1.
SDEN documentation: https://developer.arm.com/documentation/SDEN-2832921/latest/
Change-Id: I686bbde8756d52afee92097ec05b97138b550025 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 ...
|