*/
#include <compiler.h>
-#include <config/config.h>
+#include <urcu/config.h>
#define CONFIG_HAVE_MEM_COHERENCY
+#define CACHE_LINE_SIZE 128
+
+#ifndef __SIZEOF_LONG__
+#ifdef __s390x__
+#define __SIZEOF_LONG__ 8
+#else
+#define __SIZEOF_LONG__ 4
+#endif
+#endif
+
#ifndef BITS_PER_LONG
#define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
#endif
#define rmc() barrier()
#define wmc() barrier()
+#ifdef CONFIG_URCU_SMP
#define smp_mb() mb()
#define smp_rmb() rmb()
#define smp_wmb() wmb()
#define smp_mc() mc()
#define smp_rmc() rmc()
#define smp_wmc() wmc()
+#else
+#define smp_mb() barrier()
+#define smp_rmb() barrier()
+#define smp_wmb() barrier()
+#define smp_mc() barrier()
+#define smp_rmc() barrier()
+#define smp_wmc() barrier()
+#endif
/* Nop everywhere except on alpha. */
#define smp_read_barrier_depends()