aboutsummaryrefslogtreecommitdiffstats
path: root/os/rt/ports
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-16 19:33:34 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-16 19:33:34 +0000
commitb1586a7e3afed45889903b1096d8b03412768478 (patch)
tree02b047f178f2c5574ea98fbceb13e8cca4fd47eb /os/rt/ports
parent904ecb82fa145200731ee4f6a244c05da07f7ade (diff)
downloadChibiOS-b1586a7e3afed45889903b1096d8b03412768478.tar.gz
ChibiOS-b1586a7e3afed45889903b1096d8b03412768478.tar.bz2
ChibiOS-b1586a7e3afed45889903b1096d8b03412768478.zip
ARM port done.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7408 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/ports')
-rw-r--r--os/rt/ports/ARM/compilers/GCC/chcoreasm.s10
1 files changed, 5 insertions, 5 deletions
diff --git a/os/rt/ports/ARM/compilers/GCC/chcoreasm.s b/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
index f39b2dfed..9f06ca0b5 100644
--- a/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
+++ b/os/rt/ports/ARM/compilers/GCC/chcoreasm.s
@@ -180,11 +180,7 @@ _irq_ret_arm:
add r1, pc, #1
bx r1
.code 16
- ldr r1, =(_irq_ret_thumb+1) // ISR return point.
- mov lr, r1
- bx r0 // Calling the ISR.
- .balign 4
-_irq_ret_thumb:
+ bl _bxr0 // Calling the ISR.
mov lr, pc
bx lr
.code 32
@@ -237,6 +233,10 @@ _irq_ret_thumb:
ldmfd sp!, {r0-r3, r12, lr}
msr CPSR_c, #MODE_IRQ | I_BIT
subs pc, lr, #4
+#if defined(THUMB_NO_INTERWORKING)
+ .code 16
+_bxr0: bx r0
+#endif
/*
* Threads trampoline code.