diff options
Diffstat (limited to 'bl31')
-rw-r--r-- | bl31/aarch64/bl31_arch_setup.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bl31/aarch64/bl31_arch_setup.c b/bl31/aarch64/bl31_arch_setup.c index f6fa088..238af7b 100644 --- a/bl31/aarch64/bl31_arch_setup.c +++ b/bl31/aarch64/bl31_arch_setup.c @@ -49,12 +49,19 @@ void bl31_arch_setup(void) write_sctlr(tmp_reg); /* - * Enable HVCs, allow NS to mask CPSR.A, route FIQs to EL3, set the - * next EL to be aarch64 + * Enable HVCs, route FIQs to EL3, set the next EL to be AArch64, route + * external abort and SError interrupts to EL3 */ - tmp_reg = SCR_RES1_BITS | SCR_RW_BIT | SCR_HCE_BIT | SCR_FIQ_BIT; + tmp_reg = SCR_RES1_BITS | SCR_RW_BIT | SCR_HCE_BIT | SCR_EA_BIT | + SCR_FIQ_BIT; write_scr(tmp_reg); + /* + * Enable SError and Debug exceptions + */ + enable_serror(); + enable_debug_exceptions(); + /* Do not trap coprocessor accesses from lower ELs to EL3 */ write_cptr_el3(0); |