aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/arch/ia64/include/asm/barrier.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/arch/ia64/include/asm/barrier.h')
-rw-r--r--tools/arch/ia64/include/asm/barrier.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/arch/ia64/include/asm/barrier.h b/tools/arch/ia64/include/asm/barrier.h
index d808ee0e77b5..4d471d9511a5 100644
--- a/tools/arch/ia64/include/asm/barrier.h
+++ b/tools/arch/ia64/include/asm/barrier.h
@@ -46,4 +46,17 @@
#define rmb() mb()
#define wmb() mb()
+#define smp_store_release(p, v) \
+do { \
+ barrier(); \
+ WRITE_ONCE(*p, v); \
+} while (0)
+
+#define smp_load_acquire(p) \
+({ \
+ typeof(*p) ___p1 = READ_ONCE(*p); \
+ barrier(); \
+ ___p1; \
+})
+
#endif /* _TOOLS_LINUX_ASM_IA64_BARRIER_H */