Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[deliverable/linux.git] / include / asm-alpha / barrier.h
CommitLineData
0db9ae4a
AM
1#ifndef __BARRIER_H
2#define __BARRIER_H
3
63f324cf
IK
4#include <asm/compiler.h>
5
0db9ae4a
AM
6#define mb() \
7__asm__ __volatile__("mb": : :"memory")
8
9#define rmb() \
10__asm__ __volatile__("mb": : :"memory")
11
12#define wmb() \
13__asm__ __volatile__("wmb": : :"memory")
14
15#define read_barrier_depends() \
16__asm__ __volatile__("mb": : :"memory")
17
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()
73f10281 27#define smp_read_barrier_depends() do { } while (0)
0db9ae4a
AM
28#endif
29
30#define set_mb(var, value) \
31do { var = value; mb(); } while (0)
32
0db9ae4a 33#endif /* __BARRIER_H */
This page took 0.349744 seconds and 5 git commands to generate.