| e81e999b | 21-Apr-2022 |
Okash Khawaja <okash@google.com> |
fix(security): workaround for CVE-2022-23960 for Cortex-X1
Implements the loop workaround for Cortex-X1.
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I5828a26c1ec3cfb718246ea5c3b099da
fix(security): workaround for CVE-2022-23960 for Cortex-X1
Implements the loop workaround for Cortex-X1.
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I5828a26c1ec3cfb718246ea5c3b099dabc0fb3d7
show more ...
|
| 7b76c20d | 21-Apr-2022 |
Okash Khawaja <okash@google.com> |
fix(errata): workarounds for cortex-x1 errata
This patch adds workarounds for following cortex-x1 errata:
- 1821534 (CatB) - 1688305 (CatB) - 1827429 (CatB)
SDEN can be found here: https://develop
fix(errata): workarounds for cortex-x1 errata
This patch adds workarounds for following cortex-x1 errata:
- 1821534 (CatB) - 1688305 (CatB) - 1827429 (CatB)
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401782/latest
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I10ebe8d5c56a6d273820bb2c682f21bf98daa7a5
show more ...
|
| 6e8eca78 | 21-Apr-2022 |
Okash Khawaja <okash@google.com> |
feat(cpu): add support for Cortex-X1
This patch adds basic CPU library code to support Cortex-X1 CPU in TF-A. Follow-up patches will add selected errata workarounds for this CPU.
Signed-off-by: Oka
feat(cpu): add support for Cortex-X1
This patch adds basic CPU library code to support Cortex-X1 CPU in TF-A. Follow-up patches will add selected errata workarounds for this CPU.
Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I4a3d50a98bf55a555bfaefeed5c7b88a35e3bc21
show more ...
|
| 744ad974 | 28-Jan-2022 |
johpow01 <john.powell@arm.com> |
feat(brbe): add BRBE support for NS world
This patch enables access to the branch record buffer control registers in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS. It is disab
feat(brbe): add BRBE support for NS world
This patch enables access to the branch record buffer control registers in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS. It is disabled for all secure world, and cannot be used with ENABLE_RME.
This option is disabled by default, however, the FVP platform makefile enables it for FVP builds.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I576a49d446a8a73286ea6417c16bd0b8de71fca0
show more ...
|
| ed4bf52c | 16-Mar-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fconf): add NS load address in configuration DTB nodes
Retrieved the NS load address of configs from FW_CONFIG device tree, and modified the prototype of "set_config_info" to update device tree
feat(fconf): add NS load address in configuration DTB nodes
Retrieved the NS load address of configs from FW_CONFIG device tree, and modified the prototype of "set_config_info" to update device tree information with the retrieved address.
Change-Id: Ic5a98ba65bc7aa0395c70c7d450253ff8d84d02c Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 9284d212 | 27-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(twed): improve TWED enablement in EL-3" into integration |
| e96ffdc8 | 19-Apr-2022 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(errata): workaround for Cortex-X2 erratum 2147715" into integration |
| 781d07a4 | 28-Mar-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved fo
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved for that purpose. In addition, the function has a weak definition which is not encouraged in TF-A.
Henceforth, removing the weak API with a configurable macro "TWED_DELAY" of numeric data type in generic code and simplifying the implementation. By default "TWED_DELAY" is defined to zero, and the delay value need to be explicitly set by the platforms during buildtime.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I25cd6f628e863dc40415ced3a82d0662fdf2d75a
show more ...
|
| 8b95e848 | 31-Jan-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' fun
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' function. The function is a wrapper to 'cm_prepare_el3_exit' function for Non-secure state.
When EL2 sysregs context exists (CTX_INCLUDE_EL2_REGS is enabled) EL1 and EL2 sysreg values are restored from the context instead of directly updating the registers.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9b071030576bb05500d54090e2a03b3f125d1653
show more ...
|
| 7f41bcc7 | 03-Nov-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): remove registers accessible only from secure state from EL2 context
The following registers are only accessible from secure state, therefore don't need to be saved/restored d
refactor(context mgmt): remove registers accessible only from secure state from EL2 context
The following registers are only accessible from secure state, therefore don't need to be saved/restored during world switch. - SDER32_EL2 - VSTCR_EL2 - VSTTBR_EL2
This patch removes these registers from EL2 context.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I24d08aacb1b6def261c7b37d3e1265bb76adafdc
show more ...
|
| 63446c27 | 08-Mar-2022 |
Bipin Ravi <bipin.ravi@arm.com> |
fix(errata): workaround for Cortex-X2 erratum 2147715
Cortex-X2 erratum 2147715 is a Cat B erratum that applies to revision r2p0 and is fixed in r2p1. The workaround is to set CPUACTLR_EL1[22]=1, wh
fix(errata): workaround for Cortex-X2 erratum 2147715
Cortex-X2 erratum 2147715 is a Cat B erratum that applies to revision r2p0 and is fixed in r2p1. The workaround is to set CPUACTLR_EL1[22]=1, which will cause the CFP instruction to invalidate all branch predictor resources regardless of context.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I2d81867486d9130f2c36cd4554ca9a8f37254b57
show more ...
|
| 0ce220af | 26-Jan-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during
refactor(el3-runtime): replace ARM_ARCH_AT_LEAST macro with FEAT flags
Replacing ARM_ARCH_AT_LEAST macro with feature specific build options to prevent unconditional accesses to the registers during context save and restore routines.
Registers are tightly coupled with features more than architecture versions. Henceforth having a feature-specific build flag guarding the respective registers, will restrict any undefined actions.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I809774df580530803c8a6e05a62d8d4de0910e02
show more ...
|
| 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 ...
|
| a5d15b4c | 15-Mar-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): loop workaround for CVE-2022-23960 for Cortex-A76 refactor(el3-runtime): change Cortex-A76 implementation of CVE
Merge changes from topic "spectre_bhb" into integration
* changes: fix(security): loop workaround for CVE-2022-23960 for Cortex-A76 refactor(el3-runtime): change Cortex-A76 implementation of CVE-2018-3639
show more ...
|
| 29ba22e8 | 12-Mar-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(security): workaround for CVE-2022-23960" into integration |
| 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 |
| 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 ...
|
| 6a00e9b0 | 21-Oct-2021 |
Robert Wakim <robert.wakim@arm.com> |
fix(gpt_rme): rework delegating/undelegating sequence
The previous delegating/undelegating sequence was incorrect as per the specification DDI0615, "Architecture Reference Manual Supplement, The Rea
fix(gpt_rme): rework delegating/undelegating sequence
The previous delegating/undelegating sequence was incorrect as per the specification DDI0615, "Architecture Reference Manual Supplement, The Realm Management Extension (RME), for Armv9-A" Sections A1.1.1 and A1.1.2
Off topic: - cleaning the gpt_is_gpi_valid and gpt_check_pass_overlap
Change-Id: Idb64d0a2e6204f1708951137062847938ab5e0ac Signed-off-by: Robert Wakim <robert.wakim@arm.com>
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 ...
|