projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s390 uatomic: fix new compiler support
[urcu.git]
/
urcu
/
arch_s390.h
diff --git
a/urcu/arch_s390.h
b/urcu/arch_s390.h
index 1a43c6cff6a22847f288241fed60db77b3fcb933..b400376a30089ffa936ad104dca88568cb3f901d 100644
(file)
--- a/
urcu/arch_s390.h
+++ b/
urcu/arch_s390.h
@@
-1,5
+1,5
@@
-#ifndef _ARCH_S390_H
-#define _ARCH_S390_H
+#ifndef _
URCU_
ARCH_S390_H
+#define _
URCU_
ARCH_S390_H
/*
* Trivial definitions for the S390 architecture based on information from the
/*
* Trivial definitions for the S390 architecture based on information from the
@@
-29,10
+29,24
@@
*/
#include <compiler.h>
*/
#include <compiler.h>
-#include "config.h"
+#include <urcu/config.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
#define CONFIG_HAVE_MEM_COHERENCY
#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
#ifndef BITS_PER_LONG
#define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
#endif
@@
-44,12
+58,21
@@
#define rmc() barrier()
#define wmc() barrier()
#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()
#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()
/* Nop everywhere except on alpha. */
#define smp_read_barrier_depends()
@@
-75,4
+98,8
@@
static inline cycles_t get_cycles (void)
return cycles;
}
return cycles;
}
-#endif /* _ARCH_S390_H */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _URCU_ARCH_S390_H */
This page took
0.024094 seconds
and
4
git commands to generate.