summaryrefslogtreecommitdiff
path: root/modules/devices/x86
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2017-08-10 11:20:16 -0500
committerLeandro A. F. Pereira <leandro@hardinfo.org>2017-08-11 02:52:21 -0700
commit05c4a4c9451b7b07577255f7927cec6d70f2cf8d (patch)
tree1de5a3e76a59ecf4784f0fd15152690223c83ac0 /modules/devices/x86
parent0b998d0cf01d497e998c17c251b241510ba38f3e (diff)
Separate processor name and description + count cores and threads
* add cpu_procs_cores_threads() function to get counts from sysfs/topology * each platform must now provide processor_name() and processor_describe() * processor_name_default(): returns a list of unique processor->model_name * processor_describe_default(): returns "N physical; M cores; L threads" * processor_describe_by_counting_names(): returns a list of unique processor->model_name with Nx prefix (ex: "4x ARM Cortex A53 + 4x ARM Cortex A33") * x86: _name and _describe use defaults * arm: _name returns name of SOC, if available, _describe returns processor_describe_by_counting_names() * all other platforms: _name and _describe use defaults * Computer module summary now shows both name and description for CPU Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules/devices/x86')
-rw-r--r--modules/devices/x86/processor.c72
1 files changed, 47 insertions, 25 deletions
diff --git a/modules/devices/x86/processor.c b/modules/devices/x86/processor.c
index 707983ed..c5bdd5e2 100644
--- a/modules/devices/x86/processor.c
+++ b/modules/devices/x86/processor.c
@@ -430,39 +430,61 @@ gchar *processor_get_detailed_info(Processor * processor)
return ret;
}
+gchar *processor_name(GSList * processors) {
+ return processor_name_default(processors);
+}
+
+gchar *processor_describe(GSList * processors) {
+ return processor_describe_default(processors);
+}
+
+gchar *processor_meta(GSList * processors) {
+ gchar *meta_cpu_name = processor_name(processors);
+ gchar *meta_cpu_desc = processor_describe(processors);
+ gchar *ret = NULL;
+ UNKIFNULL(meta_cpu_desc);
+ ret = g_strdup_printf("[%s]\n"
+ "%s=%s\n"
+ "%s=%s\n",
+ _("Package Information"),
+ _("Name"), meta_cpu_name,
+ _("Description"), meta_cpu_desc);
+ g_free(meta_cpu_desc);
+ return ret;
+}
+
gchar *processor_get_info(GSList * processors)
{
Processor *processor;
+ gchar *ret, *tmp, *hashkey;
+ gchar *meta; /* becomes owned by more_info? no need to free? */
+ GSList *l;
- if (g_slist_length(processors) > 1) {
- gchar *ret, *tmp, *hashkey;
- GSList *l;
+ tmp = g_strdup_printf("$CPU_META$%s=\n", _("Package Information") );
- tmp = g_strdup("");
+ meta = processor_meta(processors);
+ moreinfo_add_with_prefix("DEV", "CPU_META", meta);
- for (l = processors; l; l = l->next) {
- processor = (Processor *) l->data;
-
- tmp = g_strdup_printf(_("%s$CPU%d$%s=%.2fMHz\n"),
- tmp, processor->id,
- processor->model_name,
- processor->cpu_mhz);
-
- hashkey = g_strdup_printf("CPU%d", processor->id);
- moreinfo_add_with_prefix("DEV", hashkey,
- processor_get_detailed_info(processor));
- g_free(hashkey);
- }
+ for (l = processors; l; l = l->next) {
+ processor = (Processor *) l->data;
- ret = g_strdup_printf("[$ShellParam$]\n"
- "ViewType=1\n"
- "[Processors]\n"
- "%s", tmp);
- g_free(tmp);
+ tmp = g_strdup_printf(_("%s$CPU%d$%s=%.2fMHz\n"),
+ tmp, processor->id,
+ processor->model_name,
+ processor->cpu_mhz);
- return ret;
+ hashkey = g_strdup_printf("CPU%d", processor->id);
+ moreinfo_add_with_prefix("DEV", hashkey,
+ processor_get_detailed_info(processor));
+ g_free(hashkey);
}
- processor = (Processor *) processors->data;
- return processor_get_detailed_info(processor);
+ ret = g_strdup_printf("[$ShellParam$]\n"
+ "ViewType=1\n"
+ "[Processors]\n"
+ "%s", tmp);
+ g_free(tmp);
+
+ return ret;
}
+