MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable modules
[mirror_edk2.git] / ArmPkg / Library / DebugAgentSymbolsBaseLib / AArch64 / DebugAgentException.S
1 #------------------------------------------------------------------------------\r
2 #\r
3 # Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
4 #\r
5 # This program and the accompanying materials\r
6 # are licensed and made available under the terms and conditions of the BSD License\r
7 # which accompanies this distribution.  The full text of the license may be found at\r
8 # http://opensource.org/licenses/bsd-license.php\r
9 #\r
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12 #\r
13 #------------------------------------------------------------------------------\r
14 \r
15 #include <Chipset/AArch64.h>\r
16 \r
17 GCC_ASM_IMPORT(DefaultExceptionHandler)\r
18 \r
19 .text\r
20 VECTOR_BASE(DebugAgentVectorTable)\r
21 \r
22 //\r
23 // Current EL with SP0 : 0x0 - 0x180\r
24 //\r
25 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SP0_SYNC)\r
26 ASM_PFX(SynchronousExceptionSP0):\r
27   b   ASM_PFX(SynchronousExceptionSP0)\r
28 \r
29 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SP0_IRQ)\r
30 ASM_PFX(IrqSP0):\r
31   b   ASM_PFX(IrqSP0)\r
32 \r
33 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SP0_FIQ)\r
34 ASM_PFX(FiqSP0):\r
35   b   ASM_PFX(FiqSP0)\r
36 \r
37 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SP0_SERR)\r
38 ASM_PFX(SErrorSP0):\r
39   b   ASM_PFX(SErrorSP0)\r
40 \r
41 //\r
42 // Current EL with SPx: 0x200 - 0x380\r
43 //\r
44 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SPx_SYNC)\r
45 ASM_PFX(SynchronousExceptionSPx):\r
46   b   ASM_PFX(SynchronousExceptionSPx)\r
47 \r
48 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SPx_IRQ)\r
49 ASM_PFX(IrqSPx):\r
50   b   ASM_PFX(IrqSPx)\r
51 \r
52 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SPx_FIQ)\r
53 ASM_PFX(FiqSPx):\r
54   b   ASM_PFX(FiqSPx)\r
55 \r
56 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_CUR_SPx_SERR)\r
57 ASM_PFX(SErrorSPx):\r
58   b   ASM_PFX(SErrorSPx)\r
59 \r
60 /* Lower EL using AArch64 : 0x400 - 0x580 */\r
61 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A64_SYNC)\r
62 ASM_PFX(SynchronousExceptionA64):\r
63   b   ASM_PFX(SynchronousExceptionA64)\r
64 \r
65 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A64_IRQ)\r
66 ASM_PFX(IrqA64):\r
67   b   ASM_PFX(IrqA64)\r
68 \r
69 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A64_FIQ)\r
70 ASM_PFX(FiqA64):\r
71   b   ASM_PFX(FiqA64)\r
72 \r
73 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A64_SERR)\r
74 ASM_PFX(SErrorA64):\r
75   b   ASM_PFX(SErrorA64)\r
76 \r
77 //\r
78 // Lower EL using AArch32 : 0x600 - 0x780\r
79 //\r
80 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A32_SYNC)\r
81 ASM_PFX(SynchronousExceptionA32):\r
82   b   ASM_PFX(SynchronousExceptionA32)\r
83 \r
84 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A32_IRQ)\r
85 ASM_PFX(IrqA32):\r
86   b   ASM_PFX(IrqA32)\r
87 \r
88 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A32_FIQ)\r
89 ASM_PFX(FiqA32):\r
90   b   ASM_PFX(FiqA32)\r
91 \r
92 VECTOR_ENTRY(DebugAgentVectorTable, ARM_VECTOR_LOW_A32_SERR)\r
93 ASM_PFX(SErrorA32):\r
94   b   ASM_PFX(SErrorA32)\r
95 \r
96 VECTOR_END(DebugAgentVectorTable)\r