linux/arch/h8300/include/asm/barrier.h
<<
>>
Prefs
   1#ifndef _H8300_BARRIER_H
   2#define _H8300_BARRIER_H
   3
   4#define nop()  asm volatile ("nop"::)
   5
   6/*
   7 * Force strict CPU ordering.
   8 * Not really required on H8...
   9 */
  10#define mb()   asm volatile (""   : : :"memory")
  11#define rmb()  asm volatile (""   : : :"memory")
  12#define wmb()  asm volatile (""   : : :"memory")
  13#define set_mb(var, value) do { xchg(&var, value); } while (0)
  14
  15#ifdef CONFIG_SMP
  16#define smp_mb()        mb()
  17#define smp_rmb()       rmb()
  18#define smp_wmb()       wmb()
  19#define smp_read_barrier_depends()      read_barrier_depends()
  20#else
  21#define smp_mb()        barrier()
  22#define smp_rmb()       barrier()
  23#define smp_wmb()       barrier()
  24#define smp_read_barrier_depends()      do { } while(0)
  25#endif
  26
  27#endif /* _H8300_BARRIER_H */
  28