mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-05 22:31:36 +00:00
ARMv8: SError exception handling in PSCI exception vectors
Allow platform vendors to handle SError interrupt exceptions from ARMv8 PSCI exception vectors by overriding this weak function 'plat_error_handler'. Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
This commit is contained in:
parent
c0f3296f83
commit
eb13dddd2c
1 changed files with 26 additions and 0 deletions
|
@ -236,6 +236,28 @@ handle_sync:
|
||||||
|
|
||||||
b unhandled_exception
|
b unhandled_exception
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARMV8_EA_EL3_FIRST
|
||||||
|
/*
|
||||||
|
* Override this function if custom error handling is
|
||||||
|
* needed for asynchronous aborts
|
||||||
|
*/
|
||||||
|
ENTRY(plat_error_handler)
|
||||||
|
ret
|
||||||
|
ENDPROC(plat_error_handler)
|
||||||
|
.weak plat_error_handler
|
||||||
|
|
||||||
|
handle_error:
|
||||||
|
bl psci_get_cpu_id
|
||||||
|
bl psci_get_cpu_stack_top
|
||||||
|
mov x9, #1
|
||||||
|
msr spsel, x9
|
||||||
|
mov sp, x0
|
||||||
|
|
||||||
|
bl plat_error_handler /* Platform specific error handling */
|
||||||
|
deadloop:
|
||||||
|
b deadloop /* Never return */
|
||||||
|
#endif
|
||||||
|
|
||||||
.align 11
|
.align 11
|
||||||
.globl el3_exception_vectors
|
.globl el3_exception_vectors
|
||||||
el3_exception_vectors:
|
el3_exception_vectors:
|
||||||
|
@ -261,7 +283,11 @@ el3_exception_vectors:
|
||||||
.align 7
|
.align 7
|
||||||
b unhandled_exception /* FIQ, Lower EL using AArch64 */
|
b unhandled_exception /* FIQ, Lower EL using AArch64 */
|
||||||
.align 7
|
.align 7
|
||||||
|
#ifdef CONFIG_ARMV8_EA_EL3_FIRST
|
||||||
|
b handle_error /* SError, Lower EL using AArch64 */
|
||||||
|
#else
|
||||||
b unhandled_exception /* SError, Lower EL using AArch64 */
|
b unhandled_exception /* SError, Lower EL using AArch64 */
|
||||||
|
#endif
|
||||||
.align 7
|
.align 7
|
||||||
b unhandled_exception /* Sync, Lower EL using AArch32 */
|
b unhandled_exception /* Sync, Lower EL using AArch32 */
|
||||||
.align 7
|
.align 7
|
||||||
|
|
Loading…
Add table
Reference in a new issue