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