diff options
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/aarch64/common/gtimer.c | 7 | ||||
| -rw-r--r-- | libcpu/risc-v/virt64/tick.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libcpu/aarch64/common/gtimer.c b/libcpu/aarch64/common/gtimer.c index 881655c2cf..514ec4e043 100644 --- a/libcpu/aarch64/common/gtimer.c +++ b/libcpu/aarch64/common/gtimer.c @@ -13,6 +13,10 @@ #include <gtimer.h> #include <cpuport.h> +#ifdef RT_USING_KTIME +#include <ktime.h> +#endif + #define EL1_PHY_TIMER_IRQ_NUM 30 static volatile rt_uint64_t timer_step; @@ -38,6 +42,9 @@ void rt_hw_gtimer_local_enable(void) rt_hw_gtimer_disable(); rt_hw_set_gtimer_val(timer_step); rt_hw_interrupt_umask(EL1_PHY_TIMER_IRQ_NUM); +#ifdef RT_USING_KTIME + rt_ktime_cputimer_init(); +#endif rt_hw_gtimer_enable(); } diff --git a/libcpu/risc-v/virt64/tick.c b/libcpu/risc-v/virt64/tick.c index cd628f0835..3dd9af48a3 100644 --- a/libcpu/risc-v/virt64/tick.c +++ b/libcpu/risc-v/virt64/tick.c @@ -14,6 +14,10 @@ #include <encoding.h> #include "sbi.h" +#ifdef RT_USING_KTIME +#include <ktime.h> +#endif + static volatile uint64_t time_elapsed = 0; static volatile unsigned long tick_cycles = 0; @@ -49,6 +53,9 @@ int rt_hw_tick_init(void) /* Set timer */ sbi_set_timer(get_ticks() + tick_cycles); +#ifdef RT_USING_KTIME + rt_ktime_cputimer_init(); +#endif /* Enable the Supervisor-Timer bit in SIE */ set_csr(sie, SIP_STIP); |
