summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorDouglas Raillard <douglas.raillard@arm.com>2016-10-26 13:15:19 +0100
committerSandrine Bailleux <sandrine.bailleux@arm.com>2016-11-08 15:48:33 +0000
commit97416437fa05c9afb239ac5a7bc8fbe6a29d34a8 (patch)
tree19bf0c64632f2a572e142db1529c854eebb2e502 /framework
parentfe0be028baf46d1aff09c25d6736bc7a478c2851 (diff)
Reformat AArch64 exceptions vector table
Use the vector_base and vector_entry from TF codebase and remove explicit ".align" ASM pseudo op from the table definition (moved inside vector_entry macro). Exception table is now contained in the .vectors section instead of .text section. Change-Id: I0b3c10036af942c3f6e8c3e6ba2f05e5cbe33103 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
Diffstat (limited to 'framework')
-rw-r--r--framework/aarch64/exceptions.S54
1 files changed, 17 insertions, 37 deletions
diff --git a/framework/aarch64/exceptions.S b/framework/aarch64/exceptions.S
index 64cc034..b0926a4 100644
--- a/framework/aarch64/exceptions.S
+++ b/framework/aarch64/exceptions.S
@@ -32,43 +32,34 @@
.globl tftf_vector
- .section .text, "ax"; .align 11
-
-tftf_vector:
-
+vector_base tftf_vector
//-----------------------------------------------------
// Current EL with SP0 : 0x0 - 0x180
//-----------------------------------------------------
- .align 7
-SynchronousExceptionSP0:
+vector_entry SynchronousExceptionSP0
b SynchronousExceptionSP0
check_vector_size SynchronousExceptionSP0
- .align 7
-IrqSP0:
+vector_entry IrqSP0
b IrqSP0
check_vector_size IrqSP0
- .align 7
-FiqSP0:
+vector_entry FiqSP0
b FiqSP0
check_vector_size FiqSP0
- .align 7
-SErrorSP0:
+vector_entry SErrorSP0
b SErrorSP0
check_vector_size SErrorSP0
//-----------------------------------------------------
// Current EL with SPx: 0x200 - 0x380
//-----------------------------------------------------
- .align 7
-SynchronousExceptionSPx:
+vector_entry SynchronousExceptionSPx
b SynchronousExceptionSPx
check_vector_size SynchronousExceptionSPx
- .align 7
-IrqSPx:
+vector_entry IrqSPx
#if IMAGE_TFTF
/*
* TODO: Investigate whether the trusted firmware's code for context
@@ -88,64 +79,53 @@ IrqSPx:
#endif /* IMAGE_TFTF */
check_vector_size IrqSPx
- .align 7
-FiqSPx:
+vector_entry FiqSPx
b FiqSPx
check_vector_size FiqSPx
- .align 7
-SErrorSPx:
+vector_entry SErrorSPx
b SErrorSPx
check_vector_size SErrorSPx
//-----------------------------------------------------
// Lower EL using AArch64 : 0x400 - 0x580
//-----------------------------------------------------
- .align 7
-SynchronousExceptionA64:
+vector_entry SynchronousExceptionA64
b SynchronousExceptionA64
check_vector_size SynchronousExceptionA64
- .align 7
-IrqA64:
+vector_entry IrqA64
b IrqA64
check_vector_size IrqA64
- .align 7
-FiqA64:
+vector_entry FiqA64
b FiqA64
check_vector_size FiqA64
- .align 7
-SErrorA64:
+vector_entry SErrorA64
b SErrorA64
check_vector_size SErrorA64
//-----------------------------------------------------
// Lower EL using AArch32 : 0x0 - 0x180
//-----------------------------------------------------
- .align 7
-SynchronousExceptionA32:
+vector_entry SynchronousExceptionA32
b SynchronousExceptionA32
check_vector_size SynchronousExceptionA32
- .align 7
-IrqA32:
+vector_entry IrqA32
b IrqA32
check_vector_size IrqA32
- .align 7
-FiqA32:
+vector_entry FiqA32
b FiqA32
check_vector_size FiqA32
- .align 7
-SErrorA32:
+vector_entry SErrorA32
b SErrorA32
check_vector_size SErrorA32
- .align 7
// Note: Exceptions will always be from the same EL, so no need to save spsr
func save_regs
sub sp, sp, #0x100