diff options
Diffstat (limited to 'arch/linux/ppc/processor.h')
-rw-r--r-- | arch/linux/ppc/processor.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/arch/linux/ppc/processor.h b/arch/linux/ppc/processor.h index f4ff5b0e..6aa0f4ef 100644 --- a/arch/linux/ppc/processor.h +++ b/arch/linux/ppc/processor.h @@ -16,8 +16,15 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -static Processor * -computer_get_processor(void) +struct _Processor { + gchar *model_name; + gchar *vendor_id; + gint cache_size; + gfloat bogomips, cpu_mhz; +}; + +static GSList * +__scan_processors(void) { Processor *processor; FILE *cpuinfo; @@ -45,24 +52,28 @@ computer_get_processor(void) g_strfreev(tmp); } - gchar *tmp = g_strconcat("PowerPC ", processor->model_name, NULL); + gchar *tmp = g_strdup_printf("PowerPC %s (%.2fMHz)", + processor->model_name, + processor->cpu_mhz); g_free(processor->model_name); processor->model_name = tmp; fclose(cpuinfo); - return processor; + return g_slist_append(NULL, processor); } static gchar * -processor_get_info(Processor *processor) +processor_get_info(GSList *processors) { + Processor *processor = (Processor *)processors->data; + return g_strdup_printf("[Processor]\n" "Machine=%s\n" "CPU=%s\n" - "L2 Cache=%.2f\n" + "L2 Cache=%dkB\n" "Frequency=%.2fMHz\n" - "BogoMips=%.2f" + "BogoMips=%.2f\n" "Byte Order=%s\n", processor->vendor_id, processor->model_name, |