aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorjohpow01 <john.powell@arm.com>2020-05-29 14:17:38 -0500
committerjohpow01 <john.powell@arm.com>2020-06-22 16:58:24 -0500
commitd7b08e69044611c13f2691011a0dc02383106474 (patch)
tree48bac5a436147056175a22b9c24ee099b8bee63b /include
parent9935047b2086faa3bf3ccf0b95a76510eb5a160b (diff)
downloadplatform_external_arm-trusted-firmware-d7b08e69044611c13f2691011a0dc02383106474.tar.gz
platform_external_arm-trusted-firmware-d7b08e69044611c13f2691011a0dc02383106474.tar.bz2
platform_external_arm-trusted-firmware-d7b08e69044611c13f2691011a0dc02383106474.zip
Workaround for Cortex A76 erratum 1791580
Cortex A76 erratum 1791580 is a Cat B erratum present in earlier revisions of the Cortex A76. The workaround is to set a bit in the implementation defined CPUACTLR2 register, which forces atomic store operations to write-back memory to be performed in the L1 data cache. This errata is explained in this SDEN: https://static.docs.arm.com/sden885749/g/Arm_Cortex_A76_MP052_Software_Developer_Errata_Notice_v20.pdf Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Iefd58159b3f2e2286138993317b98e57dc361925
Diffstat (limited to 'include')
-rw-r--r--include/lib/cpus/aarch64/cortex_a76.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/lib/cpus/aarch64/cortex_a76.h b/include/lib/cpus/aarch64/cortex_a76.h
index 7dc7e068a..a61825f1b 100644
--- a/include/lib/cpus/aarch64/cortex_a76.h
+++ b/include/lib/cpus/aarch64/cortex_a76.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -32,6 +32,8 @@
#define CORTEX_A76_CPUACTLR2_EL1 S3_0_C15_C1_1
+#define CORTEX_A76_CPUACTLR2_EL1_BIT_2 (ULL(1) << 2)
+
#define CORTEX_A76_CPUACTLR2_EL1_DISABLE_LOAD_PASS_STORE (ULL(1) << 16)
#define CORTEX_A76_CPUACTLR3_EL1 S3_0_C15_C1_2