mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 21:44:15 +00:00
refactor(cpus): add Cortex-A53 errata framework information
Change-Id: I3518847728fa17baa423cfef66694895a39ee888 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
This commit is contained in:
parent
445f7b5191
commit
97b12ae7ce
1 changed files with 15 additions and 26 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved.
|
* Copyright (c) 2017-2023, Arm Limited and Contributors. All rights reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-3-Clause
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
*/
|
*/
|
||||||
|
@ -44,6 +44,8 @@ func check_errata_819472
|
||||||
bx lr
|
bx lr
|
||||||
endfunc check_errata_819472
|
endfunc check_errata_819472
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(819472), ERRATA_A53_819472
|
||||||
|
|
||||||
/* ---------------------------------------------------
|
/* ---------------------------------------------------
|
||||||
* Errata Workaround for Cortex A53 Errata #824069.
|
* Errata Workaround for Cortex A53 Errata #824069.
|
||||||
* This applies only to revision <= r0p2 of Cortex A53.
|
* This applies only to revision <= r0p2 of Cortex A53.
|
||||||
|
@ -59,6 +61,8 @@ func check_errata_824069
|
||||||
bx lr
|
bx lr
|
||||||
endfunc check_errata_824069
|
endfunc check_errata_824069
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(824069), ERRATA_A53_824069
|
||||||
|
|
||||||
/* --------------------------------------------------
|
/* --------------------------------------------------
|
||||||
* Errata Workaround for Cortex A53 Errata #826319.
|
* Errata Workaround for Cortex A53 Errata #826319.
|
||||||
* This applies only to revision <= r0p2 of Cortex A53.
|
* This applies only to revision <= r0p2 of Cortex A53.
|
||||||
|
@ -89,6 +93,8 @@ func check_errata_826319
|
||||||
b cpu_rev_var_ls
|
b cpu_rev_var_ls
|
||||||
endfunc check_errata_826319
|
endfunc check_errata_826319
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(826319), ERRATA_A53_826319
|
||||||
|
|
||||||
/* ---------------------------------------------------
|
/* ---------------------------------------------------
|
||||||
* Errata Workaround for Cortex A53 Errata #827319.
|
* Errata Workaround for Cortex A53 Errata #827319.
|
||||||
* This applies only to revision <= r0p2 of Cortex A53.
|
* This applies only to revision <= r0p2 of Cortex A53.
|
||||||
|
@ -104,6 +110,8 @@ func check_errata_827319
|
||||||
bx lr
|
bx lr
|
||||||
endfunc check_errata_827319
|
endfunc check_errata_827319
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(827319), ERRATA_A53_827319
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------
|
/* ---------------------------------------------------------------------
|
||||||
* Disable the cache non-temporal hint.
|
* Disable the cache non-temporal hint.
|
||||||
*
|
*
|
||||||
|
@ -142,6 +150,9 @@ func check_errata_disable_non_temporal_hint
|
||||||
b cpu_rev_var_ls
|
b cpu_rev_var_ls
|
||||||
endfunc check_errata_disable_non_temporal_hint
|
endfunc check_errata_disable_non_temporal_hint
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(836870), ERRATA_A53_836870 | A53_DISABLE_NON_TEMPORAL_HINT, \
|
||||||
|
disable_non_temporal_hint
|
||||||
|
|
||||||
/* --------------------------------------------------
|
/* --------------------------------------------------
|
||||||
* Errata Workaround for Cortex A53 Errata #855873.
|
* Errata Workaround for Cortex A53 Errata #855873.
|
||||||
*
|
*
|
||||||
|
@ -176,6 +187,8 @@ func check_errata_855873
|
||||||
b cpu_rev_var_hs
|
b cpu_rev_var_hs
|
||||||
endfunc check_errata_855873
|
endfunc check_errata_855873
|
||||||
|
|
||||||
|
add_erratum_entry cortex_a53, ERRATUM(855873), ERRATA_A53_855873
|
||||||
|
|
||||||
/* -------------------------------------------------
|
/* -------------------------------------------------
|
||||||
* The CPU Ops reset function for Cortex-A53.
|
* The CPU Ops reset function for Cortex-A53.
|
||||||
* Shall clobber: r0-r6
|
* Shall clobber: r0-r6
|
||||||
|
@ -284,31 +297,7 @@ func cortex_a53_cluster_pwr_dwn
|
||||||
b cortex_a53_disable_smp
|
b cortex_a53_disable_smp
|
||||||
endfunc cortex_a53_cluster_pwr_dwn
|
endfunc cortex_a53_cluster_pwr_dwn
|
||||||
|
|
||||||
#if REPORT_ERRATA
|
errata_report_shim cortex_a53
|
||||||
/*
|
|
||||||
* Errata printing function for Cortex A53. Must follow AAPCS.
|
|
||||||
*/
|
|
||||||
func cortex_a53_errata_report
|
|
||||||
push {r12, lr}
|
|
||||||
|
|
||||||
bl cpu_get_rev_var
|
|
||||||
mov r4, r0
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Report all errata. The revision-variant information is passed to
|
|
||||||
* checking functions of each errata.
|
|
||||||
*/
|
|
||||||
report_errata ERRATA_A53_819472, cortex_a53, 819472
|
|
||||||
report_errata ERRATA_A53_824069, cortex_a53, 824069
|
|
||||||
report_errata ERRATA_A53_826319, cortex_a53, 826319
|
|
||||||
report_errata ERRATA_A53_827319, cortex_a53, 827319
|
|
||||||
report_errata ERRATA_A53_836870, cortex_a53, disable_non_temporal_hint
|
|
||||||
report_errata ERRATA_A53_855873, cortex_a53, 855873
|
|
||||||
|
|
||||||
pop {r12, lr}
|
|
||||||
bx lr
|
|
||||||
endfunc cortex_a53_errata_report
|
|
||||||
#endif
|
|
||||||
|
|
||||||
declare_cpu_ops cortex_a53, CORTEX_A53_MIDR, \
|
declare_cpu_ops cortex_a53, CORTEX_A53_MIDR, \
|
||||||
cortex_a53_reset_func, \
|
cortex_a53_reset_func, \
|
||||||
|
|
Loading…
Add table
Reference in a new issue