You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
73 lines
2.0 KiB
10 months ago
|
From ac65cf23af7cccecb4175d3c13460928e8e2f51d Mon Sep 17 00:00:00 2001
|
||
|
From: Jean Delvare <jdelvare@suse.de>
|
||
|
Date: Fri, 26 May 2023 17:41:51 +0200
|
||
|
Subject: [PATCH] dmidecode: Add processor support from SMBIOS 3.6.0
|
||
|
|
||
|
SMBIOS 3.6.0 adds the following to the Processor Information
|
||
|
structure (type 4):
|
||
|
* 9 socket types
|
||
|
* 1 processor family
|
||
|
* 1 field (Thread Enabled)
|
||
|
|
||
|
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||
|
---
|
||
|
dmidecode.c | 19 ++++++++++++++++---
|
||
|
1 file changed, 16 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/dmidecode.c b/dmidecode.c
|
||
|
index 75b58b1..0e8a98c 100644
|
||
|
--- a/dmidecode.c
|
||
|
+++ b/dmidecode.c
|
||
|
@@ -974,6 +974,7 @@ static const char *dmi_processor_family(const struct dmi_header *h, u16 ver)
|
||
|
|
||
|
{ 0x100, "ARMv7" },
|
||
|
{ 0x101, "ARMv8" },
|
||
|
+ { 0x102, "ARMv9" },
|
||
|
{ 0x104, "SH-3" },
|
||
|
{ 0x105, "SH-4" },
|
||
|
{ 0x118, "ARM" },
|
||
|
@@ -1073,7 +1074,7 @@ static enum cpuid_type dmi_get_cpuid_type(const struct dmi_header *h)
|
||
|
else
|
||
|
return cpuid_80486;
|
||
|
}
|
||
|
- else if ((type >= 0x100 && type <= 0x101) /* ARM */
|
||
|
+ else if ((type >= 0x100 && type <= 0x102) /* ARM */
|
||
|
|| (type >= 0x118 && type <= 0x119)) /* ARM */
|
||
|
{
|
||
|
/*
|
||
|
@@ -1415,10 +1416,19 @@ static const char *dmi_processor_upgrade(u8 code)
|
||
|
"Socket BGA1528",
|
||
|
"Socket LGA4189",
|
||
|
"Socket LGA1200",
|
||
|
- "Socket LGA4677" /* 0x3F */
|
||
|
+ "Socket LGA4677",
|
||
|
+ "Socket LGA1700",
|
||
|
+ "Socket BGA1744",
|
||
|
+ "Socket BGA1781",
|
||
|
+ "Socket BGA1211",
|
||
|
+ "Socket BGA2422",
|
||
|
+ "Socket LGA1211",
|
||
|
+ "Socket LGA2422",
|
||
|
+ "Socket LGA5773",
|
||
|
+ "Socket BGA5773" /* 0x48 */
|
||
|
};
|
||
|
|
||
|
- if (code >= 0x01 && code <= 0x3F)
|
||
|
+ if (code >= 0x01 && code <= 0x48)
|
||
|
return upgrade[code - 0x01];
|
||
|
return out_of_spec;
|
||
|
}
|
||
|
@@ -4451,6 +4461,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
|
||
|
pr_attr("Thread Count", "%u",
|
||
|
h->length >= 0x30 && data[0x25] == 0xFF ?
|
||
|
WORD(data + 0x2E) : data[0x25]);
|
||
|
+ if (h->length >= 0x32 && WORD(data + 0x30) != 0)
|
||
|
+ pr_attr("Thread Enabled", "%u",
|
||
|
+ WORD(data + 0x30));
|
||
|
dmi_processor_characteristics("Characteristics",
|
||
|
WORD(data + 0x26));
|
||
|
break;
|
||
|
--
|
||
|
2.43.0
|
||
|
|