Page MenuHomeFreeBSD

D53232.diff
No OneTemporary

D53232.diff

diff --git a/sys/riscv/include/atomic.h b/sys/riscv/include/atomic.h
--- a/sys/riscv/include/atomic.h
+++ b/sys/riscv/include/atomic.h
@@ -37,10 +37,11 @@
#include <sys/atomic_common.h>
-#define fence() __asm __volatile("fence" ::: "memory");
-#define mb() fence()
-#define rmb() fence()
-#define wmb() fence()
+#define _fence(PRE, SUC) __asm __volatile("fence "#PRE","#SUC ::: "memory");
+#define fence() _fence(iorw, iorw)
+#define mb() _fence(iorw, iorw)
+#define rmb() _fence(ior, ior)
+#define wmb() _fence(iow, iow)
static __inline int atomic_cmpset_8(__volatile uint8_t *, uint8_t, uint8_t);
static __inline int atomic_fcmpset_8(__volatile uint8_t *, uint8_t *, uint8_t);

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 22, 12:20 PM (3 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24120180
Default Alt Text
D53232.diff (689 B)

Event Timeline