|
|
@ -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 |
|
|
|