Extended state AMD backwards compatibility updates (XCC)
[akaros.git] / kern / arch / x86 / ros / membar.h
index 37ed736..307c00e 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef ROS_INC_ARCH_MEMBAR_H
-#define ROS_INC_ARCH_MEMBAR_H
+#pragma once
 
 /* Full CPU memory barrier */
 #define mb() ({ asm volatile("mfence" ::: "memory"); })
@@ -20,4 +19,6 @@
 #define wrmb_f() mb_f()
 #define rwmb_f() mb_f()
 
-#endif /* ROS_INC_ARCH_MEMBAR_H */
+/* Bus memory barriers */
+#define bus_wmb() cmb()
+#define bus_rmb() asm volatile("lock; addl $0,0(%%rsp)" : : : "memory")