From e047546331d25dc11e594f164dc4b323ed5067e0 Mon Sep 17 00:00:00 2001 From: Lichen Liu Date: Fri, 22 Dec 2023 15:08:59 +0800 Subject: [PATCH] dmidecode: Add processor support from SMBIOS-3.6.0 Resolves: RHEL-15884 Signed-off-by: Lichen Liu --- ...-processor-support-from-SMBIOS-3.6.0.patch | 72 +++++++++++++++++++ dmidecode.spec | 3 + 2 files changed, 75 insertions(+) create mode 100644 0001-dmidecode-Add-processor-support-from-SMBIOS-3.6.0.patch diff --git a/0001-dmidecode-Add-processor-support-from-SMBIOS-3.6.0.patch b/0001-dmidecode-Add-processor-support-from-SMBIOS-3.6.0.patch new file mode 100644 index 0000000..f6c720c --- /dev/null +++ b/0001-dmidecode-Add-processor-support-from-SMBIOS-3.6.0.patch @@ -0,0 +1,72 @@ +From ac65cf23af7cccecb4175d3c13460928e8e2f51d Mon Sep 17 00:00:00 2001 +From: Jean Delvare +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 +--- + 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 + diff --git a/dmidecode.spec b/dmidecode.spec index c033275..cb16cc3 100644 --- a/dmidecode.spec +++ b/dmidecode.spec @@ -9,6 +9,8 @@ URL: https://www.nongnu.org/dmidecode/ BuildRequires: gcc make ExclusiveArch: %{ix86} x86_64 ia64 aarch64 +Patch0: 0001-dmidecode-Add-processor-support-from-SMBIOS-3.6.0.patch + %description dmidecode reports information about x86 & ia64 hardware as described in the system BIOS according to the SMBIOS/DMI standard. This information @@ -22,6 +24,7 @@ I/O ports (e.g. serial, parallel, USB). %prep %setup -q +%patch0 -p1 %build %make_build CFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}"