linux/include/asm-alpha/barrier.h
<<
>>
Prefs
   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 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
  29
  30#define set_mb(var, value) \
  31do { var = value; mb(); } while (0)
  32
  33#endif          /* __BARRIER_H */
  34