diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-08-31 18:56:49 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2010-08-31 18:56:49 +0000 |
commit | 58e000a8366bad3848fe20e84b3cee95836861b1 (patch) | |
tree | d51eee9beef5473fc66d3ad8b998b07084d02687 /os/ports/GCC/ARMCMx/chcore_v6m.c | |
parent | a14fa4358d81cff24dbf0dbc37046b8e1629b512 (diff) | |
download | ChibiOS-58e000a8366bad3848fe20e84b3cee95836861b1.tar.gz ChibiOS-58e000a8366bad3848fe20e84b3cee95836861b1.tar.bz2 ChibiOS-58e000a8366bad3848fe20e84b3cee95836861b1.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2153 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports/GCC/ARMCMx/chcore_v6m.c')
-rw-r--r-- | os/ports/GCC/ARMCMx/chcore_v6m.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/os/ports/GCC/ARMCMx/chcore_v6m.c b/os/ports/GCC/ARMCMx/chcore_v6m.c index d331b203d..c8ee32387 100644 --- a/os/ports/GCC/ARMCMx/chcore_v6m.c +++ b/os/ports/GCC/ARMCMx/chcore_v6m.c @@ -71,7 +71,7 @@ void _port_switch_from_irq(void) { "ldr r0, =_port_saved_pc \n\t"
"ldr r0, [r0] \n\t"
"add r0, r0, #1 \n\t"
- "str r0, [sp, #28]");
+ "str r0, [sp, #28]" : : : "memory");
chSchDoRescheduleI();
@@ -85,7 +85,7 @@ void _port_switch_from_irq(void) { "msr APSR, r0 \n\t"
"mov lr, r2 \n\t"
"cpsie i \n\t"
- "pop {r0, r1, r2, r3, pc}");
+ "pop {r0, r1, r2, r3, pc}" : : : "memory");
}
#define PUSH_CONTEXT(sp) { \
@@ -94,7 +94,7 @@ void _port_switch_from_irq(void) { "mov r5, r9 \n\t" \
"mov r6, r10 \n\t" \
"mov r7, r11 \n\t" \
- "push {r4, r5, r6, r7}"); \
+ "push {r4, r5, r6, r7}" : : : "memory"); \
}
#define POP_CONTEXT(sp) { \
@@ -103,7 +103,7 @@ void _port_switch_from_irq(void) { "mov r9, r5 \n\t" \
"mov r10, r6 \n\t" \
"mov r11, r7 \n\t" \
- "pop {r4, r5, r6, r7, pc}" : : "r" (sp)); \
+ "pop {r4, r5, r6, r7, pc}" : : "r" (sp) : "memory"); \
}
/**
|