• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/alpha/include/asm/
1#ifndef __BARRIER_H
2#define __BARRIER_H
3
4#include <asm/compiler.h>
5
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 __ASM_SMP_MB	"\tmb\n"
20#define smp_mb()	mb()
21#define smp_rmb()	rmb()
22#define smp_wmb()	wmb()
23#define smp_read_barrier_depends()	read_barrier_depends()
24#else
25#define __ASM_SMP_MB
26#define smp_mb()	barrier()
27#define smp_rmb()	barrier()
28#define smp_wmb()	barrier()
29#define smp_read_barrier_depends()	do { } while (0)
30#endif
31
32#define set_mb(var, value) \
33do { var = value; mb(); } while (0)
34
35#endif		/* __BARRIER_H */
36