This source file includes following definitions.
- pmix_sys_timer_get_cycles
- pmix_sys_timer_freq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #ifndef PMIX_SYS_ARCH_TIMER_H
17 #define PMIX_SYS_ARCH_TIMER_H 1
18
19 #include <sys/times.h>
20
21 typedef uint64_t pmix_timer_t;
22
23 static inline pmix_timer_t
24 pmix_sys_timer_get_cycles(void)
25 {
26 pmix_timer_t ret;
27
28 __asm__ __volatile__ ("isb" ::: "memory");
29 __asm__ __volatile__ ("mrs %0, CNTVCT_EL0" : "=r" (ret));
30
31 return ret;
32 }
33
34
35 static inline pmix_timer_t
36 pmix_sys_timer_freq(void)
37 {
38 pmix_timer_t freq;
39 __asm__ __volatile__ ("mrs %0, CNTFRQ_EL0" : "=r" (freq));
40 return (pmix_timer_t)(freq);
41 }
42
43 #define PMIX_HAVE_SYS_TIMER_GET_CYCLES 1
44
45 #endif