aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-08-31 17:12:49 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-08-31 17:12:49 +0000
commit70cea8391ce7648154d40d13a81d97322e3ed79a (patch)
treeb15495b40d3e404bd898dbaeb616e4949d81fe8c /os
parentfca064585609ff193562302176bff4187336bb05 (diff)
downloadChibiOS-70cea8391ce7648154d40d13a81d97322e3ed79a.tar.gz
ChibiOS-70cea8391ce7648154d40d13a81d97322e3ed79a.tar.bz2
ChibiOS-70cea8391ce7648154d40d13a81d97322e3ed79a.zip
W$£"%&%"££%&/&& GCC
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2147 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/ports/GCC/ARM7/chcore.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/os/ports/GCC/ARM7/chcore.h b/os/ports/GCC/ARM7/chcore.h
index 89391b352..a14b08aad 100644
--- a/os/ports/GCC/ARM7/chcore.h
+++ b/os/ports/GCC/ARM7/chcore.h
@@ -189,11 +189,11 @@ struct context {
"stmfd sp!, {r0-r3, r12, lr} \n\t" \
"add r0, pc, #1 \n\t" \
"bx r0 \n\t" \
- ".code 16"); \
+ ".code 16" : : : "memory"); \
}
#else /* !THUMB */
#define PORT_IRQ_PROLOGUE() { \
- asm volatile ("stmfd sp!, {r0-r3, r12, lr}"); \
+ asm volatile ("stmfd sp!, {r0-r3, r12, lr}" : : : "memory"); \
}
#endif /* !THUMB */
@@ -207,11 +207,11 @@ struct context {
#ifdef THUMB
#define PORT_IRQ_EPILOGUE() { \
asm volatile ("ldr r0, =_port_irq_common \n\t" \
- "bx r0"); \
+ "bx r0" : : : "memory"); \
}
#else /* !THUMB */
#define PORT_IRQ_EPILOGUE() { \
- asm volatile ("b _port_irq_common"); \
+ asm volatile ("b _port_irq_common" : : : "memory"); \
}
#endif /* !THUMB */
@@ -245,10 +245,10 @@ struct context {
*/
#ifdef THUMB
#define port_lock() { \
- asm volatile ("bl _port_lock_thumb" : : : "r3", "lr"); \
+ asm volatile ("bl _port_lock_thumb" : : : "r3", "lr", "memory" \
}
#else /* !THUMB */
-#define port_lock() asm volatile ("msr CPSR_c, #0x9F")
+#define port_lock() asm volatile ("msr CPSR_c, #0x9F" : : : "memory")
#endif /* !THUMB */
/**
@@ -259,10 +259,10 @@ struct context {
*/
#ifdef THUMB
#define port_unlock() { \
- asm volatile ("bl _port_unlock_thumb" : : : "r3", "lr"); \
+ asm volatile ("bl _port_unlock_thumb" : : : "r3", "lr", "memory"); \
}
#else /* !THUMB */
-#define port_unlock() asm volatile ("msr CPSR_c, #0x1F")
+#define port_unlock() asm volatile ("msr CPSR_c, #0x1F" : : : "memory")
#endif /* !THUMB */
/**
@@ -292,7 +292,7 @@ struct context {
*/
#ifdef THUMB
#define port_disable() { \
- asm volatile ("bl _port_disable_thumb" : : : "r3", "lr"); \
+ asm volatile ("bl _port_disable_thumb" : : : "r3", "lr", "memory"); \
}
#else /* !THUMB */
#define port_disable() { \
@@ -300,7 +300,7 @@ struct context {
"orr r3, #0x80 \n\t" \
"msr CPSR_c, r3 \n\t" \
"orr r3, #0x40 \n\t" \
- "msr CPSR_c, r3" : : : "r3"); \
+ "msr CPSR_c, r3" : : : "r3", "memory"); \
}
#endif /* !THUMB */
@@ -312,10 +312,10 @@ struct context {
*/
#ifdef THUMB
#define port_suspend() { \
- asm volatile ("bl _port_suspend_thumb" : : : "r3", "lr"); \
+ asm volatile ("bl _port_suspend_thumb" : : : "r3", "lr", "memory"); \
}
#else /* !THUMB */
-#define port_suspend() asm volatile ("msr CPSR_c, #0x9F")
+#define port_suspend() asm volatile ("msr CPSR_c, #0x9F" : : : "memory")
#endif /* !THUMB */
/**
@@ -324,10 +324,10 @@ struct context {
*/
#ifdef THUMB
#define port_enable() { \
- asm volatile ("bl _port_enable_thumb" : : : "r3", "lr"); \
+ asm volatile ("bl _port_enable_thumb" : : : "r3", "lr", "memory"); \
}
#else /* !THUMB */
-#define port_enable() asm volatile ("msr CPSR_c, #0x1F")
+#define port_enable() asm volatile ("msr CPSR_c, #0x1F" : : : "memory")
#endif /* !THUMB */
/**