X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8c06c883e7b13c115d5ff207f79d4b68fccd5ad6..35a7d633d3f16c1e0539af6ca5d8e7482926cd93:/lunaix-os/kernel/time/clock.c diff --git a/lunaix-os/kernel/time/clock.c b/lunaix-os/kernel/time/clock.c index 3770dd0..a5b9dd8 100644 --- a/lunaix-os/kernel/time/clock.c +++ b/lunaix-os/kernel/time/clock.c @@ -1,6 +1,5 @@ -#include -#include #include +#include #include #include @@ -20,12 +19,8 @@ __clock_read_datetime(struct twimap* map) clock_walltime(&dt); twimap_printf(map, "%.4d-%.2d-%.2d %.2d:%.2d:%.2d", - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second); + dt.year, dt.month, dt.day, + dt.hour, dt.minute, dt.second); } void @@ -62,16 +57,22 @@ clock_unixtime() time_t clock_systime() { - if (!current_timer) { + if (!systimer) { return 0; } ticks_t t = hwtimer_current_systicks(); - return t / current_timer->running_freq; + ticks_t tu = systimer->running_freq / 1000; + + if (unlikely(!tu)) { + return t; + } + + return t / (tu); } void clock_walltime(datetime_t* datetime) { - primary_rtc->get_walltime(primary_rtc, datetime); + sysrtc->ops->get_walltime(sysrtc, datetime); } \ No newline at end of file