aboutsummaryrefslogtreecommitdiffstats
path: root/tools/arch/s390/include/asm/barrier.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/arch/s390/include/asm/barrier.h')
-rw-r--r--tools/arch/s390/include/asm/barrier.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/arch/s390/include/asm/barrier.h b/tools/arch/s390/include/asm/barrier.h
index 5030c99f47d2..de362fa664d4 100644
--- a/tools/arch/s390/include/asm/barrier.h
+++ b/tools/arch/s390/include/asm/barrier.h
@@ -28,4 +28,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_LIB_ASM_BARRIER_H */