summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/arm/arm_exc_handler_low.S
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-09-18 08:07:23 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-09-18 08:07:23 +0000
commit5e61c80327325e9086b56235a46452d79968c58c (patch)
tree0b002d565eced9e2b905cb0af897111c0cbc18b4 /cpukit/score/cpu/arm/arm_exc_handler_low.S
parentRemoved symbols and renamed sections. (diff)
downloadrtems-5e61c80327325e9086b56235a46452d79968c58c.tar.bz2
* rtems/score/cpu.h: Fix for inline asm in _CPU_Fatal_halt().
* rtems/asm.h: Added macro to define ARM functions. * cpu_asm.S, arm_exc_handler_low.S: Use macro from above.
Diffstat (limited to 'cpukit/score/cpu/arm/arm_exc_handler_low.S')
-rw-r--r--cpukit/score/cpu/arm/arm_exc_handler_low.S24
1 files changed, 3 insertions, 21 deletions
diff --git a/cpukit/score/cpu/arm/arm_exc_handler_low.S b/cpukit/score/cpu/arm/arm_exc_handler_low.S
index b333ef5d6a..26b75cb435 100644
--- a/cpukit/score/cpu/arm/arm_exc_handler_low.S
+++ b/cpukit/score/cpu/arm/arm_exc_handler_low.S
@@ -27,28 +27,10 @@
#include <rtems/asm.h>
#include <rtems/score/cpu_asm.h>
-/*
- * function declaration macro (start body in ARM mode)
- */
-#ifdef __thumb__
- #define FUNC_START_ARM(_name_) \
- .code 16 ;\
- .thumb_func ;\
- .globl _name_ ;\
-_name_: ;\
- bx pc ;\
- .code 32 ;\
-_name_ ## _ARM:
-#else
- #define FUNC_START_ARM(_name_) \
- .globl _name_; \
-_name_:
-#endif
-
.text
/* FIXME: _Exception_Handler_Undef_Swi is untested */
-FUNC_START_ARM(_Exception_Handler_Undef_Swi)
+DEFINE_FUNCTION_ARM(_Exception_Handler_Undef_Swi)
/* FIXME: This should use load and store multiple instructions */
sub r13,r13,#SIZE_REGS
str r4, [r13, #REG_R4]
@@ -84,7 +66,7 @@ _go_back_1:
movs pc,r14 /* return */
/* FIXME: _Exception_Handler_Abort is untested */
-FUNC_START_ARM(_Exception_Handler_Abort)
+DEFINE_FUNCTION_ARM(_Exception_Handler_Abort)
/* FIXME: This should use load and store multiple instructions */
sub r13,r13,#SIZE_REGS
str r4, [r13, #REG_R4]
@@ -127,7 +109,7 @@ _go_back_2:
#define ABORT_REGS_OFFS 32-REG_R4
#define ABORT_SIZE_REGS SIZE_REGS+ABORT_REGS_OFFS
-FUNC_START_ARM(_exc_data_abort)
+DEFINE_FUNCTION_ARM(_exc_data_abort)
sub sp, sp, #ABORT_SIZE_REGS /* reserve register frame */
stmia sp, {r0-r11}
add sp, sp, #ABORT_REGS_OFFS /* the Context_Control structure starts by CPSR, R4, ... */