From: Heiko Carstens Date: Wed, 22 Jun 2016 07:25:58 +0000 (+0200) Subject: lscpu: show machine type (s390) X-Git-Tag: v2.29-rc1~177 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0c28f0c8151a8ac41e12b672643a5beda82f09b4;p=thirdparty%2Futil-linux.git lscpu: show machine type (s390) Show also the machine type within the lscpu output. With the machine type it is possible to identify the cpu generation and the supported features. Signed-off-by: Heiko Carstens --- diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index 9b87e0431b..883dff68bb 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -198,6 +198,7 @@ struct polarization_modes polar_modes[] = { struct lscpu_desc { char *arch; char *vendor; + char *machinetype; /* s390 */ char *family; char *model; char *modelname; @@ -581,6 +582,15 @@ read_basicinfo(struct lscpu_desc *desc, struct lscpu_modifier *mod) if (mod->system == SYSTEM_LIVE) read_physical_info_powerpc(desc); + + if (path_exist(_PATH_PROC_SYSINFO)) { + FILE *fd = path_fopen("r", 0, _PATH_PROC_SYSINFO); + + while (fd && fgets(buf, sizeof(buf), fd) != NULL && !desc->machinetype) + lookup(buf, "Type", &desc->machinetype); + if (fd) + fclose(fd); + } } static int @@ -1712,6 +1722,8 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod) print_n(_("NUMA node(s):"), desc->nnodes); if (desc->vendor) print_s(_("Vendor ID:"), desc->vendor); + if (desc->machinetype) + print_s(_("Machine type:"), desc->machinetype); if (desc->family) print_s(_("CPU family:"), desc->family); if (desc->model || desc->revision) diff --git a/tests/expected/lscpu/lscpu-s390-kvm b/tests/expected/lscpu/lscpu-s390-kvm index 9632b055ae..66d1c047c5 100644 --- a/tests/expected/lscpu/lscpu-s390-kvm +++ b/tests/expected/lscpu/lscpu-s390-kvm @@ -6,6 +6,7 @@ Core(s) per socket: 1 Socket(s) per book: 1 Book(s): 3 Vendor ID: IBM/S390 +Machine type: 2817 BogoMIPS: 14367.00 Hypervisor: KVM/Linux Hypervisor vendor: KVM diff --git a/tests/expected/lscpu/lscpu-s390-lpar b/tests/expected/lscpu/lscpu-s390-lpar index a4265667f5..9c8ac2c4f8 100644 --- a/tests/expected/lscpu/lscpu-s390-lpar +++ b/tests/expected/lscpu/lscpu-s390-lpar @@ -7,6 +7,7 @@ Core(s) per socket: 4 Socket(s) per book: 6 Book(s): 4 Vendor ID: IBM/S390 +Machine type: 2817 BogoMIPS: 14367.00 Hypervisor: PR/SM Hypervisor vendor: IBM diff --git a/tests/expected/lscpu/lscpu-s390-lpar-drawer b/tests/expected/lscpu/lscpu-s390-lpar-drawer index 88fe1009ea..587e7a6ed1 100644 --- a/tests/expected/lscpu/lscpu-s390-lpar-drawer +++ b/tests/expected/lscpu/lscpu-s390-lpar-drawer @@ -8,6 +8,7 @@ Book(s) per drawer: 2 Drawer(s): 4 NUMA node(s): 1 Vendor ID: IBM/S390 +Machine type: 2964 Model name: 0 CPU dynamic MHz: 5000 CPU static MHz: 5000 diff --git a/tests/expected/lscpu/lscpu-s390-zvm b/tests/expected/lscpu/lscpu-s390-zvm index 6cf24bf867..4cd6b8fa0f 100644 --- a/tests/expected/lscpu/lscpu-s390-zvm +++ b/tests/expected/lscpu/lscpu-s390-zvm @@ -6,6 +6,7 @@ Core(s) per socket: 1 Socket(s) per book: 1 Book(s): 4 Vendor ID: IBM/S390 +Machine type: 2817 BogoMIPS: 14367.00 Hypervisor: z/VM 6.1.0 Hypervisor vendor: IBM