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