From 62bd7849f4dd5a0054b11705a71aed7bf2fe52d7 Mon Sep 17 00:00:00 2001 From: Josh Hursey Date: Wed, 12 Oct 2005 13:13:46 +0000 Subject: [PATCH] Handle the timer for YellowDog's /proc/cpuinfo format clock : 999MHz This commit was SVN r7723. --- opal/mca/timer/linux/timer_linux_component.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/opal/mca/timer/linux/timer_linux_component.c b/opal/mca/timer/linux/timer_linux_component.c index fe0ca83f04..c2a0fd2372 100644 --- a/opal/mca/timer/linux/timer_linux_component.c +++ b/opal/mca/timer/linux/timer_linux_component.c @@ -112,6 +112,20 @@ opal_timer_linux_open(void) } } + if (0 == opal_timer_linux_freq) { + /* Alt. find the CPU speed - most timers are 1:1 with CPU speed */ + loc = find_info(fp, "clock", buf, 1024); + if (NULL != loc) { + if(strlen(loc) > 4) /* Strip off the 'MHz\n' */ + loc[strlen(loc)-4] = '\0'; + ret = sscanf(loc, "%f", &cpu_f); + if (1 == ret) { + /* numer is in MHz - convert to Hz and make an integer */ + opal_timer_linux_freq = (opal_timer_t) cpu_f * 1000000; + } + } + } + if (0 == opal_timer_linux_freq) { /* look for the sparc way of getting cpu frequency */ loc = find_info(fp, "Cpu0ClkTck", buf, 1024);