diff options
Diffstat (limited to 'include/util/time.h')
-rw-r--r-- | include/util/time.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/util/time.h b/include/util/time.h new file mode 100644 index 0000000..f6dacb0 --- /dev/null +++ b/include/util/time.h @@ -0,0 +1,26 @@ +#ifndef UTIL_TIME_H +#define UTIL_TIME_H + +void routing_core0cntv_to_core0irq(void); +unsigned long read_core0timer_pending(void); +unsigned long long read_cntvct(void); +unsigned long long read_cntvoff(void); +unsigned long read_cntv_tval(void); +void write_cntv_tval(unsigned long val); +unsigned long read_cntfrq(void); + +static inline void enablecntv(void) +{ + unsigned long cntv_ctl; + cntv_ctl = 1; + asm volatile ("mcr p15, 0, %0, c14, c3, 1" :: "r"(cntv_ctl) ); // write CNTV_CTL +} + +static inline void disablecntv(void) +{ + unsigned long cntv_ctl; + cntv_ctl = 0; + asm volatile ("mcr p15, 0, %0, c14, c3, 1" :: "r"(cntv_ctl) ); // write CNTV_CTL +} + +#endif |