diff options
author | Sona Mathew <sonarebecca.mathew@arm.com> | 2023-10-03 17:09:09 -0500 |
---|---|---|
committer | Sona Mathew <sonarebecca.mathew@arm.com> | 2023-10-04 13:45:16 -0500 |
commit | 2454316c2ae4411d0071d88c3db3c95598f12498 (patch) | |
tree | d0ca3c8c17905495cbc2a481f6b623f224597a79 /services | |
parent | 18b47a9ca4597091fbb62203fd107b52d65ac93b (diff) |
fix(cpus): workaround for Cortex-X3 erratum 2070301
Cortex-X3 erratum 2070301 is a Cat B erratum that applies to all
revisions <= r1p2 and is still open.
The workaround is to write the value 4'b1001 to the PF_MODE bits
in the IMP_CPUECTLR2_EL1 register. This places the data prefetcher
in the most conservative mode instead of disabling it.
SDEN documentation:
https://developer.arm.com/documentation/2055130/latest
Change-Id: I337c4c7bb9221715aaf973a55d0154e1c7555768
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
Diffstat (limited to 'services')
-rw-r--r-- | services/std_svc/errata_abi/errata_abi_main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/services/std_svc/errata_abi/errata_abi_main.c b/services/std_svc/errata_abi/errata_abi_main.c index ca6639698..c0a089b14 100644 --- a/services/std_svc/errata_abi/errata_abi_main.c +++ b/services/std_svc/errata_abi/errata_abi_main.c @@ -428,10 +428,11 @@ struct em_cpu_list cpu_list[] = { { .cpu_partnumber = CORTEX_X3_MIDR, .cpu_errata_list = { - [0] = {2313909, 0x00, 0x10, ERRATA_X3_2313909}, - [1] = {2615812, 0x00, 0x11, ERRATA_X3_2615812}, - [2] = {2742421, 0x00, 0x11, ERRATA_X3_2742421}, - [3 ... ERRATA_LIST_END] = UNDEF_ERRATA, + [0] = {2070301, 0x00, 0x12, ERRATA_X3_2070301}, + [1] = {2313909, 0x00, 0x10, ERRATA_X3_2313909}, + [2] = {2615812, 0x00, 0x11, ERRATA_X3_2615812}, + [3] = {2742421, 0x00, 0x11, ERRATA_X3_2742421}, + [4 ... ERRATA_LIST_END] = UNDEF_ERRATA, } }, #endif /* CORTEX_X3_H_INC */ |