summaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/system.h
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-08-25 14:56:07 +1000
committerPaul Mackerras <paulus@samba.org>2006-08-25 14:56:07 +1000
commitea0763a7e62f60f3e166327268a80f16ad806718 (patch)
treede54ec5e5d5a49b3cba81b096b7572852aa6f5a9 /include/asm-powerpc/system.h
parent271c511db9d37d6797745adb1f151a8bd2838c6f (diff)
parentc85c41ad73c6db4cf4cc98c595cc5e2fdbdb53d5 (diff)
downloadlinux-ea0763a7e62f60f3e166327268a80f16ad806718.tar.bz2
Merge branch 'merge'
Diffstat (limited to 'include/asm-powerpc/system.h')
-rw-r--r--include/asm-powerpc/system.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h
index b6d330fe8ed3..4b41deaa8d8d 100644
--- a/include/asm-powerpc/system.h
+++ b/include/asm-powerpc/system.h
@@ -53,6 +53,15 @@
#define smp_read_barrier_depends() do { } while(0)
#endif /* CONFIG_SMP */
+/*
+ * This is a barrier which prevents following instructions from being
+ * started until the value of the argument x is known. For example, if
+ * x is a variable loaded from memory, this prevents following
+ * instructions from being executed until the load has been performed.
+ */
+#define data_barrier(x) \
+ asm volatile("twi 0,%0,0; isync" : : "r" (x) : "memory");
+
struct task_struct;
struct pt_regs;