]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - atf/arm-trusted-firmware.git/commitdiff
Revert workaround for A77 erratum 1800714
authorjohpow01 <john.powell@arm.com>
Thu, 12 Nov 2020 20:15:41 +0000 (14:15 -0600)
committerjohpow01 <john.powell@arm.com>
Thu, 12 Nov 2020 20:15:41 +0000 (14:15 -0600)
This errata workaround did not work as intended and was revised in
subsequent SDEN releases so we are reverting this change.

This is the patch being reverted:
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/4686

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I8554c75d7217331c7effd781b5f7f49b781bbebe

docs/design/cpu-specific-build-macros.rst
include/lib/cpus/aarch64/cortex_a77.h
lib/cpus/aarch64/cortex_a77.S
lib/cpus/cpu-ops.mk

index 5f3d69948e0d3ea74261ee83132fb32b6d89a2ff..c0fda78dd7e0ba1e0143724e696ca0d96d9db3e0 100644 (file)
@@ -254,9 +254,6 @@ For Cortex-A77, the following errata build flags are defined :
 -  ``ERRATA_A77_1508412``: This applies errata 1508412 workaround to Cortex-A77
    CPU. This needs to be enabled only for revision <= r1p0 of the CPU.
 
--  ``ERRATA_A77_1800714``: This applies errata 1800714 workaround to Cortex-A77
-   CPU. This needs to be enabled only for revision <= r1p1 of the CPU.
-
 -  ``ERRATA_A77_1925769``: This applies errata 1925769 workaround to Cortex-A77
    CPU. This needs to be enabled only for revision <= r1p1 of the CPU.
 
index ed84c0f4a17112cdfe047d7d871607cbaf24e189..0a42a5d77ea970de74d3fef36d273b8525404998 100644 (file)
@@ -17,7 +17,6 @@
  ******************************************************************************/
 #define CORTEX_A77_CPUECTLR_EL1                                S3_0_C15_C1_4
 #define CORTEX_A77_CPUECTLR_EL1_BIT_8                  (ULL(1) << 8)
-#define CORTEX_A77_CPUECTLR_EL1_BIT_53                 (ULL(1) << 53)
 
 /*******************************************************************************
  * CPU Power Control register specific definitions.
index 04a610e495ed7d9b70757447c1290be27ee00290..e3a6f5fbf893941c5655211f011c053762e35728 100644 (file)
@@ -85,35 +85,6 @@ func check_errata_1508412_0
        b       cpu_rev_var_ls
 endfunc check_errata_1508412_0
 
-       /* --------------------------------------------------
-        * Errata Workaround for Cortex A77 Errata #1800714.
-        * This applies to revision <= r1p1 of Cortex A77.
-        * Inputs:
-        * x0: variant[4:7] and revision[0:3] of current cpu.
-        * Shall clobber: x0-x17
-        * --------------------------------------------------
-        */
-func errata_a77_1800714_wa
-       /* Compare x0 against revision <= r1p1 */
-       mov     x17, x30
-       bl      check_errata_1800714
-       cbz     x0, 1f
-
-       /* Disable allocation of splintered pages in the L2 TLB */
-       mrs     x1, CORTEX_A77_CPUECTLR_EL1
-       orr     x1, x1, CORTEX_A77_CPUECTLR_EL1_BIT_53
-       msr     CORTEX_A77_CPUECTLR_EL1, x1
-       isb
-1:
-       ret     x17
-endfunc errata_a77_1800714_wa
-
-func check_errata_1800714
-       /* Applies to everything <= r1p1 */
-       mov     x1, #0x11
-       b       cpu_rev_var_ls
-endfunc check_errata_1800714
-
        /* --------------------------------------------------
         * Errata Workaround for Cortex A77 Errata #1925769.
         * This applies to revision <= r1p1 of Cortex A77.
@@ -158,11 +129,6 @@ func cortex_a77_reset_func
        bl      errata_a77_1508412_wa
 #endif
 
-#if ERRATA_A77_1800714
-       mov     x0, x18
-       bl      errata_a77_1800714_wa
-#endif
-
 #if ERRATA_A77_1925769
        mov     x0, x18
        bl      errata_a77_1925769_wa
@@ -202,7 +168,6 @@ func cortex_a77_errata_report
         * checking functions of each errata.
         */
        report_errata ERRATA_A77_1508412, cortex_a77, 1508412
-       report_errata ERRATA_A77_1800714, cortex_a77, 1800714
        report_errata ERRATA_A77_1925769, cortex_a77, 1925769
 
        ldp     x8, x30, [sp], #16
index 7575051e5072858c30621aaff153c81624ffd679..4126105aadb8437be84845feb60739bfcf8001c6 100644 (file)
@@ -282,10 +282,6 @@ ERRATA_A76_1868343 ?=0
 # only to revision <= r1p0 of the Cortex A77 cpu.
 ERRATA_A77_1508412     ?=0
 
-# Flag to apply erratum 1800714 workaround during reset. This erratum applies
-# only to revision <= r1p1 of the Cortex A77 cpu.
-ERRATA_A77_1800714     ?=0
-
 # Flag to apply erratum 1925769 workaround during reset. This erratum applies
 # only to revision <= r1p1 of the Cortex A77 cpu.
 ERRATA_A77_1925769     ?=0
@@ -563,10 +559,6 @@ $(eval $(call add_define,ERRATA_A76_1868343))
 $(eval $(call assert_boolean,ERRATA_A77_1508412))
 $(eval $(call add_define,ERRATA_A77_1508412))
 
-# Process ERRATA_A77_1800714 flag
-$(eval $(call assert_boolean,ERRATA_A77_1800714))
-$(eval $(call add_define,ERRATA_A77_1800714))
-
 # Process ERRATA_A77_1925769 flag
 $(eval $(call assert_boolean,ERRATA_A77_1925769))
 $(eval $(call add_define,ERRATA_A77_1925769))