diff options
Diffstat (limited to 'bl31/aarch64/runtime_exceptions.S')
-rw-r--r-- | bl31/aarch64/runtime_exceptions.S | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/bl31/aarch64/runtime_exceptions.S b/bl31/aarch64/runtime_exceptions.S index a11cd71f..996dedcb 100644 --- a/bl31/aarch64/runtime_exceptions.S +++ b/bl31/aarch64/runtime_exceptions.S @@ -60,7 +60,7 @@ * ----------------------------------------------------- */ - bl dump_state_and_die + bl report_unhandled_exception .endm @@ -142,7 +142,7 @@ interrupt_exit_\label: * where the interrupt was generated. */ interrupt_error_\label: - bl dump_intr_state_and_die + bl report_unhandled_interrupt .endm @@ -158,7 +158,6 @@ interrupt_error_\label: .endm .section .vectors, "ax"; .align 11 - .align 7 runtime_exceptions: /* ----------------------------------------------------- @@ -170,7 +169,7 @@ sync_exception_sp_el0: * We don't expect any synchronous exceptions from EL3 * ----------------------------------------------------- */ - bl dump_state_and_die + bl report_unhandled_exception check_vector_size sync_exception_sp_el0 .align 7 @@ -180,17 +179,17 @@ sync_exception_sp_el0: * ----------------------------------------------------- */ irq_sp_el0: - bl dump_intr_state_and_die + bl report_unhandled_interrupt check_vector_size irq_sp_el0 .align 7 fiq_sp_el0: - bl dump_intr_state_and_die + bl report_unhandled_interrupt check_vector_size fiq_sp_el0 .align 7 serror_sp_el0: - bl dump_state_and_die + bl report_unhandled_exception check_vector_size serror_sp_el0 /* ----------------------------------------------------- @@ -206,22 +205,22 @@ sync_exception_sp_elx: * There is a high probability that SP_EL3 is corrupted. * ----------------------------------------------------- */ - bl dump_state_and_die + bl report_unhandled_exception check_vector_size sync_exception_sp_elx .align 7 irq_sp_elx: - bl dump_intr_state_and_die + bl report_unhandled_interrupt check_vector_size irq_sp_elx .align 7 fiq_sp_elx: - bl dump_intr_state_and_die + bl report_unhandled_interrupt check_vector_size fiq_sp_elx .align 7 serror_sp_elx: - bl dump_state_and_die + bl report_unhandled_exception check_vector_size serror_sp_elx /* ----------------------------------------------------- @@ -258,7 +257,7 @@ fiq_aarch64: .align 7 serror_aarch64: - bl dump_state_and_die + bl report_unhandled_exception check_vector_size serror_aarch64 /* ----------------------------------------------------- @@ -295,7 +294,7 @@ fiq_aarch32: .align 7 serror_aarch32: - bl dump_state_and_die + bl report_unhandled_exception check_vector_size serror_aarch32 .align 7 @@ -403,7 +402,7 @@ smc_handler64: mrs x17, elr_el3 mrs x18, scr_el3 stp x16, x17, [x6, #CTX_EL3STATE_OFFSET + CTX_SPSR_EL3] - stp x18, xzr, [x6, #CTX_EL3STATE_OFFSET + CTX_SCR_EL3] + str x18, [x6, #CTX_EL3STATE_OFFSET + CTX_SCR_EL3] /* Copy SCR_EL3.NS bit to the flag to indicate caller's security */ bfi x7, x18, #0, #1 @@ -446,7 +445,7 @@ el3_exit: ; .type el3_exit, %function * Restore SPSR_EL3, ELR_EL3 and SCR_EL3 prior to ERET * ----------------------------------------------------- */ - ldp x18, xzr, [sp, #CTX_EL3STATE_OFFSET + CTX_SCR_EL3] + ldr x18, [sp, #CTX_EL3STATE_OFFSET + CTX_SCR_EL3] ldp x16, x17, [sp, #CTX_EL3STATE_OFFSET + CTX_SPSR_EL3] msr scr_el3, x18 msr spsr_el3, x16 @@ -473,7 +472,7 @@ smc_prohibited: rt_svc_fw_critical_error: msr spsel, #1 /* Switch to SP_ELx */ - bl dump_state_and_die + bl report_unhandled_exception /* ----------------------------------------------------- * The following functions are used to saved and restore |