projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
caa_get_cycles: caa_ prefix for type, use CLOCK_MONOTONIC
[userspace-rcu.git]
/
urcu
/
arch
/
ppc.h
diff --git
a/urcu/arch/ppc.h
b/urcu/arch/ppc.h
index 8a96dd9deb50626efe6a9a8b75e6cbab7c0dc628..7e2b6218f82ddc4808a775010c8bfd0c6e25ea5c 100644
(file)
--- a/
urcu/arch/ppc.h
+++ b/
urcu/arch/ppc.h
@@
-25,10
+25,11
@@
#include <urcu/compiler.h>
#include <urcu/config.h>
#include <urcu/syscall-compat.h>
#include <urcu/compiler.h>
#include <urcu/config.h>
#include <urcu/syscall-compat.h>
+#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#ifdef __cplusplus
extern "C" {
-#endif
+#endif
/* Include size of POWER5+ L3 cache lines: 256 bytes */
#define CAA_CACHE_LINE_SIZE 256
/* Include size of POWER5+ L3 cache lines: 256 bytes */
#define CAA_CACHE_LINE_SIZE 256
@@
-82,15
+83,17
@@
extern "C" {
rval; \
})
rval; \
})
-typedef unsigned long long cycles_t;
+#define HAS_CAA_GET_CYCLES
+
+typedef uint64_t caa_cycles_t;
#ifdef __powerpc64__
#ifdef __powerpc64__
-static inline cycles_t caa_get_cycles(void)
+static inline c
aa_c
ycles_t caa_get_cycles(void)
{
{
- return (cycles_t) mftb();
+ return (c
aa_c
ycles_t) mftb();
}
#else
}
#else
-static inline cycles_t caa_get_cycles(void)
+static inline c
aa_c
ycles_t caa_get_cycles(void)
{
unsigned long h, l;
{
unsigned long h, l;
@@
-100,12
+103,20
@@
static inline cycles_t caa_get_cycles(void)
l = mftbl();
cmm_barrier();
if (mftbu() == h)
l = mftbl();
cmm_barrier();
if (mftbu() == h)
- return (((cycles_t) h) << 32) + l;
+ return (((c
aa_c
ycles_t) h) << 32) + l;
}
}
#endif
}
}
#endif
-#ifdef __cplusplus
+/*
+ * Define the membarrier system call number if not yet available in the
+ * system headers.
+ */
+#ifndef __NR_membarrier
+#define __NR_membarrier 365
+#endif
+
+#ifdef __cplusplus
}
#endif
}
#endif
This page took
0.025499 seconds
and
4
git commands to generate.