aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports/GCC/ARMCM3
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-08-28 14:53:54 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-08-28 14:53:54 +0000
commit1ce340b59e0b68f7bf868914af3701b408bd1820 (patch)
tree3035d940c9342f5637d59c9e90969a8a029de7b3 /os/ports/GCC/ARMCM3
parent518fc970306cf40da2a8f897a0b2c5abc4b134f8 (diff)
downloadChibiOS-1ce340b59e0b68f7bf868914af3701b408bd1820.tar.gz
ChibiOS-1ce340b59e0b68f7bf868914af3701b408bd1820.tar.bz2
ChibiOS-1ce340b59e0b68f7bf868914af3701b408bd1820.zip
Better fix for bug 2846162.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1112 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports/GCC/ARMCM3')
-rw-r--r--os/ports/GCC/ARMCM3/chcore.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/os/ports/GCC/ARMCM3/chcore.h b/os/ports/GCC/ARMCM3/chcore.h
index 7d33251ad..7e68d1aae 100644
--- a/os/ports/GCC/ARMCM3/chcore.h
+++ b/os/ports/GCC/ARMCM3/chcore.h
@@ -306,13 +306,13 @@ struct context {
if (sp - sizeof(struct intctx) - sizeof(Thread) < (char *)_otp) \
asm volatile ("movs r0, #0 \n\t" \
"b chDbgPanic"); \
- asm volatile ("svc #0" : : "r" (_otp), "r" (_ntp)); \
+ asm volatile ("svc #0" : : "r" (_otp), "r" (_ntp) : "memory"); \
}
#else /* !CH_DBG_ENABLE_STACK_CHECK */
#define port_switch(otp, ntp) { \
register Thread *_otp asm ("r0") = (otp); \
register Thread *_ntp asm ("r1") = (ntp); \
- asm volatile ("svc #0" : : "r" (_otp), "r" (_ntp)); \
+ asm volatile ("svc #0" : : "r" (_otp), "r" (_ntp) : "memory"); \
}
#endif /* !CH_DBG_ENABLE_STACK_CHECK */