diff options
author | Burt P <pburt0@gmail.com> | 2017-07-09 21:45:10 -0500 |
---|---|---|
committer | Leandro Pereira <leandro@hardinfo.org> | 2017-07-12 19:38:41 -0700 |
commit | 3260e09b2ae4ee9eb80ff83f800d9b3bcff209e4 (patch) | |
tree | 2bd1804efb2da9d186cf4c2df79386290ea068af | |
parent | 86525d099c58e7e2d329107361398288c7c01296 (diff) |
alpha: add frequency, add test
Signed-off-by: Burt P <pburt0@gmail.com>
-rw-r--r-- | includes/alpha/processor-platform.h | 1 | ||||
-rw-r--r-- | modules/devices/alpha/processor.c | 12 | ||||
-rw-r--r-- | test/data/alpha_as_cpuinfo | 19 | ||||
-rw-r--r-- | test/test.sh | 2 |
4 files changed, 33 insertions, 1 deletions
diff --git a/includes/alpha/processor-platform.h b/includes/alpha/processor-platform.h index 2ff3a728..778a1a88 100644 --- a/includes/alpha/processor-platform.h +++ b/includes/alpha/processor-platform.h @@ -23,6 +23,7 @@ struct _Processor { gchar *model_name; gfloat bogomips, cpu_mhz; gchar *strmodel; + gchar *cycle_frequency_hz_str; }; #endif /* __PROCESSOR_PLATFORM_H__ */ diff --git a/modules/devices/alpha/processor.c b/modules/devices/alpha/processor.c index ae58058f..79852017 100644 --- a/modules/devices/alpha/processor.c +++ b/modules/devices/alpha/processor.c @@ -37,6 +37,7 @@ processor_scan(void) Processor *processor; FILE *cpuinfo; gchar buffer[128]; + long long hz = 0; cpuinfo = fopen(PROC_CPUINFO, "r"); if (!cpuinfo) @@ -53,6 +54,7 @@ processor_scan(void) get_str("cpu model", processor->model_name); get_float("BogoMIPS", processor->bogomips); get_str("platform string", processor->strmodel); + get_str("cycle frequency [Hz]", processor->cycle_frequency_hz_str); } g_strfreev(tmp); @@ -61,7 +63,13 @@ processor_scan(void) gchar *tmp = g_strconcat("Alpha ", processor->model_name, NULL); g_free(processor->model_name); processor->model_name = tmp; - processor->cpu_mhz = 0.0f; + + if (processor->cycle_frequency_hz_str) { + hz = atoll(processor->cycle_frequency_hz_str); + processor->cpu_mhz = hz; + processor->cpu_mhz /= 1000000; + } else + processor->cpu_mhz = 0.0f; fclose(cpuinfo); @@ -76,11 +84,13 @@ processor_get_info(GSList *processors) return g_strdup_printf("[%s]\n" "%s=%s\n" "%s=%s\n" + "%s=%.2f %s\n" /* frequency */ "%s=%.2f\n" /* bogomips */ "%s=%s\n", /* byte order */ _("Processor"), _("Model"), processor->model_name, _("Platform String"), processor->strmodel, + _("Frequency"), processor->cpu_mhz, _("MHz"), _("BogoMips"), processor->bogomips, _("Byte Order"), byte_order_str() ); diff --git a/test/data/alpha_as_cpuinfo b/test/data/alpha_as_cpuinfo new file mode 100644 index 00000000..698b3d4d --- /dev/null +++ b/test/data/alpha_as_cpuinfo @@ -0,0 +1,19 @@ +cpu : Alpha +cpu model : EV56 +cpu variation : 7 +cpu revision : 0 +cpu serial number : +system type : Rawhide +system variation : Tincup +system revision : 0 +system serial number : BT00000000 +cycle frequency [Hz] : 531914893 +timer frequency [Hz] : 1200.00 +page size [bytes] : 8192 +phys. address bits : 40 +max. addr. space # : 127 +BogoMIPS : 1063.92 +kernel unaligned acc : 0 (pc=0,va=0) +user unaligned acc : 0 (pc=0,va=0) +platform string : AlphaServer 1200 5/533 4MB +cpus detected : 1 diff --git a/test/test.sh b/test/test.sh index 7a05a79b..bc748320 100644 --- a/test/test.sh +++ b/test/test.sh @@ -16,3 +16,5 @@ do_test() { #do_test arm data/arm_jetsontx2_cpuinfo #do_test sparc data/sparc_m7_cpuinfo #do_test mips data/mips_loongson_cpuinfo +do_test alpha data/alpha_as_cpuinfo + |