1 #ifndef __ASM_CRIS_BARRIER_H 2 #define __ASM_CRIS_BARRIER_H 3 4 #define nop() __asm__ __volatile__ ("nop"); 5 6 #define barrier() __asm__ __volatile__("": : :"memory") 7 #define mb() barrier() 8 #define rmb() mb() 9 #define wmb() mb() 10 #define read_barrier_depends() do { } while(0) 11 #define set_mb(var, value) do { var = value; mb(); } while (0) 12 13 #ifdef CONFIG_SMP 14 #define smp_mb() mb() 15 #define smp_rmb() rmb() 16 #define smp_wmb() wmb() 17 #define smp_read_barrier_depends() read_barrier_depends() 18 #else 19 #define smp_mb() barrier() 20 #define smp_rmb() barrier() 21 #define smp_wmb() barrier() 22 #define smp_read_barrier_depends() do { } while(0) 23 #endif 24 25 #endif /* __ASM_CRIS_BARRIER_H */ 26