.section .vectors,"ax";.align 11.align 7
runtime_exceptions:/* -----------------------------------------------------* Current EL with _sp_el0 : 0x0 - 0x200* -----------------------------------------------------*/
sync_exception_sp_el0:/* -----------------------------------------------------* We don't expect any synchronous exceptions from EL3* -----------------------------------------------------*/bl report_unhandled_exceptioncheck_vector_size sync_exception_sp_el0.align 7/* -----------------------------------------------------* EL3 code is non-reentrant. Any asynchronous exception* is a serious error. Loop infinitely.* -----------------------------------------------------*/
irq_sp_el0:bl report_unhandled_interruptcheck_vector_size irq_sp_el0.align 7
fiq_sp_el0:bl report_unhandled_interruptcheck_vector_size fiq_sp_el0.align 7
serror_sp_el0:bl report_unhandled_exceptioncheck_vector_size serror_sp_el0/* -----------------------------------------------------* Current EL with SPx: 0x200 - 0x400* -----------------------------------------------------*/.align 7
sync_exception_sp_elx:/* -----------------------------------------------------* This exception will trigger if anything went wrong* during a previous exception entry or exit or while* handling an earlier unexpected synchronous exception.* There is a high probability that SP_EL3 is corrupted.* -----------------------------------------------------*/bl report_unhandled_exceptioncheck_vector_size sync_exception_sp_elx.align 7
irq_sp_elx:bl report_unhandled_interruptcheck_vector_size irq_sp_elx.align 7
fiq_sp_elx:bl report_unhandled_interruptcheck_vector_size fiq_sp_elx.align 7
serror_sp_elx:bl report_unhandled_exceptioncheck_vector_size serror_sp_elx/* -----------------------------------------------------* Lower EL using AArch64 : 0x400 - 0x600* -----------------------------------------------------*/.align 7
sync_exception_aarch64:/* -----------------------------------------------------* This exception vector will be the entry point for* SMCs and traps that are unhandled at lower ELs most* commonly. SP_EL3 should point to a valid cpu context* where the general purpose and system register state* can be saved.* -----------------------------------------------------*/handle_sync_exceptioncheck_vector_size sync_exception_aarch64.align 7/* -----------------------------------------------------* Asynchronous exceptions from lower ELs are not* currently supported. Report their occurrence.* -----------------------------------------------------*/
irq_aarch64:handle_interrupt_exception irq_aarch64check_vector_size irq_aarch64.align 7
fiq_aarch64:handle_interrupt_exception fiq_aarch64check_vector_size fiq_aarch64.align 7
serror_aarch64:bl report_unhandled_exceptioncheck_vector_size serror_aarch64/* -----------------------------------------------------* Lower EL using AArch32 : 0x600 - 0x800* -----------------------------------------------------*/.align 7
sync_exception_aarch32:/* -----------------------------------------------------* This exception vector will be the entry point for* SMCs and traps that are unhandled at lower ELs most* commonly. SP_EL3 should point to a valid cpu context* where the general purpose and system register state* can be saved.* -----------------------------------------------------*/handle_sync_exceptioncheck_vector_size sync_exception_aarch32.align 7/* -----------------------------------------------------* Asynchronous exceptions from lower ELs are not* currently supported. Report their occurrence.* -----------------------------------------------------*/
irq_aarch32:handle_interrupt_exception irq_aarch32check_vector_size irq_aarch32.align 7
fiq_aarch32:handle_interrupt_exception fiq_aarch32check_vector_size fiq_aarch32.align 7
serror_aarch32:bl report_unhandled_exceptioncheck_vector_size serror_aarch32