]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/pxa27x/pxa27xhardware.h
Remove bogus 'tab:4' and 'tab:2' markers.
[tinyos-2.x.git] / tos / chips / pxa27x / pxa27xhardware.h
index a2c36918d115e1bcade708beaf4ebbfe653dc351..ea7e822720d1b610f25be4dd1b58d5186666f34e 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 
-/*                                                                     tab:4
+/*
  *  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.  By
  *  downloading, copying, installing or using the software you agree to
  *  this license.  If you do not agree to this license, do not download,
@@ -37,7 +37,7 @@
  * 
  * 
  */
-/*                                                                     tab:4
+/*
  *
  *
  * "Copyright (c) 2000-2002 The Regents of the University  of California.  
@@ -92,7 +92,7 @@ inline uint32_t _pxa27x_clzui(uint32_t i) {
 typedef uint32_t __nesc_atomic_t;
 
 //NOTE...at the moment, these functions will ONLY disable the IRQ...FIQ is left alone
-inline __nesc_atomic_t __nesc_atomic_start(void) __attribute__((spontaneous))
+inline __nesc_atomic_t __nesc_atomic_start(void) @spontaneous()
 {
   uint32_t result = 0;
   uint32_t temp = 0;
@@ -104,13 +104,15 @@ inline __nesc_atomic_t __nesc_atomic_start(void) __attribute__((spontaneous))
                : "=r" (result) , "=r" (temp)
                : "0" (result) , "1" (temp) , "i" (ARM_CPSR_INT_MASK)
                );
+  asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
   return result;
 }
 
-inline void __nesc_atomic_end(__nesc_atomic_t oldState) __attribute__((spontaneous))
+inline void __nesc_atomic_end(__nesc_atomic_t oldState) @spontaneous()
 {
   uint32_t  statusReg = 0;
   //make sure that we only mess with the INT bit
+  asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
   oldState &= ARM_CPSR_INT_MASK;
   asm volatile (
                "mrs %0,CPSR\n\t"