| 3f4d81df | 09-Mar-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(errata): workaround for Cortex A78 AE erratum 2395408
Cortex A78 AE erratum 2395408 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
This erratum states, "A translation t
fix(errata): workaround for Cortex A78 AE erratum 2395408
Cortex A78 AE erratum 2395408 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
This erratum states, "A translation table walk that matches an existing L1 prefetch with a read request outstanding on CHI might fold into the prefetch, which might lead to data corruption for a future instruction fetch"
This erratum is avoided by setting CPUACTLR2_EL1[40] to 1 to disable folding of demand requests into older prefetches with L2 miss requests outstanding.
SDEN is available at https://developer.arm.com/documentation/SDEN-1707912
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ic17968987ca3c67fa7f64211bcde6dfcb35ed5d6
show more ...
|
| 92e87084 | 09-Mar-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(errata): workaround for Cortex A78 AE erratum 2376748
Cortex A78 AE erratum 2376748 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
The erratum states, "A PE executing a
fix(errata): workaround for Cortex A78 AE erratum 2376748
Cortex A78 AE erratum 2376748 is a Cat B erratum that applies to revisions <= r0p1. It is still open.
The erratum states, "A PE executing a PLDW or PRFM PST instruction that lies on a mispredicted branch path might cause a second PE executing a store exclusive to the same cache line address to fail continuously."
The erratum is avoided by setting CPUACTLR2_EL1[0] to 1 to 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 is available at https://developer.arm.com/documentation/SDEN-1707912
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I93bd392a870d4584f3e12c8e4626dbe5a3a40a4d
show more ...
|
| 5f802c88 | 12-Mar-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): workaround for CVE-2022-23960 for A76AE, A78AE, A78C
Implements the loop workaround for Cortex-A76AE, Cortex-A78AE and Cortex-A78C.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Sig
fix(security): workaround for CVE-2022-23960 for A76AE, A78AE, A78C
Implements the loop workaround for Cortex-A76AE, Cortex-A78AE and Cortex-A78C.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Change-Id: I5c838f5b9d595ed3c461a7452bd465bd54acc548
show more ...
|
| 815abebc | 18-Mar-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 fix(security): workaround for CVE-2022-23960 for Cortex-A57, Co
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72 fix(fvp): disable reclaiming init code by default
show more ...
|
| 9b2510b6 | 24-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57
This patch applies CVE-2022-23960 workarounds for Cortex-A75, Cortex-A73, Cortex-A72 & Cortex-A57. This patch also implements the new
fix(security): apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57
This patch applies CVE-2022-23960 workarounds for Cortex-A75, Cortex-A73, Cortex-A72 & Cortex-A57. This patch also implements the new SMCCC_ARCH_WORKAROUND_3 and enables necessary discovery hooks for Coxtex-A72, Cortex-A57, Cortex-A73 and Cortex-A75 to enable discovery of this SMC via SMC_FEATURES. SMCCC_ARCH_WORKAROUND_3 is implemented for A57/A72 because some revisions are affected by both CVE-2022-23960 and CVE-2017-5715 and this allows callers to replace SMCCC_ARCH_WORKAROUND_1 calls with SMCCC_ARCH_WORKAROUND_3. For details of SMCCC_ARCH_WORKAROUND_3, please refer SMCCCv1.4 specification.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ifa6d9c7baa6764924638efe3c70468f98d60ed7c
show more ...
|
| be9121fd | 16-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72
Implements mitigation for Cortex-A72 CPU versions that support the CSV2 feature(from r1p0). It also applies the mitigation for
fix(security): workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72
Implements mitigation for Cortex-A72 CPU versions that support the CSV2 feature(from r1p0). It also applies the mitigation for Cortex-A57 CPU.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I7cfcf06537710f144f6e849992612033ddd79d33
show more ...
|
| a10a5cb6 | 09-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): loop workaround for CVE-2022-23960 for Cortex-A76
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I8d433b39a5c0f9e1cef978df8a2986d7a35d3745 |
| 92108104 | 03-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
refactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639
Re-factored the prior implementation of workaround for CVE-2018-3639 using branch and link instruction to save vector space t
refactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639
Re-factored the prior implementation of workaround for CVE-2018-3639 using branch and link instruction to save vector space to include the workaround for CVE-2022-23960.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Ib3fe949583160429b5de8f0a4a8e623eb91d87d4
show more ...
|
| 1fe4a9d1 | 18-Jan-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(security): workaround for CVE-2022-23960
Implements the loop workaround for Cortex-A77, Cortex-A78, Cortex-A710, Cortex-X2, Neoverse N1, Neoverse N2 and Neoverse V1 CPUs.
Signed-off-by: Bipin R
fix(security): workaround for CVE-2022-23960
Implements the loop workaround for Cortex-A77, Cortex-A78, Cortex-A710, Cortex-X2, Neoverse N1, Neoverse N2 and Neoverse V1 CPUs.
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I11d342df7a2068a15e18f4974c645af3b341235b
show more ...
|
| ef934cd1 | 01-Mar-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A710 2282622
Cortex-A710 erratum 2282622 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set CPUACTL
fix(errata): workaround for Cortex-A710 2282622
Cortex-A710 erratum 2282622 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set CPUACTLR2_EL1[0] to 1, which will force PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations to other PE caches.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ic48409822536e9eacc003300036a1f0489593020
show more ...
|
| 8a342992 | 25-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes I1784d643,Icb6e3699,I7805756e into integration
* changes: fix(errata): workaround for Cortex-A510 erratum 2172148 fix(errata): workaround for Cortex-A510 erratum 2218950 fix(erra
Merge changes I1784d643,Icb6e3699,I7805756e into integration
* changes: fix(errata): workaround for Cortex-A510 erratum 2172148 fix(errata): workaround for Cortex-A510 erratum 2218950 fix(errata): workaround for Cortex-A510 erratum 2250311
show more ...
|
| c0959d2c | 16-Feb-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2172148
Cortex-A510 erratum 2172148 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be f
fix(errata): workaround for Cortex-A510 erratum 2172148
Cortex-A510 erratum 2172148 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I1784d643ca3d1d448340cd421facb5f229df1d22
show more ...
|
| cc79018b | 15-Feb-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2218950
Cortex-A510 erratum 2218950 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be f
fix(errata): workaround for Cortex-A510 erratum 2218950
Cortex-A510 erratum 2218950 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Icb6e369946f8978a08cf8ed5e4452782efb0a77a
show more ...
|
| 7f304b02 | 14-Feb-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2250311
Cortex-A510 erratum 2250311 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0 and is fixed in r1p1.
This erratum w
fix(errata): workaround for Cortex-A510 erratum 2250311
Cortex-A510 erratum 2250311 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0 and is fixed in r1p1.
This erratum workaround is a bit different because it interacts with a feature supported in TFA. The typical method of implementing an errata workaround will not work in this case as the MPMM feature would just be re-enabled by context management at every core power on after being disabled by the errata framework. So in addition to disabling MPMM, this workaround also sets a flag in the MPMM runtime framework indicating that the feature should not be enabled even if ENABLE_MPMM=1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I7805756e65ec90b6ef8af47e200617c9e07a3a7e
show more ...
|
| 510155aa | 24-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes I7b1498fa,I1d2ebee3,I875519ff,I8c427ef2 into integration
* changes: fix(errata): workaround for Cortex-A510 erratum 2041909 fix(errata): workaround for Cortex-A510 erratum 2042739
Merge changes I7b1498fa,I1d2ebee3,I875519ff,I8c427ef2 into integration
* changes: fix(errata): workaround for Cortex-A510 erratum 2041909 fix(errata): workaround for Cortex-A510 erratum 2042739 fix(errata): workaround for Cortex-A510 erratum 2288014 fix(errata): workaround for Cortex-A510 erratum 1922240
show more ...
|
| e72bbe47 | 11-Jan-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2041909
Cortex-A510 erratum 2041909 is a Cat B erratum that applies to revision r0p2 and is fixed in r0p3. It is also present in r0p0 and r0p1 but the
fix(errata): workaround for Cortex-A510 erratum 2041909
Cortex-A510 erratum 2041909 is a Cat B erratum that applies to revision r0p2 and is fixed in r0p3. It is also present in r0p0 and r0p1 but there is no workaround in these revisions.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I7b1498faa0c79488dee0d11d07f6e9f58144e298
show more ...
|
| d48088ac | 07-Jan-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2042739
Cortex-A510 erratum 2042739 is a Cat B erratum that applies to revisions r0p0, r0p1 and r0p2 and is fixed in r0p3.
SDEN can be found here: ht
fix(errata): workaround for Cortex-A510 erratum 2042739
Cortex-A510 erratum 2042739 is a Cat B erratum that applies to revisions r0p0, r0p1 and r0p2 and is fixed in r0p3.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I1d2ebee3914396e1e298eb45bdab35ce9e194ad9
show more ...
|
| d5e2512c | 06-Jan-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 2288014
Cortex-A510 erratum 2288014 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be f
fix(errata): workaround for Cortex-A510 erratum 2288014
Cortex-A510 erratum 2288014 is a Cat B erratum that applies to revisions r0p0, r0p1, r0p2, r0p3 and r1p0, and is fixed in r1p1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I875519ff55be90244cc3d3a7e9f7abad0fc3c2b8
show more ...
|
| 83435637 | 04-Jan-2022 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex-A510 erratum 1922240
Cortex-A510 erratum 1922240 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1.
Since no errata framework code existed for
fix(errata): workaround for Cortex-A510 erratum 1922240
Cortex-A510 erratum 1922240 is a Cat B erratum that applies to revision r0p0 and is fixed in r0p1.
Since no errata framework code existed for A510 prior to this patch, it has been added as well. Also some general cleanup changes in the CPU lib makefile.
SDEN can be found here: https://developer.arm.com/documentation/SDEN2397239
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I8c427ef255cb4b38ed3e5c2c7444fcef957277e4
show more ...
|
| 47909f9d | 22-Feb-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "x2_errata" into integration
* changes: fix(errata): workaround for Cortex-A710 erratum 2136059 fix(errata): workaround for Cortex-A710 erratum 2267065 fix(errata): w
Merge changes from topic "x2_errata" into integration
* changes: fix(errata): workaround for Cortex-A710 erratum 2136059 fix(errata): workaround for Cortex-A710 erratum 2267065 fix(errata): workaround for Cortex-X2 erratum 2216384 fix(errata): workaround for Cortex-X2 errata 2081180 fix(errata): workaround for Cortex-X2 errata 2017096
show more ...
|
| 8a855bd2 | 06-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-A710 erratum 2136059
Cortex-A710 erratum 2136059 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of the CPU. It is fixed in r2p1. The workaround i
fix(errata): workaround for Cortex-A710 erratum 2136059
Cortex-A710 erratum 2136059 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of the CPU. It is fixed in r2p1. The workaround is to set CPUACTLR5_EL1[44] to 1 which will cause the CPP instruction to invalidate the hardware prefetcher state trained from any EL.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I43a86a365418fb663cc1b6ab1d365b4beddae0bc
show more ...
|
| cfe1a8f7 | 06-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-A710 erratum 2267065
Cortex-A710 erratum 2267065 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of the CPU. It is fixed in r2p1. The workaround
fix(errata): workaround for Cortex-A710 erratum 2267065
Cortex-A710 erratum 2267065 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of the CPU. It is fixed in r2p1. The workaround is to set CPUACTLR_EL1[22] to 1'b1. Setting CPUACTLR_EL1[22] will cause the CFP instruction to invalidate all branch predictor resources regardless of context.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Ia9085aaf9b2b6a2b25d03ab36bd3774839fac9aa
show more ...
|
| 4dff7594 | 06-Feb-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-X2 erratum 2216384
Cortex-X2 erratum 2216384 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of CPU. It is fixed in r2p1. The workaround is to set
fix(errata): workaround for Cortex-X2 erratum 2216384
Cortex-X2 erratum 2216384 is a Cat B erratum that applies to revisions r0p0, r1p0 and r2p0 of CPU. It is fixed in r2p1. The workaround is to set CPUACTLR5_EL1[17] to 1'b1 followed by applying an instruction patching sequence.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I3c216161678887c06a28c59644e784e0c7d37bab
show more ...
|
| c060b533 | 20-Jan-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-X2 errata 2081180
Cortex-X2 erratum 2081180 is a Cat B erratum present in r0p0, r1p0 and r2p0 of the Cortex-X2 processor core.
Cortex-X2 SDEN: https://developer.a
fix(errata): workaround for Cortex-X2 errata 2081180
Cortex-X2 erratum 2081180 is a Cat B erratum present in r0p0, r1p0 and r2p0 of the Cortex-X2 processor core.
Cortex-X2 SDEN: https://developer.arm.com/documentation/SDEN1775100
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I64bed2fd5b7e12932d6de2ae668786e689885188
show more ...
|
| e7ca4433 | 20-Jan-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-X2 errata 2017096
Cortex-X2 erratum 2017096 is a Cat B erratum that applies to revisions r0p0, r1p0 & r2p0. The workaround is to set CPUECLTR_EL1[8] to 1 which dis
fix(errata): workaround for Cortex-X2 errata 2017096
Cortex-X2 erratum 2017096 is a Cat B erratum that applies to revisions r0p0, r1p0 & r2p0. The workaround is to set CPUECLTR_EL1[8] to 1 which disables store issue prefetching.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I3b740aedc95c2394f6b8d1186014d2b2f640ae05
show more ...
|