2 # Copyright (c) 2011-2014, ARM Limited. All rights reserved.
4 # SPDX-License-Identifier: BSD-2-Clause-Patent
8 #include <Chipset/AArch64.h>
9 #include <AsmMacroIoLibV8.h>
15 //============================================================
16 //Default Exception Handlers
17 //============================================================
21 1: mrs x1, elr_el1 /* EL1 Exception Link Register */ ;\
23 2: mrs x1, elr_el2 /* EL2 Exception Link Register */ ;\
24 3: bl ASM_PFX(PeiCommonExceptionEntry) ;
28 // Default Exception handlers: There is no plan to return from any of these exceptions.
29 // No context saving at all.
32 VECTOR_BASE(PeiVectorTable)
34 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SP0_SYNC)
35 _DefaultSyncExceptHandler_t:
36 mov x0, #EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS
39 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SP0_IRQ)
41 mov x0, #EXCEPT_AARCH64_IRQ
44 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SP0_FIQ)
46 mov x0, #EXCEPT_AARCH64_FIQ
49 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SP0_SERR)
51 mov x0, #EXCEPT_AARCH64_SERROR
54 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SPx_SYNC)
55 _DefaultSyncExceptHandler_h:
56 mov x0, #EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS
59 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SPx_IRQ)
61 mov x0, #EXCEPT_AARCH64_IRQ
64 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SPx_FIQ)
66 mov x0, #EXCEPT_AARCH64_FIQ
69 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_CUR_SPx_SERR)
71 mov x0, #EXCEPT_AARCH64_SERROR
74 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A64_SYNC)
75 _DefaultSyncExceptHandler_LowerA64:
76 mov x0, #EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS
79 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A64_IRQ)
81 mov x0, #EXCEPT_AARCH64_IRQ
84 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A64_FIQ)
86 mov x0, #EXCEPT_AARCH64_FIQ
89 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A64_SERR)
90 _DefaultSError_LowerA64:
91 mov x0, #EXCEPT_AARCH64_SERROR
94 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A32_SYNC)
95 _DefaultSyncExceptHandler_LowerA32:
96 mov x0, #EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS
99 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A32_IRQ)
100 _DefaultIrq_LowerA32:
101 mov x0, #EXCEPT_AARCH64_IRQ
104 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A32_FIQ)
105 _DefaultFiq_LowerA32:
106 mov x0, #EXCEPT_AARCH64_FIQ
109 VECTOR_ENTRY(PeiVectorTable, ARM_VECTOR_LOW_A32_SERR)
110 _DefaultSError_LowerA32:
111 mov x0, #EXCEPT_AARCH64_SERROR
114 VECTOR_END(PeiVectorTable)