lscpu: remove the old code
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>
This commit is contained in:
parent
5efc31f9d8
commit
81d6de9166
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue