mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 18:44:22 +00:00
Make errata reporting mandatory for CPU files
Previously the errata reporting was optional for CPU operation files and this was achieved by making use of weak reference to resolve to 0 if the symbol is not defined. This is error prone when adding new CPU operation files and weak references are problematic when fixing up dynamic relocations. Hence this patch removes the weak reference and makes it mandatory for the CPU operation files to define the errata reporting function. Change-Id: I8af192e19b85b7cd8c7579e52f8f05a4294e5396 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
This commit is contained in:
parent
f1722b693d
commit
12af5ed4fb
11 changed files with 86 additions and 4 deletions
|
@ -161,10 +161,9 @@
|
|||
.endif
|
||||
|
||||
/*
|
||||
* Weakly-bound, optional errata status printing function for CPUs of
|
||||
* Mandatory errata status printing function for CPUs of
|
||||
* this class.
|
||||
*/
|
||||
.weak \_name\()_errata_report
|
||||
.word \_name\()_errata_report
|
||||
|
||||
#ifdef IMAGE_BL32
|
||||
|
|
|
@ -183,10 +183,9 @@
|
|||
.endif
|
||||
|
||||
/*
|
||||
* Weakly-bound, optional errata status printing function for CPUs of
|
||||
* Mandatory errata status printing function for CPUs of
|
||||
* this class.
|
||||
*/
|
||||
.weak \_name\()_errata_report
|
||||
.quad \_name\()_errata_report
|
||||
|
||||
#ifdef IMAGE_BL31
|
||||
|
|
|
@ -40,6 +40,15 @@ func aem_generic_cluster_pwr_dwn
|
|||
b dcsw_op_all
|
||||
endfunc aem_generic_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for AEM. Must follow AAPCS.
|
||||
*/
|
||||
func aem_generic_errata_report
|
||||
bx lr
|
||||
endfunc aem_generic_errata_report
|
||||
#endif
|
||||
|
||||
/* cpu_ops for Base AEM FVP */
|
||||
declare_cpu_ops aem_generic, BASE_AEM_MIDR, CPU_NO_RESET_FUNC, \
|
||||
aem_generic_core_pwr_dwn, \
|
||||
|
|
|
@ -69,6 +69,15 @@ func cortex_a12_cluster_pwr_dwn
|
|||
b cortex_a12_disable_smp
|
||||
endfunc cortex_a12_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex-A12. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_a12_errata_report
|
||||
bx lr
|
||||
endfunc cortex_a12_errata_report
|
||||
#endif
|
||||
|
||||
declare_cpu_ops cortex_a12, CORTEX_A12_MIDR, \
|
||||
cortex_a12_reset_func, \
|
||||
cortex_a12_core_pwr_dwn, \
|
||||
|
|
|
@ -117,6 +117,15 @@ func cortex_a32_cluster_pwr_dwn
|
|||
b cortex_a32_disable_smp
|
||||
endfunc cortex_a32_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex-A32. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_a32_errata_report
|
||||
bx lr
|
||||
endfunc cortex_a32_errata_report
|
||||
#endif
|
||||
|
||||
declare_cpu_ops cortex_a32, CORTEX_A32_MIDR, \
|
||||
cortex_a32_reset_func, \
|
||||
cortex_a32_core_pwr_dwn, \
|
||||
|
|
|
@ -69,6 +69,15 @@ func cortex_a5_cluster_pwr_dwn
|
|||
b cortex_a5_disable_smp
|
||||
endfunc cortex_a5_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex-A5. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_a5_errata_report
|
||||
bx lr
|
||||
endfunc cortex_a5_errata_report
|
||||
#endif
|
||||
|
||||
declare_cpu_ops cortex_a5, CORTEX_A5_MIDR, \
|
||||
cortex_a5_reset_func, \
|
||||
cortex_a5_core_pwr_dwn, \
|
||||
|
|
|
@ -69,6 +69,15 @@ func cortex_a7_cluster_pwr_dwn
|
|||
b cortex_a7_disable_smp
|
||||
endfunc cortex_a7_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex-A7. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_a7_errata_report
|
||||
bx lr
|
||||
endfunc cortex_a7_errata_report
|
||||
#endif
|
||||
|
||||
declare_cpu_ops cortex_a7, CORTEX_A7_MIDR, \
|
||||
cortex_a7_reset_func, \
|
||||
cortex_a7_core_pwr_dwn, \
|
||||
|
|
|
@ -46,6 +46,15 @@ func aem_generic_cluster_pwr_dwn
|
|||
b dcsw_op_all
|
||||
endfunc aem_generic_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for AEM. Must follow AAPCS.
|
||||
*/
|
||||
func aem_generic_errata_report
|
||||
ret
|
||||
endfunc aem_generic_errata_report
|
||||
#endif
|
||||
|
||||
/* ---------------------------------------------
|
||||
* This function provides cpu specific
|
||||
* register information for crash reporting.
|
||||
|
|
|
@ -114,6 +114,16 @@ func cortex_a35_cluster_pwr_dwn
|
|||
b cortex_a35_disable_smp
|
||||
endfunc cortex_a35_cluster_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex A35. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_a35_errata_report
|
||||
ret
|
||||
endfunc cortex_a35_errata_report
|
||||
#endif
|
||||
|
||||
|
||||
/* ---------------------------------------------
|
||||
* This function provides cortex_a35 specific
|
||||
* register information for crash reporting.
|
||||
|
|
|
@ -27,6 +27,16 @@ func cortex_deimos_core_pwr_dwn
|
|||
ret
|
||||
endfunc cortex_deimos_core_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex Deimos. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_deimos_errata_report
|
||||
ret
|
||||
endfunc cortex_deimos_errata_report
|
||||
#endif
|
||||
|
||||
|
||||
/* ---------------------------------------------
|
||||
* This function provides Cortex-Deimos specific
|
||||
* register information for crash reporting.
|
||||
|
|
|
@ -19,6 +19,16 @@ func cortex_helios_cpu_pwr_dwn
|
|||
ret
|
||||
endfunc cortex_helios_cpu_pwr_dwn
|
||||
|
||||
#if REPORT_ERRATA
|
||||
/*
|
||||
* Errata printing function for Cortex Helios. Must follow AAPCS.
|
||||
*/
|
||||
func cortex_helios_errata_report
|
||||
ret
|
||||
endfunc cortex_helios_errata_report
|
||||
#endif
|
||||
|
||||
|
||||
.section .rodata.cortex_helios_regs, "aS"
|
||||
cortex_helios_regs: /* The ascii list of register names to be reported */
|
||||
.asciz "cpuectlr_el1", ""
|
||||
|
|
Loading…
Add table
Reference in a new issue