diff options
author | Bipin Ravi <bipin.ravi@arm.com> | 2023-09-18 16:34:13 -0500 |
---|---|---|
committer | Bipin Ravi <bipin.ravi@arm.com> | 2023-09-18 17:42:07 -0500 |
commit | 8852fb5b7d94229475446c81cfa58851bc2204ff (patch) | |
tree | aee7e8579db41bdca6ec3c97834d810b22ef5eea /services/std_svc | |
parent | 88b2d81345dfd84902aae586a743d00ac5df2f48 (diff) |
fix(cpus): workaround for Neoverse V2 erratum 2331132
Neoverse V2 erratum 2331132 is a Cat B erratum that applies to all
revisions <= r0p2 and is still open. The workaround is to write the
value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register
which will place the data prefetcher in the most conservative mode
instead of disabling it.
SDEN documentation:
https://developer.arm.com/documentation/SDEN2332927/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ic6c76375df465a4ad2e20dd7add7037477d973c1
Diffstat (limited to 'services/std_svc')
-rw-r--r-- | services/std_svc/errata_abi/errata_abi_main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/std_svc/errata_abi/errata_abi_main.c b/services/std_svc/errata_abi/errata_abi_main.c index 71a907b75..1bf0a734f 100644 --- a/services/std_svc/errata_abi/errata_abi_main.c +++ b/services/std_svc/errata_abi/errata_abi_main.c @@ -399,10 +399,11 @@ struct em_cpu_list cpu_list[] = { { .cpu_partnumber = NEOVERSE_V2_MIDR, .cpu_errata_list = { - [0] = {2719103, 0x00, 0x01, ERRATA_V2_2719103, \ + [0] = {2331132, 0x00, 0x02, ERRATA_V2_2331132}, + [1] = {2719103, 0x00, 0x01, ERRATA_V2_2719103, \ ERRATA_NON_ARM_INTERCONNECT}, - [1] = {2801372, 0x00, 0x01, ERRATA_V2_2801372}, - [2 ... ERRATA_LIST_END] = UNDEF_ERRATA, + [2] = {2801372, 0x00, 0x01, ERRATA_V2_2801372}, + [3 ... ERRATA_LIST_END] = UNDEF_ERRATA, } }, #endif /* NEOVERSE_V2_H_INC */ |