diff --git a/bl31/aarch64/ea_delegate.S b/bl31/aarch64/ea_delegate.S index dbb32344d..0661583ca 100644 --- a/bl31/aarch64/ea_delegate.S +++ b/bl31/aarch64/ea_delegate.S @@ -201,7 +201,7 @@ func delegate_async_ea */ ubfx x2, x1, #ESR_EC_SHIFT, #ESR_EC_LENGTH cmp x2, EC_SERROR - b.ne do_panic + b.ne el3_panic /* * Check for Implementation Defined Syndrome. If so, skip checking * Uncontainable error type from the syndrome as the format is unknown. diff --git a/bl31/aarch64/runtime_exceptions.S b/bl31/aarch64/runtime_exceptions.S index 0c608597c..cf79361c2 100644 --- a/bl31/aarch64/runtime_exceptions.S +++ b/bl31/aarch64/runtime_exceptions.S @@ -563,7 +563,7 @@ sysreg_handler64: */ tst w0, w0 - b.mi do_panic /* negative return value: panic */ + b.mi el3_panic /* negative return value: panic */ b.eq 1f /* zero: do not change ELR_EL3 */ /* advance the PC to continue after the instruction */ diff --git a/common/aarch32/debug.S b/common/aarch32/debug.S index ae0bb7ac7..2937f56fd 100644 --- a/common/aarch32/debug.S +++ b/common/aarch32/debug.S @@ -12,7 +12,7 @@ .globl asm_print_hex .globl asm_print_hex_bits .globl asm_assert - .globl do_panic + .globl el3_panic .globl report_exception .globl report_prefetch_abort .globl report_data_abort @@ -159,14 +159,14 @@ asm_print_hex_bits: endfunc asm_print_hex /*********************************************************** - * The common implementation of do_panic for all BL stages + * The common implementation of el3_panic for all BL stages ***********************************************************/ .section .rodata.panic_str, "aS" panic_msg: .asciz "PANIC at PC : 0x" panic_end: .asciz "\r\n" -func do_panic +func el3_panic /* Have LR copy point to PC at the time of panic */ sub r6, lr, #4 @@ -194,7 +194,7 @@ func do_panic _panic_handler: mov lr, r6 b plat_panic_handler -endfunc do_panic +endfunc el3_panic /*********************************************************** * This function is called from the vector table for diff --git a/common/aarch64/debug.S b/common/aarch64/debug.S index 6b92294c0..82d57d7ab 100644 --- a/common/aarch64/debug.S +++ b/common/aarch64/debug.S @@ -13,7 +13,6 @@ .globl asm_print_hex_bits .globl asm_print_newline .globl asm_assert - .globl do_panic .globl el3_panic /* Since the max decimal input number is 65536 */ @@ -146,30 +145,24 @@ func asm_print_newline endfunc asm_print_newline /*********************************************************** - * The common implementation of do_panic for all BL stages + * The common implementation of el3_panic for all BL stages ***********************************************************/ .section .rodata.panic_str, "aS" panic_msg: .asciz "PANIC at PC : 0x" /* --------------------------------------------------------------------------- - * do_panic assumes that it is invoked from a C Runtime Environment ie a + * el3_panic assumes that it is invoked from a C Runtime Environment ie a * valid stack exists. This call will not return. * Clobber list : if CRASH_REPORTING is not enabled then x30, x0 - x6 * --------------------------------------------------------------------------- */ -func do_panic +func el3_panic #if CRASH_REPORTING && defined(IMAGE_BL31) b report_el3_panic #endif /* CRASH_REPORTING && IMAGE_BL31 */ -panic_common: -/* - * el3_panic will be redefined by the BL31 - * crash reporting mechanism (if enabled) - */ -el3_panic: mov x6, x30 bl plat_crash_console_init @@ -196,4 +189,4 @@ _panic_handler: mov x30, x6 b plat_panic_handler -endfunc do_panic \ No newline at end of file +endfunc el3_panic \ No newline at end of file diff --git a/docs/getting_started/porting-guide.rst b/docs/getting_started/porting-guide.rst index 80b72e52e..98568cd7a 100644 --- a/docs/getting_started/porting-guide.rst +++ b/docs/getting_started/porting-guide.rst @@ -3205,8 +3205,8 @@ as Group 0 secure interrupt, Group 1 secure interrupt or Group 1 NS interrupt. Common helper functions ----------------------- -Function : do_panic() -~~~~~~~~~~~~~~~~~~~~~ +Function : el3_panic() +~~~~~~~~~~~~~~~~~~~~~~ :: @@ -3214,9 +3214,8 @@ Function : do_panic() Return : void This API is called from assembly files when encountering a critical failure that -cannot be recovered from. It also invokes elx_panic() which allows to report a -crash from lower exception level. This function assumes that it is invoked from -a C runtime environment i.e. valid stack exists. This call **must not** return. +cannot be recovered from. This function assumes that it is invoked from a C +runtime environment i.e. valid stack exists. This call **must not** return. Function : panic() ~~~~~~~~~~~~~~~~~~ @@ -3228,7 +3227,7 @@ Function : panic() This API called from C files when encountering a critical failure that cannot be recovered from. This function in turn prints backtrace (if enabled) and calls -do_panic(). This call **must not** return. +el3_panic(). This call **must not** return. Crash Reporting mechanism (in BL31) ----------------------------------- diff --git a/include/arch/aarch64/el3_common_macros.S b/include/arch/aarch64/el3_common_macros.S index de2b931af..cce2b9f8c 100644 --- a/include/arch/aarch64/el3_common_macros.S +++ b/include/arch/aarch64/el3_common_macros.S @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2022, Arm Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2023 Arm Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/include/common/debug.h b/include/common/debug.h index 9f5f7c371..e0b3a1c67 100644 --- a/include/common/debug.h +++ b/include/common/debug.h @@ -99,14 +99,14 @@ void backtrace(const char *cookie); #define backtrace(x) #endif -void __dead2 do_panic(void); +void __dead2 el3_panic(void); void __dead2 report_elx_panic(void); #define panic() \ do { \ backtrace(__func__); \ console_flush(); \ - do_panic(); \ + el3_panic(); \ } while (false) #if CRASH_REPORTING diff --git a/plat/arm/board/fvp_r/fvp_r_debug.S b/plat/arm/board/fvp_r/fvp_r_debug.S index 88f0a29a0..cc5ffc074 100644 --- a/plat/arm/board/fvp_r/fvp_r_debug.S +++ b/plat/arm/board/fvp_r/fvp_r_debug.S @@ -11,7 +11,7 @@ .globl el2_panic /*********************************************************** - * The common implementation of do_panic for all BL stages + * The common implementation of el3_panic for all BL stages ***********************************************************/ .section .rodata.panic_str, "aS" diff --git a/plat/renesas/common/aarch64/plat_helpers.S b/plat/renesas/common/aarch64/plat_helpers.S index 21c3bedaf..a7fdfa071 100644 --- a/plat/renesas/common/aarch64/plat_helpers.S +++ b/plat/renesas/common/aarch64/plat_helpers.S @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2013-2023, Arm Limited and Contributors. All rights reserved. * Copyright (c) 2015-2021, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause @@ -126,7 +126,7 @@ warm_reset: exit: ret x9 _panic: - b do_panic + b el3_panic #endif endfunc plat_get_my_entrypoint