[PATCH] uml: add -ffreestanding to CFLAGS
[linux/fpc-iii.git] / include / asm-alpha / barrier.h
blob681ff581afa574a404e19038abbda9d1f194489c
1 #ifndef __BARRIER_H
2 #define __BARRIER_H
4 #include <asm/compiler.h>
6 #define mb() \
7 __asm__ __volatile__("mb": : :"memory")
9 #define rmb() \
10 __asm__ __volatile__("mb": : :"memory")
12 #define wmb() \
13 __asm__ __volatile__("wmb": : :"memory")
15 #define read_barrier_depends() \
16 __asm__ __volatile__("mb": : :"memory")
18 #ifdef CONFIG_SMP
19 #define smp_mb() mb()
20 #define smp_rmb() rmb()
21 #define smp_wmb() wmb()
22 #define smp_read_barrier_depends() read_barrier_depends()
23 #else
24 #define smp_mb() barrier()
25 #define smp_rmb() barrier()
26 #define smp_wmb() barrier()
27 #define smp_read_barrier_depends() barrier()
28 #endif
30 #define set_mb(var, value) \
31 do { var = value; mb(); } while (0)
33 #define set_wmb(var, value) \
34 do { var = value; wmb(); } while (0)
36 #endif /* __BARRIER_H */