File dmidecode-add-system-slot-types-from-smbios-3.4.0.patch of Package dmidecode.28623

From: Jean Delvare <jdelvare@suse.de>
Date: Wed, 21 Oct 2020 15:24:40 +0200
Subject: dmidecode: Add new system slot types from SMBIOS spec 3.4.0
Git-commit: c54348130a2a2e267bb0435d61b21760aec9dfa9
Patch-mainline: yes
References: bsc#1174257

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 <jdelvare@suse.de>
---
 dmidecode.c |   26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

--- a/dmidecode.c
+++ b/dmidecode.c
@@ -1815,11 +1815,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 */
@@ -1854,18 +1859,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;
 }
openSUSE Build Service is sponsored by