summaryrefslogtreecommitdiff
path: root/services/std_svc
diff options
context:
space:
mode:
authorBipin Ravi <bipin.ravi@arm.com>2023-09-18 16:34:13 -0500
committerBipin Ravi <bipin.ravi@arm.com>2023-09-18 17:42:07 -0500
commit8852fb5b7d94229475446c81cfa58851bc2204ff (patch)
treeaee7e8579db41bdca6ec3c97834d810b22ef5eea /services/std_svc
parent88b2d81345dfd84902aae586a743d00ac5df2f48 (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.c7
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 */