diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-10-28 15:50:51 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-10-28 15:50:51 -0700 |
commit | a4da0628efd788eb199dd9df225e296035ec2539 (patch) | |
tree | 1e611030c993e1480dc2f07f26976d2d33002b0d /include/asm-alpha/barrier.h | |
parent | 70a30e16a8a9d22396a4d1e96af86e43594df584 (diff) | |
parent | 20731945ae743034353a88c307920d1f16cf8ac8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include/asm-alpha/barrier.h')
-rw-r--r-- | include/asm-alpha/barrier.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-alpha/barrier.h b/include/asm-alpha/barrier.h new file mode 100644 index 000000000000..229c83fe77cb --- /dev/null +++ b/include/asm-alpha/barrier.h @@ -0,0 +1,34 @@ +#ifndef __BARRIER_H +#define __BARRIER_H + +#define mb() \ +__asm__ __volatile__("mb": : :"memory") + +#define rmb() \ +__asm__ __volatile__("mb": : :"memory") + +#define wmb() \ +__asm__ __volatile__("wmb": : :"memory") + +#define read_barrier_depends() \ +__asm__ __volatile__("mb": : :"memory") + +#ifdef CONFIG_SMP +#define smp_mb() mb() +#define smp_rmb() rmb() +#define smp_wmb() wmb() +#define smp_read_barrier_depends() read_barrier_depends() +#else +#define smp_mb() barrier() +#define smp_rmb() barrier() +#define smp_wmb() barrier() +#define smp_read_barrier_depends() barrier() +#endif + +#define set_mb(var, value) \ +do { var = value; mb(); } while (0) + +#define set_wmb(var, value) \ +do { var = value; wmb(); } while (0) + +#endif /* __BARRIER_H */ |