From 4b34ff6903521cc1550122c93d673eab257ca1a3 Mon Sep 17 00:00:00 2001 From: Erik van der Kouwe Date: Mon, 3 May 2010 19:41:04 +0000 Subject: [PATCH] Add syslib function to obtain CPU frequency --- include/minix/sysutil.h | 1 + lib/libsys/tsc_util.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/minix/sysutil.h b/include/minix/sysutil.h index c6e4edb33..e596e9635 100644 --- a/include/minix/sysutil.h +++ b/include/minix/sysutil.h @@ -57,6 +57,7 @@ _PROTOTYPE( void util_stacktrace_strcat, (char *)); _PROTOTYPE( int micro_delay, (u32_t micros)); _PROTOTYPE( u32_t tsc_64_to_micros, (u64_t tsc)); _PROTOTYPE( u32_t tsc_to_micros, (u32_t low, u32_t high)); +_PROTOTYPE( u32_t tsc_get_khz, (void)); _PROTOTYPE( u32_t micros_to_ticks, (u32_t micros)); _PROTOTYPE( void ser_putc, (char c)); _PROTOTYPE( void get_randomness, (struct k_randomness *, int)); diff --git a/lib/libsys/tsc_util.c b/lib/libsys/tsc_util.c index dfb1218e0..815d8840f 100644 --- a/lib/libsys/tsc_util.c +++ b/lib/libsys/tsc_util.c @@ -111,3 +111,9 @@ u32_t tsc_to_micros(u32_t low, u32_t high) return micros; } +u32_t tsc_get_khz(void) +{ + CALIBRATE; + + return calib_tsc / (CALIBRATE_TICKS(Hz) * MICROSPERTICK(Hz)) * 1000; +}