]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lscpu: remove the old code
authorHuang Shijie <shijie@os.amperecomputing.com>
Thu, 17 Jun 2021 12:41:16 +0000 (12:41 +0000)
committerKarel Zak <kzak@redhat.com>
Wed, 30 Jun 2021 09:27:26 +0000 (11:27 +0200)
The file "/sys/firmware/dmi/tables/DMI" always exists.

The dmi_decode_cputype() can provide more information then arm_smbios_decode().
So remove it to tidy the code.

Before this patch, we can get the output from Centos 7.9 who has
"/sys/firmware/dmi/entries/4-0/raw" and "/sys/firmware/dmi/tables/DMI":
  ----------------------------------------------------
  BIOS Vendor ID:                  Ampere(TM)
  Model name:                     Neoverse-N1
    BIOS Model name:               Ampere(TM) Altra(TM) Processor
  ----------------------------------------------------

 After this patch which uses "/sys/firmware/dmi/tables/DMI", in Centos 7.9, we get:
  ----------------------------------------------------
  BIOS Vendor ID:                  Ampere(TM)
  Model name:                     Neoverse-N1
    BIOS Model name:               Ampere(TM) Altra(TM) Processor Q00-00 CPU @ 2.8GHz
    BIOS CPU family:               257
  ----------------------------------------------------

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
sys-utils/lscpu-arm.c
sys-utils/lscpu.h

index 885aadc367e305f9ef350f8980662e1c1fd7b594..d52765f9d00a844f66718ebcb6d58659c2dd5931 100644 (file)
@@ -315,53 +315,9 @@ static int arm_rXpY_decode(struct lscpu_cputype *ct)
        return 0;
 }
 
-#define PROC_MFR_OFFSET                0x07
-#define PROC_VERSION_OFFSET    0x10
-
-/*
- * Use firmware to get human readable names
- */
-static int arm_smbios_decode(struct lscpu_cputype *ct)
-{
-       uint8_t data[8192];
-       char buf[128], *str;
-       struct lscpu_dmi_header h;
-       int fd;
-       ssize_t rs;
-
-       fd = open(_PATH_SYS_DMI_TYPE4, O_RDONLY);
-       if (fd < 0)
-               return fd;
-
-       rs = read_all(fd, (char *) data, 8192);
-       close(fd);
-
-       if (rs == -1)
-               return -1;
-
-       to_dmi_header(&h, data);
-
-       str = dmi_string(&h, data[PROC_MFR_OFFSET]);
-       if (str) {
-               xstrncpy(buf, str, 127);
-               ct->bios_vendor = xstrdup(buf);
-       }
-
-       str = dmi_string(&h, data[PROC_VERSION_OFFSET]);
-       if (str) {
-               xstrncpy(buf, str, 127);
-               ct->bios_modelname = xstrdup(buf);
-       }
-
-       return 0;
-}
-
 static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
 {
-       /* use SMBIOS Type 4 data if available */
-       if (!cxt->noalive && access(_PATH_SYS_DMI_TYPE4, R_OK) == 0)
-               arm_smbios_decode(ct);
-       else if (!cxt->noalive && access(_PATH_SYS_DMI, R_OK) == 0)
+       if (!cxt->noalive && access(_PATH_SYS_DMI, R_OK) == 0)
                dmi_decode_cputype(ct);
 
        arm_ids_decode(ct);
index 79477b469df72ad01fe2199dedad31041ef6d9b3..8cb0d630ce88cfcaf4c41c56a78652b4cf80605c 100644 (file)
@@ -32,7 +32,6 @@ UL_DEBUG_DECLARE_MASK(lscpu);
 #define _PATH_SYS_CPU          _PATH_SYS_SYSTEM "/cpu"
 #define _PATH_SYS_NODE         _PATH_SYS_SYSTEM "/node"
 #define _PATH_SYS_DMI          "/sys/firmware/dmi/tables/DMI"
-#define _PATH_SYS_DMI_TYPE4    "/sys/firmware/dmi/entries/4-0/raw"
 #define _PATH_ACPI_PPTT                "/sys/firmware/acpi/tables/PPTT"
 
 struct lscpu_cache {