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) 97