Rename CPU_MEMORY_BARRIER to MEMORY_BARRIER and move it in compiler header.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 20 Mar 2008 14:11:50 +0000 (14:11 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 20 Mar 2008 14:11:50 +0000 (14:11 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1200 38d2e660-2303-0410-9eaa-f027e97ec537

cfg/compiler.h
cpu/attr.h
kern/proc.c

index 96745521fe864280d5f9db85879db290a4bd3e5a..a303dc776115cc0ab9640d4eb208bfe366c950ad 100644 (file)
@@ -37,8 +37,8 @@
  * \author Bernardo Innocenti <bernie@develer.com>
  */
 
-#ifndef DEVLIB_COMPILER_H
-#define DEVLIB_COMPILER_H
+#ifndef BERTOS_COMPILER_H
+#define BERTOS_COMPILER_H
 
 #include <cpu/detect.h>
 
        #define RESTRICT                __restrict__
        #define MUST_CHECK              __attribute__((warn_unused_result))
        #define PACKED                  __attribute__((packed))
+       /**
+        * Force compiler to realod context variable.
+        */
+       #define MEMORY_BARRIER           asm volatile ("" : : : "memory")
+
        #if GNUC_PREREQ(3,1)
                #define DEPRECATED  __attribute__((__deprecated__))
        #endif
                #pragma GCC poison cin cout cerr clog
        #endif
 
+
+
 #elif defined(__MWERKS__)
 
        /* Compiler features */
 #ifndef PACKED
 #define PACKED                 /* nothing */
 #endif
+#ifndef MEMORY_BARRIER
+#define MEMORY_BARRIER         /* nothing */
+#warning No memory barrier defined for select compiler. If you use the kernel check it.
+#endif
 
 
 /* Misc definitions */
 #define        EOF   (-1)
 #endif
 
-
 /* Support for hybrid C/C++ applications. */
 #ifdef __cplusplus
        #define EXTERN_C        extern "C"
@@ -515,4 +525,4 @@ typedef unsigned char page_t;    /**< Type for banked memory pages. */
                        do { (void)(&(var) == (type *)0); } while(0)
 #endif
 
-#endif /* DEVLIB_COMPILER_H */
+#endif /* BERTOS_COMPILER_H */
index 5082a2f536056af85c8f0a710d923dde1c5fdcb5..ce6e4ae38d35823c5b083860b97ff1c2ad5cf66a 100644 (file)
        #define CPU_STACK_GROWS_UPWARD 0
        #define CPU_SP_ON_EMPTY_SLOT   0
        #define CPU_HARVARD            0
-       /*
-        * Force compiler to realod context variable.
-        */
-       #define CPU_MEMORY_BARRIER     asm volatile ("" : : : "memory")
 
        #ifdef __IAR_SYSTEMS_ICC__
                #warning Check CPU_BYTE_ORDER
index 5290c2c5129d6095cf2d9a0aca2a9ce192123b1c..a9e956243a2677267449f74241541f87f0e55862 100644 (file)
@@ -275,7 +275,7 @@ void proc_schedule(void)
                 */
                IRQ_ENABLE;
                CPU_IDLE;
-               CPU_MEMORY_BARRIER;
+               MEMORY_BARRIER;
                IRQ_DISABLE;
        }
        IRQ_RESTORE(flags);