Fail compiles if no platform specific memory barriers exist
Currently there is a "generic" implementation for the memory barrier
macros in arch.h. These turned out to be insuffient for ARM64 causing
memory corruption problems when doing RDMA operations. So going forward,
fail a compile on a platform w/o platform-specific memory barrier macros.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
diff --git a/include/infiniband/arch.h b/include/infiniband/arch.h
index c31dd0a..e35ecf0 100644
--- a/include/infiniband/arch.h
+++ b/include/infiniband/arch.h
@@ -132,12 +132,7 @@
#else
-#warning No architecture specific defines found. Using generic implementation.
-
-#define mb() asm volatile("" ::: "memory")
-#define rmb() mb()
-#define wmb() mb()
-#define wc_wmb() wmb()
+#error No architecture specific memory barrier defines found!
#endif