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