util-linux/huawei-bios-model-name.patch

85 lines
2.7 KiB
Diff

From 88af974a5dab3a3f6d532dca89dacfaeec8099f5 Mon Sep 17 00:00:00 2001
From: zhangyao <zhangyao108@huawei.com>
Date: Wed, 6 Mar 2024 21:14:49 +0800
Subject: [PATCH] bios model name:
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index ed77df0..9142eab 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -297,13 +297,13 @@ static int __arm_cpu_smbios(struct lscpu_desc *desc)
str = dmi_string(&h, data[PROC_MFR_OFFSET]);
if (str) {
xstrncpy(buf, str, 127);
- desc->vendor = xstrdup(buf);
+ desc->bios_vendor = xstrdup(buf);
}
str = dmi_string(&h, data[PROC_VERSION_OFFSET]);
if (str) {
xstrncpy(buf, str, 127);
- desc->modelname = xstrdup(buf);
+ desc->bios_modelname = xstrdup(buf);
}
return 0;
@@ -311,13 +311,9 @@ static int __arm_cpu_smbios(struct lscpu_desc *desc)
void arm_cpu_decode(struct lscpu_desc *desc)
{
- int rc = -1;
-
/* use SMBIOS Type 4 data if available,
* else fall back to manual decoding using the tables above */
if (access(_PATH_SYS_DMI_TYPE4, R_OK) == 0)
- rc = __arm_cpu_smbios(desc);
-
- if (rc)
- __arm_cpu_decode(desc);
+ __arm_cpu_smbios(desc);
+ __arm_cpu_decode(desc);
}
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index d6c3f2e..c1f91be 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -2123,6 +2123,8 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
add_summary_n(tb, _("NUMA node(s):"), desc->nnodes);
if (desc->vendor)
add_summary_s(tb, _("Vendor ID:"), desc->vendor);
+ if (desc->bios_vendor)
+ add_summary_s(tb, _("BIOS Vendor ID:"), desc->bios_vendor);
if (desc->machinetype)
add_summary_s(tb, _("Machine type:"), desc->machinetype);
if (desc->family)
@@ -2131,6 +2133,8 @@ print_summary(struct lscpu_desc *desc, struct lscpu_modifier *mod)
add_summary_s(tb, _("Model:"), desc->revision ? desc->revision : desc->model);
if (desc->modelname || desc->cpu)
add_summary_s(tb, _("Model name:"), desc->cpu ? desc->cpu : desc->modelname);
+ if (desc->bios_modelname)
+ add_summary_s(tb, _("BIOS Model name:"), desc->bios_modelname);
if (desc->stepping)
add_summary_s(tb, _("Stepping:"), desc->stepping);
if (desc->freqboost >= 0)
diff --git a/sys-utils/lscpu.h b/sys-utils/lscpu.h
index e602b0a..f213ffe 100644
--- a/sys-utils/lscpu.h
+++ b/sys-utils/lscpu.h
@@ -98,10 +98,12 @@ struct lscpu_desc {
char *arch;
char *vendor;
+ char *bios_vendor; /* aarch64 */
char *machinetype; /* s390 */
char *family;
char *model;
char *modelname;
+ char *bios_modelname; /* aarch64 */
char *revision; /* alternative for model (ppc) */
char *cpu; /* alternative for modelname (ppc, sparc) */
char *virtflag; /* virtualization flag (vmx, svm) */
--
2.33.0