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 225e3fa72..cd5f935f1 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__)