diff -Nru dmidecode-3.3/debian/changelog dmidecode-3.3/debian/changelog --- dmidecode-3.3/debian/changelog 2021-08-20 03:15:05.000000000 -0300 +++ dmidecode-3.3/debian/changelog 2022-08-23 20:52:47.000000000 -0300 @@ -1,3 +1,26 @@ +dmidecode (3.3-3ubuntu0.1) jammy; urgency=medium + + * Support SMBIOS 3.4 and 3.5 for Hardware Enablement in 22.04 LTS (LP: #1986852) + - d/p/lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch + - d/p/lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch + - d/p/lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch + - d/p/lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch + - d/p/lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch + - d/p/lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch + - d/p/lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch + - d/p/lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch + - d/p/lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch + - d/p/lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch + - d/p/lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch + - d/p/lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch + - d/p/lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch + - d/p/lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch + - d/p/lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch + + * d/control: update-maintainer. + + -- Mauricio Faria de Oliveira Tue, 23 Aug 2022 20:52:47 -0300 + dmidecode (3.3-3) unstable; urgency=medium * Add Architecture riscv64 (Closes: #991854). diff -Nru dmidecode-3.3/debian/control dmidecode-3.3/debian/control --- dmidecode-3.3/debian/control 2021-08-20 02:44:13.000000000 -0300 +++ dmidecode-3.3/debian/control 2022-08-23 20:52:47.000000000 -0300 @@ -1,7 +1,8 @@ Source: dmidecode Section: utils Priority: optional -Maintainer: Jörg Frings-Fürst +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Jörg Frings-Fürst Build-Depends: debhelper-compat (= 13) Standards-Version: 4.6.0.0 Rules-Requires-Root: no diff -Nru dmidecode-3.3/debian/patches/lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch dmidecode-3.3/debian/patches/lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch --- dmidecode-3.3/debian/patches/lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,33 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=7e25483a392e292c58cea67ba4d052856c2f35d0 +From: Prabhakar pujeri +Date: Mon, 19 Oct 2020 14:38:04 +0200 +Subject: [PATCH] Add new memory device types from SMBIOS spec 3.4.0 + +Added 2 more new values (0x22 and 0x23). +--- + dmidecode.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 8b6f5afce3c8..97ba9415fe80 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2639,10 +2639,12 @@ static const char *dmi_memory_device_type(u8 code) + "LPDDR4", + "Logical non-volatile device", + "HBM", +- "HBM2" /* 0x21 */ ++ "HBM2", ++ "DDR5", ++ "LPDDR5" /* 0x23 */ + }; + +- if (code >= 0x01 && code <= 0x21) ++ if (code >= 0x01 && code <= 0x23) + return type[code - 0x01]; + return out_of_spec; + } +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch dmidecode-3.3/debian/patches/lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch --- dmidecode-3.3/debian/patches/lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,33 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=b3b4c29f38b29a6ac3779ff97363d42fd3061c4a +From: Prabhakar pujeri +Date: Mon, 19 Oct 2020 14:38:04 +0200 +Subject: [PATCH] Add new processor upgrades from SMBIOS spec 3.4.0 + +Added 2 more new values (0x3D and 0x3E). +--- + dmidecode.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 97ba9415fe80..eb5a5afcae72 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1355,10 +1355,12 @@ static const char *dmi_processor_upgrade(u8 code) + "Socket LGA2066", + "Socket BGA1392", + "Socket BGA1510", +- "Socket BGA1528" /* 0x3C */ ++ "Socket BGA1528", ++ "Socket LGA4189", ++ "Socket LGA1200" /* 0x3E */ + }; + +- if (code >= 0x01 && code <= 0x3C) ++ if (code >= 0x01 && code <= 0x3E) + return upgrade[code - 0x01]; + return out_of_spec; + } +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch dmidecode-3.3/debian/patches/lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch --- dmidecode-3.3/debian/patches/lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,41 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=4304d3aca801534ae0e4ebab5e4b4cef0c866315 +From: Prabhakar pujeri +Date: Mon, 19 Oct 2020 15:04:30 +0200 +Subject: [PATCH] Add new slot characteristics2 from SMBIOS spec 3.4.0 + +* The bit to indicate PCIe surprise removal support. +* The bit to indicate Flexbus CXL 1.0 version. +* The bit to indicate Flexbus CXL 2.0 version. +--- + dmidecode.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index eb5a5afcae72..1b7db4b62eed 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2118,7 +2118,10 @@ static void dmi_slot_characteristics(const char *attr, u8 code1, u8 code2) + "PME signal is supported", /* 0 */ + "Hot-plug devices are supported", + "SMBus signal is supported", +- "PCIe slot bifurcation is supported" /* 3 */ ++ "PCIe slot bifurcation is supported", ++ "Async/surprise removal is supported", ++ "Flexbus slot, CXL 1.0 capable", ++ "Flexbus slot, CXL 2.0 capable" /* 6 */ + }; + + if (code1 & (1 << 0)) +@@ -2133,7 +2136,7 @@ static void dmi_slot_characteristics(const char *attr, u8 code1, u8 code2) + for (i = 1; i <= 7; i++) + if (code1 & (1 << i)) + pr_list_item("%s", characteristics1[i - 1]); +- for (i = 0; i <= 3; i++) ++ for (i = 0; i <= 6; i++) + if (code2 & (1 << i)) + pr_list_item("%s", characteristics2[i]); + pr_list_end(); +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch dmidecode-3.3/debian/patches/lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch --- dmidecode-3.3/debian/patches/lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,72 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=231f84a902b371a042578b93caa96b8106a04371 +From: Jean Delvare +Date: Wed, 21 Oct 2020 15:24:31 +0200 +Subject: [PATCH] dmidecode: Handle memory module extended speed fields + +These fields were added by SMBIOS version 3.3.0. and although there +is no hardware fast enough to need them yet, we can support them +already. I missed them before because their addition is not mentioned +in the specification change log. + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 1b7db4b62eed..a8607114e581 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2691,12 +2691,22 @@ static void dmi_memory_device_type_detail(u16 code) + } + } + +-static void dmi_memory_device_speed(const char *attr, u16 code) ++static void dmi_memory_device_speed(const char *attr, u16 code1, u32 code2) + { +- if (code == 0) +- pr_attr(attr, "Unknown"); ++ if (code1 == 0xFFFF) ++ { ++ if (code2 == 0) ++ pr_attr(attr, "Unknown"); ++ else ++ pr_attr(attr, "%lu MT/s", code2); ++ } + else +- pr_attr(attr, "%u MT/s", code); ++ { ++ if (code1 == 0) ++ pr_attr(attr, "Unknown"); ++ else ++ pr_attr(attr, "%u MT/s", code1); ++ } + } + + static void dmi_memory_technology(u8 code) +@@ -4458,7 +4468,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + dmi_memory_device_type(data[0x12])); + dmi_memory_device_type_detail(WORD(data + 0x13)); + if (h->length < 0x17) break; +- dmi_memory_device_speed("Speed", WORD(data + 0x15)); ++ dmi_memory_device_speed("Speed", WORD(data + 0x15), ++ h->length >= 0x5C ? ++ DWORD(data + 0x54) : 0); + if (h->length < 0x1B) break; + pr_attr("Manufacturer", "%s", + dmi_string(h, data[0x17])); +@@ -4475,7 +4487,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + pr_attr("Rank", "%u", data[0x1B] & 0x0F); + if (h->length < 0x22) break; + dmi_memory_device_speed("Configured Memory Speed", +- WORD(data + 0x20)); ++ WORD(data + 0x20), ++ h->length >= 0x5C ? ++ DWORD(data + 0x58) : 0); + if (h->length < 0x28) break; + dmi_memory_voltage_value("Minimum Voltage", + WORD(data + 0x22)); +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch dmidecode-3.3/debian/patches/lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch --- dmidecode-3.3/debian/patches/lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,74 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=c54348130a2a2e267bb0435d61b21760aec9dfa9 +From: Jean Delvare +Date: Wed, 21 Oct 2020 15:24:40 +0200 +Subject: [PATCH] dmidecode: Add new system slot types from SMBIOS spec 3.4.0 + +Based on an earlier patch from Prabhakar Pujeri (Dell). + +Version 3.4.0 of the SMBIOS specification adds 14 new system slot +types and updates 2 (DMI type 9). + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index a8607114e581..31a49e450c94 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1933,11 +1933,16 @@ static const char *dmi_slot_type(u8 code) + "MXM Type IV", + "MXM 3.0 Type A", + "MXM 3.0 Type B", +- "PCI Express 2 SFF-8639", +- "PCI Express 3 SFF-8639", ++ "PCI Express 2 SFF-8639 (U.2)", ++ "PCI Express 3 SFF-8639 (U.2)", + "PCI Express Mini 52-pin with bottom-side keep-outs", + "PCI Express Mini 52-pin without bottom-side keep-outs", +- "PCI Express Mini 76-pin" /* 0x23 */ ++ "PCI Express Mini 76-pin" ++ "PCI Express 4 SFF-8639 (U.2)", ++ "PCI Express 5 SFF-8639 (U.2)", ++ "OCP NIC 3.0 Small Form Factor (SFF)", ++ "OCP NIC 3.0 Large Form Factor (LFF)", ++ "OCP NIC Prior to 3.0" /* 0x28 */ + }; + static const char *type_0x30[] = { + "CXL FLexbus 1.0" /* 0x30 */ +@@ -1972,18 +1977,27 @@ static const char *dmi_slot_type(u8 code) + "PCI Express 4 x2", + "PCI Express 4 x4", + "PCI Express 4 x8", +- "PCI Express 4 x16" /* 0xBD */ ++ "PCI Express 4 x16", ++ "PCI Express 5", ++ "PCI Express 5 x1", ++ "PCI Express 5 x2", ++ "PCI Express 5 x4", ++ "PCI Express 5 x8", ++ "PCI Express 5 x16", ++ "PCI Express 6+", ++ "EDSFF E1", ++ "EDSFF E3" /* 0xC6 */ + }; + /* + * Note to developers: when adding entries to these lists, check if + * function dmi_slot_id below needs updating too. + */ + +- if (code >= 0x01 && code <= 0x23) ++ if (code >= 0x01 && code <= 0x28) + return type[code - 0x01]; + if (code == 0x30) + return type_0x30[code - 0x30]; +- if (code >= 0xA0 && code <= 0xBD) ++ if (code >= 0xA0 && code <= 0xC6) + return type_0xA0[code - 0xA0]; + return out_of_spec; + } +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch dmidecode-3.3/debian/patches/lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch --- dmidecode-3.3/debian/patches/lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,39 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=b289de9deb325eeef7919a1f4e3ac1f93b099c16 +From: Prabhakar pujeri +Date: Fri, 23 Oct 2020 17:45:16 +0200 +Subject: [PATCH] Add new processor characteristics bits from SMBIOS spec 3.4.0 + +* The bit to indicate 128-bit capable processor +* The bit to indicate processor supports returning ARM64 SoC ID +--- + dmidecode.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 31a49e450c94..67f6048b2bfc 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1388,7 +1388,9 @@ static void dmi_processor_characteristics(const char *attr, u16 code) + "Hardware Thread", + "Execute Protection", + "Enhanced Virtualization", +- "Power/Performance Control" /* 7 */ ++ "Power/Performance Control", ++ "128-bit Capable" ++ "Arm64 SoC ID" /* 9 */ + }; + + if ((code & 0x00FC) == 0) +@@ -1398,7 +1400,7 @@ static void dmi_processor_characteristics(const char *attr, u16 code) + int i; + + pr_list_start(attr, NULL); +- for (i = 2; i <= 7; i++) ++ for (i = 2; i <= 9; i++) + if (code & (1 << i)) + pr_list_item("%s", characteristics[i - 2]); + pr_list_end(); +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch dmidecode-3.3/debian/patches/lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch --- dmidecode-3.3/debian/patches/lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,45 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=ac6a64496fc99a5cc05ebe4dd7d1b88f60041009 +From: Lianbo Jiang +Date: Thu, 10 Dec 2020 11:21:21 +0100 +Subject: [PATCH] Missing comma in the dmi_slot_type() + +In the initialization of "type", a suspicious concatenated string +"PCI Express Mini 76-pinPCI Express 4 SFF-8639 (U.2)" is produced +due to a missing comma between lines. + +[JD: Fixed a similar bug in dmi_processor_characteristics.] + +Fixes: b289de9deb32 ("Add new processor characteristics bits from SMBIOS spec 3.4.0") +Fixes: c54348130a2a ("dmidecode: Add new system slot types from SMBIOS spec 3.4.0") +Signed-off-by: Lianbo Jiang +Signed-off-by: Jean Delvare +--- + dmidecode.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index ac96395d42c3..4c985536674d 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1389,7 +1389,7 @@ static void dmi_processor_characteristics(const char *attr, u16 code) + "Execute Protection", + "Enhanced Virtualization", + "Power/Performance Control", +- "128-bit Capable" ++ "128-bit Capable", + "Arm64 SoC ID" /* 9 */ + }; + +@@ -1939,7 +1939,7 @@ static const char *dmi_slot_type(u8 code) + "PCI Express 3 SFF-8639 (U.2)", + "PCI Express Mini 52-pin with bottom-side keep-outs", + "PCI Express Mini 52-pin without bottom-side keep-outs", +- "PCI Express Mini 76-pin" ++ "PCI Express Mini 76-pin", + "PCI Express 4 SFF-8639 (U.2)", + "PCI Express 5 SFF-8639 (U.2)", + "OCP NIC 3.0 Small Form Factor (SFF)", +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch dmidecode-3.3/debian/patches/lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch --- dmidecode-3.3/debian/patches/lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,93 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=0c1da654f3398888b2c0405d530c0e8d53ccb744 +From: Nhi Pham +Date: Tue, 21 Sep 2021 11:08:57 +0200 +Subject: [PATCH] dmidecode: Support new format of Processor ID from SMBIOS + 3.4.0 + +For ARM64-class CPUs, the format of the Processor ID field depends on +the processor's support of the SMCCC_ARCH_SOC_ID architectural call. +This supports decoding the Processor ID correctly in case the SoC ID is +supported. This patch should work for ARM32-class CPUs also. + +[JD: Simplify boolean test.] + +Signed-off-by: Nhi Pham +Signed-off-by: Jean Delvare +--- + dmidecode.c | 57 +++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 47 insertions(+), 10 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 69ea0e84886f..0b44182de5d5 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1126,18 +1126,55 @@ static void dmi_processor_id(const struct dmi_header *h) + else if ((type >= 0x100 && type <= 0x101) /* ARM */ + || (type >= 0x118 && type <= 0x119)) /* ARM */ + { +- u32 midr = DWORD(p); + /* +- * The format of this field was not defined for ARM processors +- * before version 3.1.0 of the SMBIOS specification, so we +- * silently skip it if it reads all zeroes. ++ * The field's format depends on the processor's support of ++ * the SMCCC_ARCH_SOC_ID architectural call. Software can determine ++ * the support for SoC ID by examining the Processor Characteristics field ++ * for "Arm64 SoC ID" bit. + */ +- if (midr == 0) +- return; +- pr_attr("Signature", +- "Implementor 0x%02x, Variant 0x%x, Architecture %u, Part 0x%03x, Revision %u", +- midr >> 24, (midr >> 20) & 0xF, +- (midr >> 16) & 0xF, (midr >> 4) & 0xFFF, midr & 0xF); ++ if (h->length >= 0x28 ++ && (WORD(data + 0x26) & (1 << 9))) ++ { ++ /* ++ * If Soc ID is supported, the first DWORD is the JEP-106 code; ++ * the second DWORD is the SoC revision value. ++ */ ++ u32 jep106 = DWORD(p); ++ u32 soc_revision = DWORD(p + 4); ++ /* ++ * According to SMC Calling Convention (SMCCC) v1.3 specification ++ * (https://developer.arm.com/documentation/den0028/d/), the format ++ * of the values returned by the SMCCC_ARCH_SOC_ID call is as follows: ++ * ++ * JEP-106 code for the SiP (SoC_ID_type == 0) ++ * Bit[31] must be zero ++ * Bits[30:24] JEP-106 bank index for the SiP ++ * Bits[23:16] JEP-106 identification code with parity bit for the SiP ++ * Bits[15:0] Implementation defined SoC ID ++ * ++ * SoC revision (SoC_ID_type == 1) ++ * Bit[31] must be zero ++ * Bits[30:0] SoC revision ++ */ ++ pr_attr("Signature", ++ "JEP-106 Bank 0x%02x Manufacturer 0x%02x, SoC ID 0x%04x, SoC Revision 0x%08x", ++ (jep106 >> 24) & 0x7F, (jep106 >> 16) & 0x7F, jep106 & 0xFFFF, soc_revision); ++ } ++ else ++ { ++ u32 midr = DWORD(p); ++ /* ++ * The format of this field was not defined for ARM processors ++ * before version 3.1.0 of the SMBIOS specification, so we ++ * silently skip it if it reads all zeroes. ++ */ ++ if (midr == 0) ++ return; ++ pr_attr("Signature", ++ "Implementor 0x%02x, Variant 0x%x, Architecture %u, Part 0x%03x, Revision %u", ++ midr >> 24, (midr >> 20) & 0xF, ++ (midr >> 16) & 0xF, (midr >> 4) & 0xFFF, midr & 0xF); ++ } + return; + } + else if ((type >= 0x0B && type <= 0x15) /* Intel, Cyrix */ +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch dmidecode-3.3/debian/patches/lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch --- dmidecode-3.3/debian/patches/lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,40 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=024b0fb43ada238659c61f8d2e1f9ddeae603708 +From: Coiby Xu +Date: Thu, 21 Oct 2021 15:19:06 +0200 +Subject: [PATCH] Support new byte value of Processor Upgrade field from SMBIOS + 3.5.0 + +Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz has byte value 3Fh which +means Socket LGA4677 for Processor Information - Processor Upgrade +field. + +[JD: Fix upper array boundary check.] + +Signed-off-by: Coiby Xu +Signed-off-by: Jean Delvare +--- + dmidecode.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 0b44182de5d5..3147d4dd6786 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -1394,10 +1394,11 @@ static const char *dmi_processor_upgrade(u8 code) + "Socket BGA1510", + "Socket BGA1528", + "Socket LGA4189", +- "Socket LGA1200" /* 0x3E */ ++ "Socket LGA1200", ++ "Socket LGA4677" /* 0x3F */ + }; + +- if (code >= 0x01 && code <= 0x3E) ++ if (code >= 0x01 && code <= 0x3F) + return upgrade[code - 0x01]; + return out_of_spec; + } +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch dmidecode-3.3/debian/patches/lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch --- dmidecode-3.3/debian/patches/lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,97 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=f1874a58d981593f4a754fc63b4ca1410a590078 +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Make dmi_slot_bus_width() reusable + +Let dmi_slot_bus_width() return its value without a trailing space, +so that this function can be reused in a different context. + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 52 ++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 34 insertions(+), 18 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 73e455f514f5..cd29caa3cf0e 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2074,31 +2074,49 @@ static const char *dmi_slot_type(u8 code) + return out_of_spec; + } + +-static const char *dmi_slot_bus_width(u8 code) ++/* If hide_unknown is set, return NULL instead of "Other" or "Unknown" */ ++static const char *dmi_slot_bus_width(u8 code, int hide_unknown) + { + /* 7.10.2 */ + static const char *width[] = { +- "", /* 0x01, "Other" */ +- "", /* "Unknown" */ +- "8-bit ", +- "16-bit ", +- "32-bit ", +- "64-bit ", +- "128-bit ", +- "x1 ", +- "x2 ", +- "x4 ", +- "x8 ", +- "x12 ", +- "x16 ", +- "x32 " /* 0x0E */ ++ "Other", /* 0x01 */ ++ "Unknown", ++ "8-bit", ++ "16-bit", ++ "32-bit", ++ "64-bit", ++ "128-bit", ++ "x1", ++ "x2", ++ "x4", ++ "x8", ++ "x12", ++ "x16", ++ "x32" /* 0x0E */ + }; + + if (code >= 0x01 && code <= 0x0E) ++ { ++ if (code <= 0x02 && hide_unknown) ++ return NULL; + return width[code - 0x01]; ++ } + return out_of_spec; + } + ++static void dmi_slot_type_with_width(u8 type, u8 width) ++{ ++ const char *type_str, *width_str; ++ ++ type_str = dmi_slot_type(type); ++ width_str = dmi_slot_bus_width(width, 1); ++ ++ if (width_str) ++ pr_attr("Type", "%s %s", width_str, type_str); ++ else ++ pr_attr("Type", "%s", type_str); ++} ++ + static const char *dmi_slot_current_usage(u8 code) + { + /* 7.10.3 */ +@@ -4405,9 +4423,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + if (h->length < 0x0C) break; + pr_attr("Designation", "%s", + dmi_string(h, data[0x04])); +- pr_attr("Type", "%s%s", +- dmi_slot_bus_width(data[0x06]), +- dmi_slot_type(data[0x05])); ++ dmi_slot_type_with_width(data[0x05], data[0x06]); + pr_attr("Current Usage", "%s", + dmi_slot_current_usage(data[0x07])); + pr_attr("Length", "%s", +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch dmidecode-3.3/debian/patches/lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch --- dmidecode-3.3/debian/patches/lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,117 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=7172ba42d24430fefb538b970c76a135feb2dd78 +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Add missing bits from SMBIOS 3.4.0 specification + +When adding support for SMBIOS 3.4.0, we missed new enumerated +values for the slot type field, and 3 new fields at the end of +System Slots (type 9) structures. + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 72 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index cd29caa3cf0e..42da9fbaf5c8 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -2197,6 +2197,13 @@ static void dmi_slot_id(u8 code1, u8 code2, u8 type) + case 0xBB: /* PCI Express 4 */ + case 0xBC: /* PCI Express 4 */ + case 0xBD: /* PCI Express 4 */ ++ case 0xBE: /* PCI Express 5 */ ++ case 0xBF: /* PCI Express 5 */ ++ case 0xC0: /* PCI Express 5 */ ++ case 0xC1: /* PCI Express 5 */ ++ case 0xC2: /* PCI Express 5 */ ++ case 0xC3: /* PCI Express 5 */ ++ case 0xC4: /* PCI Express 6+ */ + pr_attr("ID", "%u", code1); + break; + case 0x07: /* PCMCIA */ +@@ -2269,6 +2276,65 @@ static void dmi_slot_peers(u8 n, const u8 *data) + } + } + ++static void dmi_slot_information(u8 type, u8 code) ++{ ++ switch (type) ++ { ++ case 0x1F: /* PCI Express 2 */ ++ case 0x20: /* PCI Express 3 */ ++ case 0x21: /* PCI Express Mini */ ++ case 0x22: /* PCI Express Mini */ ++ case 0x23: /* PCI Express Mini */ ++ case 0xA5: /* PCI Express */ ++ case 0xA6: /* PCI Express */ ++ case 0xA7: /* PCI Express */ ++ case 0xA8: /* PCI Express */ ++ case 0xA9: /* PCI Express */ ++ case 0xAA: /* PCI Express */ ++ case 0xAB: /* PCI Express 2 */ ++ case 0xAC: /* PCI Express 2 */ ++ case 0xAD: /* PCI Express 2 */ ++ case 0xAE: /* PCI Express 2 */ ++ case 0xAF: /* PCI Express 2 */ ++ case 0xB0: /* PCI Express 2 */ ++ case 0xB1: /* PCI Express 3 */ ++ case 0xB2: /* PCI Express 3 */ ++ case 0xB3: /* PCI Express 3 */ ++ case 0xB4: /* PCI Express 3 */ ++ case 0xB5: /* PCI Express 3 */ ++ case 0xB6: /* PCI Express 3 */ ++ case 0xB8: /* PCI Express 4 */ ++ case 0xB9: /* PCI Express 4 */ ++ case 0xBA: /* PCI Express 4 */ ++ case 0xBB: /* PCI Express 4 */ ++ case 0xBC: /* PCI Express 4 */ ++ case 0xBD: /* PCI Express 4 */ ++ case 0xBE: /* PCI Express 5 */ ++ case 0xBF: /* PCI Express 5 */ ++ case 0xC0: /* PCI Express 5 */ ++ case 0xC1: /* PCI Express 5 */ ++ case 0xC2: /* PCI Express 5 */ ++ case 0xC3: /* PCI Express 5 */ ++ case 0xC4: /* PCI Express 6+ */ ++ if (code) ++ pr_attr("PCI Express Generation", "%u", code); ++ break; ++ } ++} ++ ++static void dmi_slot_physical_width(u8 code) ++{ ++ if (code) ++ pr_attr("Slot Physical Width", "%s", ++ dmi_slot_bus_width(code, 0)); ++} ++ ++static void dmi_slot_pitch(u16 code) ++{ ++ if (code) ++ pr_attr("Pitch", "%u.%02u mm", code / 100, code % 100); ++} ++ + /* + * 7.11 On Board Devices Information (Type 10) + */ +@@ -4438,8 +4504,12 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + if (h->length < 0x13) break; + pr_attr("Data Bus Width", "%u", data[0x11]); + pr_attr("Peer Devices", "%u", data[0x12]); +- if (h->length - 0x13 >= data[0x12] * 5) +- dmi_slot_peers(data[0x12], data + 0x13); ++ if (h->length < 0x13 + data[0x12] * 5) break; ++ dmi_slot_peers(data[0x12], data + 0x13); ++ if (h->length < 0x17 + data[0x12] * 5) break; ++ dmi_slot_information(data[0x05], data[0x13 + data[0x12] * 5]); ++ dmi_slot_physical_width(data[0x14 + data[0x12] * 5]); ++ dmi_slot_pitch(WORD(data + 0x15 + data[0x12] * 5)); + break; + + case 10: /* 7.11 On Board Devices Information */ +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch dmidecode-3.3/debian/patches/lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch --- dmidecode-3.3/debian/patches/lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,123 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=d6ba5fef9a8792f228a908ec24c60bed9f7557f6 +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Add new fields and enumerated values from SMBIOS + 3.5.0 + +Version 3.5.0 of the SMBIOS specification added the following: +* BIOS Information: Manufacturing mode flags +* System Slots: Slot height field +* Built-in Pointing Device: 2 new interface types +* Onboard Devices Extended Information: 7 new device types + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 47 ++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 38 insertions(+), 9 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index 42da9fbaf5c8..799abb569d12 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -426,11 +426,13 @@ static void dmi_bios_characteristics_x2(u8 code) + "Function key-initiated network boot is supported", + "Targeted content distribution is supported", + "UEFI is supported", +- "System is a virtual machine" /* 4 */ ++ "System is a virtual machine", ++ "Manufacturing mode is supported", ++ "Manufacturing mode is enabled" /* 6 */ + }; + int i; + +- for (i = 0; i <= 4; i++) ++ for (i = 0; i <= 6; i++) + if (code & (1 << i)) + pr_list_item("%s", characteristics[i]); + } +@@ -2335,6 +2337,22 @@ static void dmi_slot_pitch(u16 code) + pr_attr("Pitch", "%u.%02u mm", code / 100, code % 100); + } + ++static const char *dmi_slot_height(u8 code) ++{ ++ /* 7.10.3 */ ++ static const char *height[] = { ++ "Not applicable", /* 0x00 */ ++ "Other", ++ "Unknown", ++ "Full height", ++ "Low-profile" /* 0x04 */ ++ }; ++ ++ if (code <= 0x04) ++ return height[code]; ++ return out_of_spec; ++} ++ + /* + * 7.11 On Board Devices Information (Type 10) + */ +@@ -2352,10 +2370,16 @@ static const char *dmi_on_board_devices_type(u8 code) + "Sound", + "PATA Controller", + "SATA Controller", +- "SAS Controller" /* 0x0A */ ++ "SAS Controller", ++ "Wireless LAN", ++ "Bluetooth", ++ "WWAN", ++ "eMMC", ++ "NVMe Controller", ++ "UFS Controller" /* 0x10 */ + }; + +- if (code >= 0x01 && code <= 0x0A) ++ if (code >= 0x01 && code <= 0x10) + return type[code - 0x01]; + return out_of_spec; + } +@@ -3135,12 +3159,14 @@ static const char *dmi_pointing_device_interface(u8 code) + static const char *interface_0xA0[] = { + "Bus Mouse DB-9", /* 0xA0 */ + "Bus Mouse Micro DIN", +- "USB" /* 0xA2 */ ++ "USB", ++ "I2C", ++ "SPI" /* 0xA4 */ + }; + + if (code >= 0x01 && code <= 0x08) + return interface[code - 0x01]; +- if (code >= 0xA0 && code <= 0xA2) ++ if (code >= 0xA0 && code <= 0xA4) + return interface_0xA0[code - 0xA0]; + return out_of_spec; + } +@@ -4220,9 +4246,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + pr_attr("Release Date", "%s", + dmi_string(h, data[0x08])); + /* +- * On IA-64, the BIOS base address will read 0 because +- * there is no BIOS. Skip the base address and the +- * runtime size in this case. ++ * On IA-64 and UEFI-based systems, the BIOS base ++ * address will read 0 because there is no BIOS. Skip ++ * the base address and the runtime size in this case. + */ + if (WORD(data + 0x06) != 0) + { +@@ -4510,6 +4536,9 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + dmi_slot_information(data[0x05], data[0x13 + data[0x12] * 5]); + dmi_slot_physical_width(data[0x14 + data[0x12] * 5]); + dmi_slot_pitch(WORD(data + 0x15 + data[0x12] * 5)); ++ if (h->length < 0x18 + data[0x12] * 5) break; ++ pr_attr("Height", "%s", ++ dmi_slot_height(data[0x17 + data[0x12] * 5])); + break; + + case 10: /* 7.11 On Board Devices Information */ +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch dmidecode-3.3/debian/patches/lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch --- dmidecode-3.3/debian/patches/lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,105 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=ba17ff0671cf0255ff64408c134e00dd177605cc +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Add support for type 45 records (Firmware + Inventory Information) + +SMBIOS specification 3.5.0 adds a new record type: Firmware Inventory +Information. Add support for it. + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 69 insertions(+) + +diff --git a/dmidecode.c b/dmidecode.c +index 799abb569d12..fc420efc6aba 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -4223,6 +4223,53 @@ static void dmi_tpm_characteristics(u64 code) + pr_list_item("%s", characteristics[i - 2]); + } + ++/* ++ * 7.46 Firmware Inventory Information (Type 45) ++ */ ++ ++static void dmi_firmware_characteristics(u16 code) ++{ ++ /* 7.46.3 */ ++ static const char *characteristics[] = { ++ "Updatable", /* 0 */ ++ "Write-Protect" /* 1 */ ++ }; ++ int i; ++ ++ for (i = 0; i <= 1; i++) ++ pr_list_item("%s: %s", characteristics[i], ++ (code & (1 << i)) ? "Yes" : "No"); ++} ++ ++static const char *dmi_firmware_state(u8 code) ++{ ++ /* 7.46.4 */ ++ static const char *state[] = { ++ "Other", /* 0x01 */ ++ "Unknown", ++ "Disabled", ++ "Enabled", ++ "Absent", ++ "Stand-by Offline", ++ "Stand-by Spare", ++ "Unavailable Offline" /* 0x08 */ ++ }; ++ ++ if (code >= 0x01 && code <= 0x08) ++ return state[code - 0x01]; ++ return out_of_spec; ++} ++ ++static void dmi_firmware_components(u8 count, const u8 *p) ++{ ++ int i; ++ ++ pr_list_start("Associated Components", "%u", count); ++ for (i = 0; i < count; i++) ++ pr_list_item("0x%04X", WORD(p + sizeof(u16) * i)); ++ pr_list_end(); ++} ++ + /* + * Main + */ +@@ -5276,6 +5323,28 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) + DWORD(data + 0x1B)); + break; + ++ case 45: /* 7.46 Firmware Inventory Information */ ++ pr_handle_name("Firmware Inventory Information"); ++ if (h->length < 0x18) break; ++ pr_attr("Firmware Component Name", "%s", ++ dmi_string(h, data[0x04])); ++ pr_attr("Firmware Version", "%s", ++ dmi_string(h, data[0x05])); ++ pr_attr("Firmware ID", "%s", dmi_string(h, data[0x07])); ++ pr_attr("Release Date", "%s", dmi_string(h, data[0x09])); ++ pr_attr("Manufacturer", "%s", dmi_string(h, data[0x0A])); ++ pr_attr("Lowest Supported Firmware Version", "%s", ++ dmi_string(h, data[0x0B])); ++ dmi_memory_size("Image Size", QWORD(data + 0x0C)); ++ pr_list_start("Characteristics", NULL); ++ dmi_firmware_characteristics(WORD(data + 0x14)); ++ pr_list_end(); ++ pr_attr("State", "%s", dmi_firmware_state(data[0x16])); ++ if (h->length < 0x18 + data[0x17] * 2) break; ++ if (!(opt.flags & FLAG_QUIET)) ++ dmi_firmware_components(data[0x17], data + 0x18); ++ break; ++ + case 126: /* 7.44 Inactive */ + pr_handle_name("Inactive"); + break; +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch dmidecode-3.3/debian/patches/lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch --- dmidecode-3.3/debian/patches/lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,38 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: upstream, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=9cb0ca886898ead793700a7e64e0a9328ae602d0 +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Enumerate the new struct types + +Add types 44, 45 and 46 to dmi_smbios_structure_type(). + +Signed-off-by: Jean Delvare +--- + dmidecode.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/dmidecode.c b/dmidecode.c +index fc420efc6aba..d290117e54a5 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -203,12 +203,15 @@ static const char *dmi_smbios_structure_type(u8 code) + "Additional Information", + "Onboard Device", + "Management Controller Host Interface", +- "TPM Device", /* 43 */ ++ "TPM Device", ++ "Processor", ++ "Firmware", ++ "String Property" /* 46 */ + }; + + if (code >= 128) + return "OEM-specific"; +- if (code <= 43) ++ if (code <= 46) + return type[code]; + return out_of_spec; + } +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch dmidecode-3.3/debian/patches/lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch --- dmidecode-3.3/debian/patches/lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch 1969-12-31 21:00:00.000000000 -0300 +++ dmidecode-3.3/debian/patches/lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch 2022-08-23 20:52:47.000000000 -0300 @@ -0,0 +1,32 @@ +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1986852 +Origin: backport, https://git.savannah.nongnu.org/gitweb/?p=dmidecode.git;a=commit;h=3882a45fb6b7a36ba9463ee53e46a9090ecb8d8c +From: Jean Delvare +Date: Wed, 15 Jun 2022 13:35:25 +0200 +Subject: [PATCH] dmidecode: Set supported version to 3.5.0 + +While we do not support every piece of the specification yet, the +most needed ones are in place now so it seems reasonable to stop +warning users. + +Signed-off-by: Jean Delvare +[mfo: backport: refresh upper context lines.] +--- + dmidecode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dmidecode.c b/dmidecode.c +index d93cd6883a67..9aeff91a71bd 100644 +--- a/dmidecode.c ++++ b/dmidecode.c +@@ -87,7 +87,7 @@ static const char *bad_index = ""; + #define out_of_spec "" + static const char *bad_index = ""; + +-#define SUPPORTED_SMBIOS_VER 0x030300 ++#define SUPPORTED_SMBIOS_VER 0x030500 + + #define FLAG_NO_FILE_OFFSET (1 << 0) + #define FLAG_STOP_AT_EOT (1 << 1) +-- +2.34.1 + diff -Nru dmidecode-3.3/debian/patches/series dmidecode-3.3/debian/patches/series --- dmidecode-3.3/debian/patches/series 2021-05-27 11:44:51.000000000 -0300 +++ dmidecode-3.3/debian/patches/series 2022-08-17 16:07:34.000000000 -0300 @@ -11,3 +11,18 @@ #0130-use_DWORD_for_table_max_size.patch #0135-hide_fixup_msg.patch #0140-Fix_scan_entry_point.patch +lp1986852-0001-Add-new-memory-device-types-from-SMBIOS-spec-3.4.0.patch +lp1986852-0002-Add-new-processor-upgrades-from-SMBIOS-spec-3.4.0.patch +lp1986852-0003-Add-new-slot-characteristics2-from-SMBIOS-spec-3.4.0.patch +lp1986852-0004-dmidecode-Handle-memory-module-extended-speed-fields.patch +lp1986852-0005-dmidecode-Add-new-system-slot-types-from-SMBIOS-spec.patch +lp1986852-0006-Add-new-processor-characteristics-bits-from-SMBIOS-s.patch +lp1986852-0007-Missing-comma-in-the-dmi_slot_type.patch +lp1986852-0008-dmidecode-Support-new-format-of-Processor-ID-from-SM.patch +lp1986852-0009-Support-new-byte-value-of-Processor-Upgrade-field-fr.patch +lp1986852-0010-dmidecode-Make-dmi_slot_bus_width-reusable.patch +lp1986852-0011-dmidecode-Add-missing-bits-from-SMBIOS-3.4.0-specifi.patch +lp1986852-0012-dmidecode-Add-new-fields-and-enumerated-values-from-.patch +lp1986852-0013-dmidecode-Add-support-for-type-45-records-Firmware-I.patch +lp1986852-0014-dmidecode-Enumerate-the-new-struct-types.patch +lp1986852-0015-dmidecode-Set-supported-version-to-3.5.0.patch