aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/lscpu-arm.c5
-rw-r--r--sys-utils/lscpu.c2
-rw-r--r--sys-utils/lscpu.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
index e6678441f4..20c7291e56 100644
--- a/sys-utils/lscpu-arm.c
+++ b/sys-utils/lscpu-arm.c
@@ -316,13 +316,14 @@ static int __arm_cpu_smbios(struct lscpu_desc *desc)
return 0;
}
-void arm_cpu_decode(struct lscpu_desc *desc)
+void arm_cpu_decode(struct lscpu_desc *desc, struct lscpu_modifier *mod)
{
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)
+ if (mod->system == SYSTEM_LIVE &&
+ access(_PATH_SYS_DMI_TYPE4, R_OK) == 0)
rc = __arm_cpu_smbios(desc);
if (rc)
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 90c475a1f4..b7dc4dfb5f 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -2475,7 +2475,7 @@ int main(int argc, char *argv[])
read_nodes(desc);
read_hypervisor(desc, mod);
- arm_cpu_decode(desc);
+ arm_cpu_decode(desc, mod);
switch(mod->mode) {
case OUTPUT_SUMMARY:
diff --git a/sys-utils/lscpu.h b/sys-utils/lscpu.h
index c0c5bbfe15..3de0abcce1 100644
--- a/sys-utils/lscpu.h
+++ b/sys-utils/lscpu.h
@@ -209,7 +209,7 @@ struct lscpu_modifier {
};
extern int read_hypervisor_dmi(void);
-extern void arm_cpu_decode(struct lscpu_desc *desc);
+extern void arm_cpu_decode(struct lscpu_desc *desc, struct lscpu_modifier *mod);
#define _PATH_SYS_DMI "/sys/firmware/dmi/tables/DMI"
#define _PATH_SYS_DMI_TYPE4 "/sys/firmware/dmi/entries/4-0/raw"