Blame 0017-dmidecode-Add-enumerated-values-from-SMBIOS-3.3.0.patch

Anton Arapov 48d35d
From 3fa833fd78ff5eb74f9459e061e26e063ed648d5 Mon Sep 17 00:00:00 2001
Anton Arapov 48d35d
From: Jean Delvare <jdelvare@suse.de>
Anton Arapov 48d35d
Date: Wed, 23 Oct 2019 12:44:13 +0200
Anton Arapov 48d35d
Subject: [PATCH 17/18] dmidecode: Add enumerated values from SMBIOS 3.3.0
Anton Arapov 48d35d
Anton Arapov 48d35d
Add all the enumerated values from the SMBIOS 3.3.0 specification
Anton Arapov 48d35d
update that was released last month.
Anton Arapov 48d35d
Anton Arapov 48d35d
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Anton Arapov 48d35d
Reviewed-by: Jerry Hoemann <jerry.hoemann@hpe.com>
Anton Arapov 48d35d
---
Anton Arapov 48d35d
 dmidecode.c | 44 +++++++++++++++++++++++++++++++++++---------
Anton Arapov 48d35d
 1 file changed, 35 insertions(+), 9 deletions(-)
Anton Arapov 48d35d
Anton Arapov 48d35d
diff --git a/dmidecode.c b/dmidecode.c
Anton Arapov 48d35d
index bdf1185..8e53535 100644
Anton Arapov 48d35d
--- a/dmidecode.c
Anton Arapov 48d35d
+++ b/dmidecode.c
Anton Arapov 48d35d
@@ -936,6 +936,10 @@ static const char *dmi_processor_family(const struct dmi_header *h, u16 ver)
Anton Arapov 48d35d
 		{ 0x140, "WinChip" },
Anton Arapov 48d35d
 		{ 0x15E, "DSP" },
Anton Arapov 48d35d
 		{ 0x1F4, "Video Processor" },
Anton Arapov 48d35d
+
Anton Arapov 48d35d
+		{ 0x200, "RV32" },
Anton Arapov 48d35d
+		{ 0x201, "RV64" },
Anton Arapov 48d35d
+		{ 0x202, "RV128" },
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 	/*
Anton Arapov 48d35d
 	 * Note to developers: when adding entries to this list, check if
Anton Arapov 48d35d
@@ -1821,6 +1825,9 @@ static const char *dmi_slot_type(u8 code)
Anton Arapov 48d35d
 		"PCI Express Mini 52-pin without bottom-side keep-outs",
Anton Arapov 48d35d
 		"PCI Express Mini 76-pin" /* 0x23 */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
+	static const char *type_0x30[] = {
Anton Arapov 48d35d
+		"CXL FLexbus 1.0" /* 0x30 */
Anton Arapov 48d35d
+	};
Anton Arapov 48d35d
 	static const char *type_0xA0[] = {
Anton Arapov 48d35d
 		"PC-98/C20", /* 0xA0 */
Anton Arapov 48d35d
 		"PC-98/C24",
Anton Arapov 48d35d
@@ -1844,7 +1851,14 @@ static const char *dmi_slot_type(u8 code)
Anton Arapov 48d35d
 		"PCI Express 3 x2",
Anton Arapov 48d35d
 		"PCI Express 3 x4",
Anton Arapov 48d35d
 		"PCI Express 3 x8",
Anton Arapov 48d35d
-		"PCI Express 3 x16" /* 0xB6 */
Anton Arapov 48d35d
+		"PCI Express 3 x16",
Anton Arapov 48d35d
+		out_of_spec, /* 0xB7 */
Anton Arapov 48d35d
+		"PCI Express 4",
Anton Arapov 48d35d
+		"PCI Express 4 x1",
Anton Arapov 48d35d
+		"PCI Express 4 x2",
Anton Arapov 48d35d
+		"PCI Express 4 x4",
Anton Arapov 48d35d
+		"PCI Express 4 x8",
Anton Arapov 48d35d
+		"PCI Express 4 x16" /* 0xBD */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 	/*
Anton Arapov 48d35d
 	 * Note to developers: when adding entries to these lists, check if
Anton Arapov 48d35d
@@ -1853,7 +1867,9 @@ static const char *dmi_slot_type(u8 code)
Anton Arapov 48d35d
 
Anton Arapov 48d35d
 	if (code >= 0x01 && code <= 0x23)
Anton Arapov 48d35d
 		return type[code - 0x01];
Anton Arapov 48d35d
-	if (code >= 0xA0 && code <= 0xB6)
Anton Arapov 48d35d
+	if (code == 0x30)
Anton Arapov 48d35d
+		return type_0x30[code - 0x30];
Anton Arapov 48d35d
+	if (code >= 0xA0 && code <= 0xBD)
Anton Arapov 48d35d
 		return type_0xA0[code - 0xA0];
Anton Arapov 48d35d
 	return out_of_spec;
Anton Arapov 48d35d
 }
Anton Arapov 48d35d
@@ -1957,6 +1973,12 @@ static void dmi_slot_id(u8 code1, u8 code2, u8 type, const char *prefix)
Anton Arapov 48d35d
 		case 0xB4: /* PCI Express 3 */
Anton Arapov 48d35d
 		case 0xB5: /* PCI Express 3 */
Anton Arapov 48d35d
 		case 0xB6: /* PCI Express 3 */
Anton Arapov 48d35d
+		case 0xB8: /* PCI Express 4 */
Anton Arapov 48d35d
+		case 0xB9: /* PCI Express 4 */
Anton Arapov 48d35d
+		case 0xBA: /* PCI Express 4 */
Anton Arapov 48d35d
+		case 0xBB: /* PCI Express 4 */
Anton Arapov 48d35d
+		case 0xBC: /* PCI Express 4 */
Anton Arapov 48d35d
+		case 0xBD: /* PCI Express 4 */
Anton Arapov 48d35d
 			printf("%sID: %u\n", prefix, code1);
Anton Arapov 48d35d
 			break;
Anton Arapov 48d35d
 		case 0x07: /* PCMCIA */
Anton Arapov 48d35d
@@ -2298,12 +2320,13 @@ static const char *dmi_memory_array_location(u8 code)
Anton Arapov 48d35d
 		"PC-98/C20 Add-on Card", /* 0xA0 */
Anton Arapov 48d35d
 		"PC-98/C24 Add-on Card",
Anton Arapov 48d35d
 		"PC-98/E Add-on Card",
Anton Arapov 48d35d
-		"PC-98/Local Bus Add-on Card" /* 0xA3 */
Anton Arapov 48d35d
+		"PC-98/Local Bus Add-on Card",
Anton Arapov 48d35d
+		"CXL Flexbus 1.0" /* 0xA4 */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 
Anton Arapov 48d35d
 	if (code >= 0x01 && code <= 0x0A)
Anton Arapov 48d35d
 		return location[code - 0x01];
Anton Arapov 48d35d
-	if (code >= 0xA0 && code <= 0xA3)
Anton Arapov 48d35d
+	if (code >= 0xA0 && code <= 0xA4)
Anton Arapov 48d35d
 		return location_0xA0[code - 0xA0];
Anton Arapov 48d35d
 	return out_of_spec;
Anton Arapov 48d35d
 }
Anton Arapov 48d35d
@@ -2426,10 +2449,11 @@ static const char *dmi_memory_device_form_factor(u8 code)
Anton Arapov 48d35d
 		"RIMM",
Anton Arapov 48d35d
 		"SODIMM",
Anton Arapov 48d35d
 		"SRIMM",
Anton Arapov 48d35d
-		"FB-DIMM" /* 0x0F */
Anton Arapov 48d35d
+		"FB-DIMM",
Anton Arapov 48d35d
+		"Die" /* 0x10 */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 
Anton Arapov 48d35d
-	if (code >= 0x01 && code <= 0x0F)
Anton Arapov 48d35d
+	if (code >= 0x01 && code <= 0x10)
Anton Arapov 48d35d
 		return form_factor[code - 0x01];
Anton Arapov 48d35d
 	return out_of_spec;
Anton Arapov 48d35d
 }
Anton Arapov 48d35d
@@ -2478,10 +2502,12 @@ static const char *dmi_memory_device_type(u8 code)
Anton Arapov 48d35d
 		"LPDDR2",
Anton Arapov 48d35d
 		"LPDDR3",
Anton Arapov 48d35d
 		"LPDDR4",
Anton Arapov 48d35d
-		"Logical non-volatile device" /* 0x1F */
Anton Arapov 48d35d
+		"Logical non-volatile device",
Anton Arapov 48d35d
+		"HBM",
Anton Arapov 48d35d
+		"HBM2" /* 0x21 */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 
Anton Arapov 48d35d
-	if (code >= 0x01 && code <= 0x1F)
Anton Arapov 48d35d
+	if (code >= 0x01 && code <= 0x21)
Anton Arapov 48d35d
 		return type[code - 0x01];
Anton Arapov 48d35d
 	return out_of_spec;
Anton Arapov 48d35d
 }
Anton Arapov 48d35d
@@ -2537,7 +2563,7 @@ static void dmi_memory_technology(u8 code)
Anton Arapov 48d35d
 		"NVDIMM-N",
Anton Arapov 48d35d
 		"NVDIMM-F",
Anton Arapov 48d35d
 		"NVDIMM-P",
Anton Arapov 48d35d
-		"Intel persistent memory" /* 0x07 */
Anton Arapov 48d35d
+		"Intel Optane DC persistent memory" /* 0x07 */
Anton Arapov 48d35d
 	};
Anton Arapov 48d35d
 	if (code >= 0x01 && code <= 0x07)
Anton Arapov 48d35d
 		printf(" %s", technology[code - 0x01]);
Anton Arapov 48d35d
-- 
Anton Arapov 48d35d
2.24.0
Anton Arapov 48d35d