arm-trusted-firmware/lib/cpus
Varun Wadekar 92e870843e 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
2022-03-24 10:53:17 +00:00
..
aarch32 lib: cpus: aarch32: sanity check pointers before use 2021-02-23 15:16:51 +01:00
aarch64 fix(errata): workaround for Cortex A78 AE erratum 2376748 2022-03-24 10:53:17 +00:00
cpu-ops.mk fix(errata): workaround for Cortex A78 AE erratum 2376748 2022-03-24 10:53:17 +00:00
errata_report.c fix(errata_report): correct typo 2021-10-06 17:35:39 +02:00