diff --git a/openair1/PHY/TOOLS/time_meas.h b/openair1/PHY/TOOLS/time_meas.h index 9f96bbb3034f178230f66b780499c9f448a1798f..b5bfb7fc008950024cf6046f1da4a45ce7f058ea 100644 --- a/openair1/PHY/TOOLS/time_meas.h +++ b/openair1/PHY/TOOLS/time_meas.h @@ -66,6 +66,15 @@ static inline unsigned long long rdtsc_oai(void) __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d)); return (d<<32) | a; } + +#elif defined(__arm__) +static inline unsigned long long rdtsc_oai(void) __attribute__((always_inline)); +static inline unsigned long long rdtsc_oai(void) +{ + uint32_t r = 0; + asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(r) ); + return (unsigned long long)r; +} #endif static inline void start_meas(time_stats_t *ts)