mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 17:14:21 +00:00
fix(cpus): workaround for Cortex-A715 erratum 2420947
Cortex-A715 erratum 2420947 is a cat B erratum that applies only to revision r1p0 and is fixed in r1p1. The workaround is to set bit[33] of CPUACTLR2_EL1. This will prevent store and store-release to merge inside the write buffer, and it is not expected to have much performance impacts. SDEN can be found here: https://developer.arm.com/documentation/SDEN2148827/latest Change-Id: I01a71b878cd958e742ff8357f8cdfbfc5625de47 Signed-off-by: Bipin Ravi <biprav01@u203721.austin.arm.com>
This commit is contained in:
parent
4a8357fb4b
commit
1f73247132
3 changed files with 14 additions and 0 deletions
|
@ -881,6 +881,10 @@ For Cortex-A520, the following errata build flags are defined :
|
|||
|
||||
For Cortex-A715, the following errata build flags are defined :
|
||||
|
||||
- ``ERRATA_A715_2420947``: This applies errata 2420947 workaround to
|
||||
Cortex-A715 CPU. This needs to be enabled only for revision r1p0.
|
||||
It is fixed in r1p1.
|
||||
|
||||
- ``ERRATA_A715_2429384``: This applies errata 2429384 workaround to
|
||||
Cortex-A715 CPU. This needs to be enabled for revision r1p0. There is no
|
||||
workaround for revision r0p0. It is fixed in r1p1.
|
||||
|
|
|
@ -26,6 +26,12 @@
|
|||
wa_cve_2022_23960_bhb_vector_table CORTEX_A715_BHB_LOOP_COUNT, cortex_a715
|
||||
#endif /* WORKAROUND_CVE_2022_23960 */
|
||||
|
||||
workaround_reset_start cortex_a715, ERRATUM(2420947), ERRATA_A715_2420947
|
||||
sysreg_bit_set CORTEX_A715_CPUACTLR2_EL1, BIT(33)
|
||||
workaround_reset_end cortex_a715, ERRATUM(2420947)
|
||||
|
||||
check_erratum_range cortex_a715, ERRATUM(2420947), CPU_REV(1, 0), CPU_REV(1, 0)
|
||||
|
||||
workaround_reset_start cortex_a715, ERRATUM(2429384), ERRATA_A715_2429384
|
||||
sysreg_bit_set CORTEX_A715_CPUACTLR2_EL1, BIT(27)
|
||||
workaround_reset_end cortex_a715, ERRATUM(2429384)
|
||||
|
|
|
@ -911,6 +911,10 @@ CPU_FLAG_LIST += ERRATA_V2_2779510
|
|||
# This erratum applies to revisions r0p0, r0p1. Fixed in r0p2.
|
||||
CPU_FLAG_LIST += ERRATA_V2_2801372
|
||||
|
||||
# Flag to apply erratum 2420947 workaround during reset. This erratum applies
|
||||
# only to revision r1p0. It is fixed in r1p1.
|
||||
CPU_FLAG_LIST += ERRATA_A715_2420947
|
||||
|
||||
# Flag to apply erratum 2429384 workaround during reset. This erratum applies
|
||||
# to revision r1p0. There is no workaround for r0p0. It is fixed in r1p1.
|
||||
CPU_FLAG_LIST += ERRATA_A715_2429384
|
||||
|
|
Loading…
Add table
Reference in a new issue