summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/aarch64/common/gtimer.c7
-rw-r--r--libcpu/risc-v/virt64/tick.c7
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);