Blob Blame History Raw
diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
index 37fde0323..dfc88b6f5 100644
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
@@ -131,6 +131,10 @@ static inline tokutime_t toku_time_now(void) {
   uint64_t result;
   __asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result));
   return result;
+#elif defined(__arm__)
+  uint32_t lo, hi;
+  __asm __volatile__("mrrc p15, 1, %[lo], %[hi], c14" : [ lo ] "=r" (lo), [hi] "=r" (hi));
+  return (uint64_t)hi << 32 | lo;
 #elif defined(__powerpc__)
   return __ppc_get_timebase();
 #elif defined(__s390x__)