hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/tools/arch/powerpc/include/asm/barrier.h
....@@ -27,4 +27,20 @@
2727 #define rmb() __asm__ __volatile__ ("sync" : : : "memory")
2828 #define wmb() __asm__ __volatile__ ("sync" : : : "memory")
2929
30
+#if defined(__powerpc64__)
31
+#define smp_lwsync() __asm__ __volatile__ ("lwsync" : : : "memory")
32
+
33
+#define smp_store_release(p, v) \
34
+do { \
35
+ smp_lwsync(); \
36
+ WRITE_ONCE(*p, v); \
37
+} while (0)
38
+
39
+#define smp_load_acquire(p) \
40
+({ \
41
+ typeof(*p) ___p1 = READ_ONCE(*p); \
42
+ smp_lwsync(); \
43
+ ___p1; \
44
+})
45
+#endif /* defined(__powerpc64__) */
3046 #endif /* _TOOLS_LINUX_ASM_POWERPC_BARRIER_H */