aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/rdma/krping/krping.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/rdma/krping/krping.c')
-rw-r--r--sys/contrib/rdma/krping/krping.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/contrib/rdma/krping/krping.c b/sys/contrib/rdma/krping/krping.c
index 182e5f111028..98f129597464 100644
--- a/sys/contrib/rdma/krping/krping.c
+++ b/sys/contrib/rdma/krping/krping.c
@@ -69,9 +69,13 @@ MODULE_DEPEND(krping, linuxkpi, 1, 1, 1);
static __inline uint64_t
get_cycles(void)
{
+#if defined(__amd64__) || defined(__i386__)
uint32_t low, high;
__asm __volatile("rdtsc" : "=a" (low), "=d" (high));
return (low | ((u_int64_t)high << 32));
+#elif defined(__powerpc64__)
+ return __builtin_readcyclecounter();
+#endif
}
typedef uint64_t cycles_t;