aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports/GCC/ARMCM3
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-10-17 11:07:15 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-10-17 11:07:15 +0000
commite9d7b9de5705a3b5c0b822077fbd165c86087481 (patch)
treefc6a51fec7f88d34acfeb79df63cc8a4d9a10f54 /os/ports/GCC/ARMCM3
parent26ed3732876a649fb02a83e768e4392034d65653 (diff)
downloadChibiOS-e9d7b9de5705a3b5c0b822077fbd165c86087481.tar.gz
ChibiOS-e9d7b9de5705a3b5c0b822077fbd165c86087481.tar.bz2
ChibiOS-e9d7b9de5705a3b5c0b822077fbd165c86087481.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1230 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports/GCC/ARMCM3')
-rw-r--r--os/ports/GCC/ARMCM3/chcore.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/os/ports/GCC/ARMCM3/chcore.c b/os/ports/GCC/ARMCM3/chcore.c
index fbf201a56..8f99d3dec 100644
--- a/os/ports/GCC/ARMCM3/chcore.c
+++ b/os/ports/GCC/ARMCM3/chcore.c
@@ -92,22 +92,22 @@ void SVCallVector(Thread *otp, Thread *ntp) {
asm volatile ("mrs r3, BASEPRI \n\t" \
"mrs r12, PSP \n\t" \
"stmdb r12!, {r3-r6,r8-r11, lr} \n\t" \
- "str r12, [r0, #16] \n\t" \
- "ldr r12, [r1, #16] \n\t" \
+ "str r12, [%0, #16] \n\t" \
+ "ldr r12, [%1, #16] \n\t" \
"ldmia r12!, {r3-r6,r8-r11, lr} \n\t" \
"msr PSP, r12 \n\t" \
"msr BASEPRI, r3 \n\t" \
- "bx lr ");
+ "bx lr" : : "r" (otp), "r" (ntp));
#else
asm volatile ("mrs r3, BASEPRI \n\t" \
"mrs r12, PSP \n\t" \
"stmdb r12!, {r3-r11, lr} \n\t" \
- "str r12, [r0, #16] \n\t" \
- "ldr r12, [r1, #16] \n\t" \
+ "str r12, [%0, #16] \n\t" \
+ "ldr r12, [%1, #16] \n\t" \
"ldmia r12!, {r3-r11, lr} \n\t" \
"msr PSP, r12 \n\t" \
"msr BASEPRI, r3 \n\t" \
- "bx lr ");
+ "bx lr" : : "r" (otp), "r" (ntp));
#endif
}