Anton Arapov 88d35e
diff -up dmidecode-2.12/dmidecode.c.smbios_fix dmidecode-2.12/dmidecode.c
Anton Arapov 1769db
--- dmidecode-2.12/dmidecode.c.smbios_fix	2013-05-09 09:09:08.000000000 +0200
Anton Arapov 1769db
+++ dmidecode-2.12/dmidecode.c	2013-05-09 09:13:17.059517709 +0200
Anton Arapov 1769db
@@ -69,7 +69,7 @@
Anton Arapov 1769db
 #define out_of_spec "<OUT OF SPEC>"
Anton Arapov 1769db
 static const char *bad_index = "<BAD INDEX>";
Anton Arapov 1769db
 
Anton Arapov 1769db
-#define SUPPORTED_SMBIOS_VER 0x0207
Anton Arapov 1769db
+#define SUPPORTED_SMBIOS_VER 0x0208
Anton Arapov 1769db
 
Anton Arapov 1769db
 /*
Anton Arapov 1769db
  * Type-independant Stuff
Anton Arapov 1769db
@@ -711,8 +711,12 @@ static const char *dmi_processor_family(
Anton Arapov 1769db
 		{ 0x3C, "Opteron 4100" },
Anton Arapov 88d35e
 		{ 0x3D, "Opteron 6200" },
Anton Arapov 88d35e
 		{ 0x3E, "Opteron 4200" },
Anton Arapov 1769db
+<<<<<<< dmidecode.c
Anton Arapov 88d35e
 		{ 0x3F, "FX" },
Anton Arapov 1769db
 
Anton Arapov 1769db
+=======
Anton Arapov 1769db
+		{ 0x3F, "FX" },
Anton Arapov 1769db
+>>>>>>> 1.176
Anton Arapov 88d35e
 		{ 0x40, "MIPS" },
Anton Arapov 88d35e
 		{ 0x41, "MIPS R4000" },
Anton Arapov 88d35e
 		{ 0x42, "MIPS R4200" },
Anton Arapov 1769db
@@ -723,6 +727,7 @@ static const char *dmi_processor_family(
Anton Arapov 1769db
 		{ 0x47, "E-Series" },
Anton Arapov 1769db
 		{ 0x48, "A-Series" },
Anton Arapov 1769db
 		{ 0x49, "G-Series" },
Anton Arapov 1769db
+<<<<<<< dmidecode.c
Anton Arapov 1769db
 		{ 0x4A, "Z-Series" },
Anton Arapov 1769db
 		{ 0x4B, "R-Series" },
Anton Arapov 1769db
 		{ 0x4C, "Opteron 4300" },
Anton Arapov 1769db
@@ -730,6 +735,14 @@ static const char *dmi_processor_family(
Anton Arapov 88d35e
 		{ 0x4E, "Opteron 3300" },
Anton Arapov 88d35e
 		{ 0x4F, "FirePro" },
Anton Arapov 1769db
 
Anton Arapov 1769db
+=======
Anton Arapov 1769db
+		{ 0x4A, "Z-Series" },
Anton Arapov 1769db
+		{ 0x4B, "R-Series" },
Anton Arapov 1769db
+		{ 0x4C, "Opteron 4300" },
Anton Arapov 1769db
+		{ 0x4D, "Opteron 6300" },
Anton Arapov 1769db
+		{ 0x4E, "Opteron 3300" },
Anton Arapov 1769db
+		{ 0x4F, "FirePro" },
Anton Arapov 1769db
+>>>>>>> 1.176
Anton Arapov 88d35e
 		{ 0x50, "SPARC" },
Anton Arapov 88d35e
 		{ 0x51, "SuperSPARC" },
Anton Arapov 88d35e
 		{ 0x52, "MicroSPARC II" },
Anton Arapov 1769db
@@ -1176,7 +1189,7 @@ static const char *dmi_processor_upgrade
Anton Arapov 88d35e
 		"Socket LGA1356-3" /* 0x2C */
Anton Arapov 88d35e
 	};
Anton Arapov 88d35e
 
Anton Arapov 88d35e
-	if (code >= 0x01 && code <= 0x2A)
Anton Arapov 88d35e
+	if (code >= 0x01 && code <= 0x2C)
Anton Arapov 88d35e
 		return upgrade[code - 0x01];
Anton Arapov 88d35e
 	return out_of_spec;
Anton Arapov 88d35e
 }
Anton Arapov 1769db
@@ -2231,6 +2244,7 @@ static void dmi_memory_device_extended_s
Anton Arapov 1769db
 		printf(" %lu TB", (unsigned long)code >> 20);
Anton Arapov 1769db
 }
Anton Arapov 1769db
 
Anton Arapov 1769db
+<<<<<<< dmidecode.c
Anton Arapov 1769db
 static void dmi_memory_voltage_value(u16 code)
Anton Arapov 1769db
 {
Anton Arapov 1769db
 	if (code == 0)
Anton Arapov 1769db
@@ -2239,6 +2253,16 @@ static void dmi_memory_voltage_value(u16
Anton Arapov 1769db
 		printf(" %.3f V", (float)(i16)code / 1000);
Anton Arapov 1769db
 }
Anton Arapov 1769db
 
Anton Arapov 1769db
+=======
Anton Arapov 1769db
+static void dmi_memory_voltage_value(u16 code)
Anton Arapov 1769db
+{
Anton Arapov 1769db
+	if (code == 0)
Anton Arapov 1769db
+		printf(" Unknown");
Anton Arapov 1769db
+	else
Anton Arapov 1769db
+		printf(code % 100 ? " %g V" : " %.1f V", (float)code / 1000);
Anton Arapov 1769db
+}
Anton Arapov 1769db
+
Anton Arapov 1769db
+>>>>>>> 1.176
Anton Arapov 1769db
 static const char *dmi_memory_device_form_factor(u8 code)
Anton Arapov 1769db
 {
Anton Arapov 1769db
 	/* 7.18.1 */
Anton Arapov 1769db
@@ -2338,7 +2362,7 @@ static void dmi_memory_device_type_detai
Anton Arapov 88d35e
 	{
Anton Arapov 88d35e
 		int i;
Anton Arapov 88d35e
 
Anton Arapov 88d35e
-		for (i = 1; i <= 14; i++)
Anton Arapov 88d35e
+		for (i = 1; i <= 15; i++)
Anton Arapov 88d35e
 			if (code & (1 << i))
Anton Arapov 88d35e
 				printf(" %s", detail[i - 1]);
Anton Arapov 88d35e
 	}
Anton Arapov 1769db
@@ -3656,6 +3680,7 @@ static void dmi_decode(const struct dmi_
Anton Arapov 1769db
 			printf("\tConfigured Clock Speed:");
Anton Arapov 1769db
 			dmi_memory_device_speed(WORD(data + 0x20));
Anton Arapov 1769db
 			printf("\n");
Anton Arapov 1769db
+<<<<<<< dmidecode.c
Anton Arapov 1769db
 			if (h->length < 0x28) break;
Anton Arapov 1769db
 			printf("\tMinimum voltage: ");
Anton Arapov 1769db
 			dmi_memory_voltage_value(WORD(data + 0x22));
Anton Arapov 1769db
@@ -3666,6 +3691,18 @@ static void dmi_decode(const struct dmi_
Anton Arapov 1769db
 			printf("\tConfigured voltage: ");
Anton Arapov 1769db
 			dmi_memory_voltage_value(WORD(data + 0x26));
Anton Arapov 1769db
 			printf("\n");
Anton Arapov 1769db
+=======
Anton Arapov 1769db
+			if (h->length < 0x28) break;
Anton Arapov 1769db
+			printf("\tMinimum Voltage: ");
Anton Arapov 1769db
+			dmi_memory_voltage_value(WORD(data + 0x22));
Anton Arapov 1769db
+			printf("\n");
Anton Arapov 1769db
+			printf("\tMaximum Voltage: ");
Anton Arapov 1769db
+			dmi_memory_voltage_value(WORD(data + 0x24));
Anton Arapov 1769db
+			printf("\n");
Anton Arapov 1769db
+			printf("\tConfigured Voltage: ");
Anton Arapov 1769db
+			dmi_memory_voltage_value(WORD(data + 0x26));
Anton Arapov 1769db
+			printf("\n");
Anton Arapov 1769db
+>>>>>>> 1.176
Anton Arapov 1769db
 			break;
Anton Arapov 1769db
 
Anton Arapov 1769db
 		case 18: /* 7.19 32-bit Memory Error Information */
Anton Arapov 1769db
diff -up dmidecode-2.12/README.smbios_fix dmidecode-2.12/README