summaryrefslogtreecommitdiffstats
path: root/sys-utils/lscpu.c
diff options
context:
space:
mode:
authorRuediger Meier2016-03-16 13:18:18 +0100
committerKarel Zak2016-03-16 14:17:33 +0100
commitc95e3889725389e9d7e24d29c2a71b015959575f (patch)
tree568153b39a7973801416780129d9f0978e71e7db /sys-utils/lscpu.c
parentRevert "lscpu: keep lscpu usable on snapshots" (diff)
downloadkernel-qcow2-util-linux-c95e3889725389e9d7e24d29c2a71b015959575f.tar.gz
kernel-qcow2-util-linux-c95e3889725389e9d7e24d29c2a71b015959575f.tar.xz
kernel-qcow2-util-linux-c95e3889725389e9d7e24d29c2a71b015959575f.zip
lscpu: use cpu and revision tag if available
Avoid ifdef which does not work with --sysroot. Our existing test dumps produce even better output now for ppc and sparc. The logic moved to the printing section. CC: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'sys-utils/lscpu.c')
-rw-r--r--sys-utils/lscpu.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 423bc56d6..3b338aac9 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -191,6 +191,8 @@ struct lscpu_desc {
char *family;
char *model;
char *modelname;
+ char *revision; /* alternative for model (ppc) */
+ char *cpu; /* alternative for modelname (ppc, sparc) */
char *virtflag; /* virtualization flag (vmx, svm) */
char *hypervisor; /* hypervisor software */
int hyper; /* hypervisor vendor ID */
@@ -465,13 +467,8 @@ read_basicinfo(struct lscpu_desc *desc, struct lscpu_modifier *mod)
else if (lookup(buf, "vendor_id", &desc->vendor)) ;
else if (lookup(buf, "family", &desc->family)) ;
else if (lookup(buf, "cpu family", &desc->family)) ;
-#if defined(__powerpc__) || defined(__powerpc64__)
- else if (lookup(buf, "revision", &desc->model)) ;
- else if (lookup(buf, "cpu", &desc->modelname)) ;
-#else
else if (lookup(buf, "model", &desc->model)) ;
else if (lookup(buf, "model name", &desc->modelname)) ;
-#endif
else if (lookup(buf, "stepping", &desc->stepping)) ;
else if (lookup(buf, "cpu MHz", &desc->mhz)) ;
else if (lookup(buf, "flags", &desc->flags)) ; /* x86 */
@@ -479,6 +476,8 @@ read_basicinfo(struct lscpu_desc *desc, struct lscpu_modifier *mod)
else if (lookup(buf, "type", &desc->flags)) ; /* sparc64 */
else if (lookup(buf, "bogomips", &desc->bogomips)) ;
else if (lookup(buf, "bogomips per cpu", &desc->bogomips)) ; /* s390 */
+ else if (lookup(buf, "cpu", &desc->cpu)) ;
+ else if (lookup(buf, "revision", &desc->revision)) ;
else
continue;
}
@@ -1649,10 +1648,10 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
print_s(_("Vendor ID:"), desc->vendor);
if (desc->family)
print_s(_("CPU family:"), desc->family);
- if (desc->model)
- print_s(_("Model:"), desc->model);
- if (desc->modelname)
- print_s(_("Model name:"), desc->modelname);
+ if (desc->model || desc->revision)
+ print_s(_("Model:"), desc->revision ? desc->revision : desc->model);
+ if (desc->modelname || desc->cpu)
+ print_s(_("Model name:"), desc->cpu ? desc->cpu : desc->modelname);
if (desc->stepping)
print_s(_("Stepping:"), desc->stepping);
if (desc->mhz)