Jarod Wilson 3aad21
dmidecode: additions from smbios 2.6.1 spec update
Jarod Wilson 3aad21
Jarod Wilson 3aad21
Tested on an HP DL360G6 with LGA1366 socket cpus, PCI-E Gen 2 slots
Jarod Wilson 3aad21
and DDR3 memory, no longer returns any <OUT OF SPEC> info.
Jarod Wilson 3aad21
Jarod Wilson 3aad21
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Jarod Wilson 3aad21
Jarod Wilson 3aad21
---
Jarod Wilson 3aad21
 dmidecode.c |   49 ++++++++++++++++++++++++++++++++++++++++++-------
Jarod Wilson 3aad21
 1 file changed, 42 insertions(+), 7 deletions(-)
Jarod Wilson 3aad21
Jarod Wilson 3aad21
diff -Naurp dmidecode-2.10.orig/dmidecode.c dmidecode-2.10/dmidecode.c
Jarod Wilson 3aad21
--- dmidecode-2.10.orig/dmidecode.c	2009-08-27 09:20:45.933991764 -0400
Jarod Wilson 3aad21
+++ dmidecode-2.10/dmidecode.c	2009-08-27 09:21:15.516869134 -0400
Jarod Wilson 68313a
@@ -361,7 +361,7 @@ static void dmi_system_uuid(const u8 *p,
Jarod Wilson 68313a
 
Jarod Wilson 68313a
 static const char *dmi_system_wake_up_type(u8 code)
Jarod Wilson 68313a
 {
Jarod Wilson 68313a
-	/* 3.3.2.1 */
Jarod Wilson 68313a
+	/* 3.3.2.2 */
Jarod Wilson 68313a
 	static const char *type[] = {
Jarod Wilson 68313a
 		"Reserved", /* 0x00 */
Jarod Wilson 68313a
 		"Other",
Jarod Wilson 68313a
@@ -719,6 +719,12 @@ static const char *dmi_processor_family(
Jarod Wilson 68313a
 		{ 0xA9, "Quad-Core Xeon 5400" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 		{ 0xAA, "Quad-Core Xeon" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 
Jarod Wilson 68313a
+		{ 0xAB, "Dual-Core Xeon 5200" },
Jarod Wilson 68313a
+		{ 0xAC, "Dual-Core Xeon 7200" },
Jarod Wilson 68313a
+		{ 0xAD, "Quad-Core Xeon 7300" },
Jarod Wilson 68313a
+		{ 0xAE, "Quad-Core Xeon 7400" },
Jarod Wilson 68313a
+		{ 0xAF, "Multi-Core Xeon 7400" },
Jarod Wilson 68313a
+
Jarod Wilson 68313a
 		{ 0xB0, "Pentium III Xeon" },
Jarod Wilson 68313a
 		{ 0xB1, "Pentium III Speedstep" },
Jarod Wilson 68313a
 		{ 0xB2, "Pentium 4" },
Jarod Wilson 68313a
@@ -741,6 +747,8 @@ static const char *dmi_processor_family(
Jarod Wilson 68313a
 		{ 0xC3, "Core 2 Extreme Mobile" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 		{ 0xC4, "Core 2 Duo Mobile" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 		{ 0xC5, "Core 2 Solo Mobile" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
+		{ 0xC6, "Core i7" },
Jarod Wilson 68313a
+		{ 0xC7, "Dual-Core Celeron" },
Jarod Wilson 68313a
 
Jarod Wilson 68313a
 		{ 0xC8, "IBM390" },
Jarod Wilson 68313a
 		{ 0xC9, "G4" },
Jarod Wilson 68313a
@@ -753,6 +761,17 @@ static const char *dmi_processor_family(
Jarod Wilson 68313a
 		{ 0xD4, "C7" },
Jarod Wilson 68313a
 		{ 0xD5, "Eden" },
Jarod Wilson 68313a
 
Jarod Wilson 68313a
+		{ 0xD6, "Multi-Core Xeon" },
Jarod Wilson 68313a
+		{ 0xD7, "Dual-Core Xeon 3xxx" },
Jarod Wilson 68313a
+		{ 0xD8, "Quad-Core Xeon 3xxx" },
Jarod Wilson 68313a
+
Jarod Wilson 68313a
+		{ 0xDA, "Dual-Core Xeon 5xxx" },
Jarod Wilson 68313a
+		{ 0xDB, "Quad-Core Xeon 5xxx" },
Jarod Wilson 68313a
+
Jarod Wilson 68313a
+		{ 0xDD, "Dual-Core Xeon 7xxx" },
Jarod Wilson 68313a
+		{ 0xDD, "Quad-Core Xeon 7xxx" },
Jarod Wilson 68313a
+		{ 0xDD, "Multi-Core Xeon 7xxx" },
Jarod Wilson 68313a
+
Jarod Wilson 68313a
 		{ 0xE6, "Embedded Opteron Quad-Core" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 		{ 0xE7, "Phenom Triple-Core" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
 		{ 0xE8, "Turion Ultra Dual-Core Mobile" }, /* From CIM_Processor.Family */
Jarod Wilson 68313a
@@ -1383,10 +1402,15 @@ static const char *dmi_cache_associativi
Jarod Wilson 68313a
 		"4-way Set-associative",
Jarod Wilson 68313a
 		"Fully Associative",
Jarod Wilson 68313a
 		"8-way Set-associative",
Jarod Wilson 68313a
-		"16-way Set-associative" /* 0x08 */
Jarod Wilson 3aad21
+		"16-way Set-associative",
Jarod Wilson 3aad21
+		"12-way Set-associative",
Jarod Wilson 3aad21
+		"24-way Set-associative",
Jarod Wilson 3aad21
+		"32-way Set-associative",
Jarod Wilson 3aad21
+		"48-way Set-associative",
Jarod Wilson 68313a
+		"64-way Set-associative" /* 0x0D */
Jarod Wilson 68313a
 	};
Jarod Wilson 68313a
 
Jarod Wilson 68313a
-	if (code >= 0x01 && code <= 0x08)
Jarod Wilson 68313a
+	if (code >= 0x01 && code <= 0x0D)
Jarod Wilson 68313a
 		return type[code - 0x01];
Jarod Wilson 68313a
 	return out_of_spec;
Jarod Wilson 68313a
 }
Jarod Wilson 3aad21
@@ -1544,12 +1568,18 @@ static const char *dmi_slot_type(u8 code
Jarod Wilson 3aad21
 		"PCI Express x2",
Jarod Wilson 3aad21
 		"PCI Express x4",
Jarod Wilson 3aad21
 		"PCI Express x8",
Jarod Wilson 3aad21
-		"PCI Express x16" /* 0xAA */
Jarod Wilson 3aad21
+		"PCI Express x16", /* 0xAA */
Jarod Wilson 3aad21
+		"PCI Express Gen 2",
Jarod Wilson 3aad21
+		"PCI Express Gen 2 x1",
Jarod Wilson 3aad21
+		"PCI Express Gen 2 x2",
Jarod Wilson 3aad21
+		"PCI Express Gen 2 x4",
Jarod Wilson 3aad21
+		"PCI Express Gen 2 x8",
Jarod Wilson 3aad21
+		"PCI Express Gen 2 x16", /* 0xB0 */
Jarod Wilson 3aad21
 	};
Jarod Wilson 3aad21
 
Jarod Wilson 3aad21
 	if (code >= 0x01 && code <= 0x13)
Jarod Wilson 3aad21
 		return type[code - 0x01];
Jarod Wilson 3aad21
-	if (code >= 0xA0 && code <= 0xAA)
Jarod Wilson 3aad21
+	if (code >= 0xA0 && code <= 0xB0)
Jarod Wilson 3aad21
 		return type_0xA0[code - 0xA0];
Jarod Wilson 3aad21
 	return out_of_spec;
Jarod Wilson 3aad21
 }
Jarod Wilson 3aad21
@@ -2120,10 +2150,15 @@ static const char *dmi_memory_device_typ
Jarod Wilson 68313a
 		"RDRAM",
Jarod Wilson 68313a
 		"DDR",
Jarod Wilson 68313a
 		"DDR2",
Jarod Wilson 68313a
-		"DDR2 FB-DIMM" /* 0x14 */
Jarod Wilson 68313a
+		"DDR2 FB-DIMM",
Jarod Wilson 68313a
+		"Reserved",
Jarod Wilson 68313a
+		"Reserved",
Jarod Wilson 68313a
+		"Reserved",
Jarod Wilson 68313a
+		"DDR3",
Jarod Wilson 68313a
+		"FBD2", /* 0x19 */
Jarod Wilson 68313a
 	};
Jarod Wilson 68313a
 
Jarod Wilson 68313a
-	if (code >= 0x01 && code <= 0x14)
Jarod Wilson 68313a
+	if (code >= 0x01 && code <= 0x19)
Jarod Wilson 68313a
 		return type[code - 0x01];
Jarod Wilson 68313a
 	return out_of_spec;
Jarod Wilson 68313a
 }