X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vppinfra%2Fvppinfra%2Ftime.h;h=ffafaf70b21b2de4491489960d869ca2646fc59c;hb=9341a1f8500b8f6712b5dd671b976ecbf6803c2c;hp=29398f3baeaa44a665a4c48596073dacc911edc2;hpb=862623da6eb3dfb211f5ed03ce063137d3f2242e;p=vpp.git diff --git a/vppinfra/vppinfra/time.h b/vppinfra/vppinfra/time.h index 29398f3baea..ffafaf70b21 100644 --- a/vppinfra/vppinfra/time.h +++ b/vppinfra/vppinfra/time.h @@ -113,13 +113,20 @@ always_inline u64 clib_cpu_time_now (void) } #elif defined (__arm__) -#if defined(__ARM_ARCH_7A__) -always_inline u64 clib_cpu_time_now (void) +#if defined(__ARM_ARCH_8A__) +always_inline u64 clib_cpu_time_now (void) /* We may run arm64 in aarch32 mode, to leverage 64bit counter */ { u64 tsc; asm volatile("mrrc p15, 0, %Q0, %R0, c9" : "=r" (tsc)); return tsc; } +#elif defined(__ARM_ARCH_7A__) +always_inline u64 clib_cpu_time_now (void) +{ + u32 tsc; + asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r" (tsc)); + return (u64)tsc; +} #else always_inline u64 clib_cpu_time_now (void) {