mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00

For v8-R64, especially R82, creating code to run BL1 at EL2, using MPU. Signed-off-by: Gary Morrison <gary.morrison@arm.com> Change-Id: I439ac3915b982ad1e61d24365bdd1584b3070425
46 lines
1 KiB
ArmAsm
46 lines
1 KiB
ArmAsm
/*
|
|
* Copyright (c) 2021, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <arch.h>
|
|
#include <asm_macros.S>
|
|
#include <common/debug.h>
|
|
|
|
.globl el2_panic
|
|
|
|
/***********************************************************
|
|
* The common implementation of do_panic for all BL stages
|
|
***********************************************************/
|
|
|
|
.section .rodata.panic_str, "aS"
|
|
panic_msg: .asciz "PANIC at PC : 0x"
|
|
|
|
/*
|
|
* el2_panic will be redefined by the
|
|
* crash reporting mechanism (if enabled)
|
|
*/
|
|
el2_panic:
|
|
mov x6, x30
|
|
bl plat_crash_console_init
|
|
|
|
/* Check if the console is initialized */
|
|
cbz x0, _panic_handler
|
|
|
|
/* The console is initialized */
|
|
adr x4, panic_msg
|
|
bl asm_print_str
|
|
mov x4, x6
|
|
|
|
/* The panic location is lr -4 */
|
|
sub x4, x4, #4
|
|
bl asm_print_hex
|
|
|
|
bl plat_crash_console_flush
|
|
|
|
_panic_handler:
|
|
/* Pass to plat_panic_handler the address from where el2_panic was
|
|
* called, not the address of the call from el2_panic. */
|
|
mov x30, x6
|
|
b plat_panic_handler
|