Path: blob/master/arch/alpha/include/asm/barrier.h
15126 views
#ifndef __BARRIER_H1#define __BARRIER_H23#include <asm/compiler.h>45#define mb() \6__asm__ __volatile__("mb": : :"memory")78#define rmb() \9__asm__ __volatile__("mb": : :"memory")1011#define wmb() \12__asm__ __volatile__("wmb": : :"memory")1314#define read_barrier_depends() \15__asm__ __volatile__("mb": : :"memory")1617#ifdef CONFIG_SMP18#define __ASM_SMP_MB "\tmb\n"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#else24#define __ASM_SMP_MB25#define smp_mb() barrier()26#define smp_rmb() barrier()27#define smp_wmb() barrier()28#define smp_read_barrier_depends() do { } while (0)29#endif3031#define set_mb(var, value) \32do { var = value; mb(); } while (0)3334#endif /* __BARRIER_H */353637