diff --git a/dmidecode-2.12-smbios_fix.patch b/dmidecode-2.12-smbios_fix.patch index ea590ec..f39205d 100644 --- a/dmidecode-2.12-smbios_fix.patch +++ b/dmidecode-2.12-smbios_fix.patch @@ -1,6 +1,20 @@ +diff -up dmidecode-2.12/CHANGELOG.smbios_fix dmidecode-2.12/CHANGELOG +--- dmidecode-2.12/CHANGELOG.smbios_fix 2013-05-09 09:44:35.668592078 +0200 ++++ dmidecode-2.12/CHANGELOG 2013-05-09 09:44:44.742610559 +0200 +@@ -1,3 +1,10 @@ ++2013-04-24 Jean Delvare ++ ++ * dmidecode.c: Strip trailig zeroes from memory voltage values ++ (DMI type 17). ++ * dmidecode.c: Fix support for new processor upgrade types (DMI ++ type 4) and new memory device type (DMI type 17.) ++ + 2013-04-17 Anton Arapov + + Update to support SMBIOS specification version 2.8.0. diff -up dmidecode-2.12/dmidecode.c.smbios_fix dmidecode-2.12/dmidecode.c ---- dmidecode-2.12/dmidecode.c.smbios_fix 2013-05-09 09:09:08.000000000 +0200 -+++ dmidecode-2.12/dmidecode.c 2013-05-09 09:13:17.059517709 +0200 +--- dmidecode-2.12/dmidecode.c.smbios_fix 2013-05-09 09:44:26.404573273 +0200 ++++ dmidecode-2.12/dmidecode.c 2013-05-09 09:44:44.745610565 +0200 @@ -69,7 +69,7 @@ #define out_of_spec "" static const char *bad_index = ""; @@ -10,43 +24,23 @@ diff -up dmidecode-2.12/dmidecode.c.smbios_fix dmidecode-2.12/dmidecode.c /* * Type-independant Stuff -@@ -711,8 +711,12 @@ static const char *dmi_processor_family( - { 0x3C, "Opteron 4100" }, +@@ -712,7 +712,6 @@ static const char *dmi_processor_family( { 0x3D, "Opteron 6200" }, { 0x3E, "Opteron 4200" }, -+<<<<<<< dmidecode.c { 0x3F, "FX" }, - -+======= -+ { 0x3F, "FX" }, -+>>>>>>> 1.176 +- { 0x40, "MIPS" }, { 0x41, "MIPS R4000" }, { 0x42, "MIPS R4200" }, -@@ -723,6 +727,7 @@ static const char *dmi_processor_family( - { 0x47, "E-Series" }, - { 0x48, "A-Series" }, - { 0x49, "G-Series" }, -+<<<<<<< dmidecode.c - { 0x4A, "Z-Series" }, - { 0x4B, "R-Series" }, - { 0x4C, "Opteron 4300" }, -@@ -730,6 +735,14 @@ static const char *dmi_processor_family( +@@ -729,7 +728,6 @@ static const char *dmi_processor_family( + { 0x4D, "Opteron 6300" }, { 0x4E, "Opteron 3300" }, { 0x4F, "FirePro" }, - -+======= -+ { 0x4A, "Z-Series" }, -+ { 0x4B, "R-Series" }, -+ { 0x4C, "Opteron 4300" }, -+ { 0x4D, "Opteron 6300" }, -+ { 0x4E, "Opteron 3300" }, -+ { 0x4F, "FirePro" }, -+>>>>>>> 1.176 +- { 0x50, "SPARC" }, { 0x51, "SuperSPARC" }, { 0x52, "MicroSPARC II" }, -@@ -1176,7 +1189,7 @@ static const char *dmi_processor_upgrade +@@ -1176,7 +1174,7 @@ static const char *dmi_processor_upgrade "Socket LGA1356-3" /* 0x2C */ }; @@ -55,32 +49,16 @@ diff -up dmidecode-2.12/dmidecode.c.smbios_fix dmidecode-2.12/dmidecode.c return upgrade[code - 0x01]; return out_of_spec; } -@@ -2231,6 +2244,7 @@ static void dmi_memory_device_extended_s - printf(" %lu TB", (unsigned long)code >> 20); - } - -+<<<<<<< dmidecode.c - static void dmi_memory_voltage_value(u16 code) - { +@@ -2236,7 +2234,7 @@ static void dmi_memory_voltage_value(u16 if (code == 0) -@@ -2239,6 +2253,16 @@ static void dmi_memory_voltage_value(u16 - printf(" %.3f V", (float)(i16)code / 1000); + printf(" Unknown"); + else +- printf(" %.3f V", (float)(i16)code / 1000); ++ printf(code % 100 ? " %g V" : " %.1f V", (float)code / 1000); } -+======= -+static void dmi_memory_voltage_value(u16 code) -+{ -+ if (code == 0) -+ printf(" Unknown"); -+ else -+ printf(code % 100 ? " %g V" : " %.1f V", (float)code / 1000); -+} -+ -+>>>>>>> 1.176 static const char *dmi_memory_device_form_factor(u8 code) - { - /* 7.18.1 */ -@@ -2338,7 +2362,7 @@ static void dmi_memory_device_type_detai +@@ -2338,7 +2336,7 @@ static void dmi_memory_device_type_detai { int i; @@ -89,31 +67,20 @@ diff -up dmidecode-2.12/dmidecode.c.smbios_fix dmidecode-2.12/dmidecode.c if (code & (1 << i)) printf(" %s", detail[i - 1]); } -@@ -3656,6 +3680,7 @@ static void dmi_decode(const struct dmi_ - printf("\tConfigured Clock Speed:"); +@@ -3657,13 +3655,13 @@ static void dmi_decode(const struct dmi_ dmi_memory_device_speed(WORD(data + 0x20)); printf("\n"); -+<<<<<<< dmidecode.c if (h->length < 0x28) break; - printf("\tMinimum voltage: "); +- printf("\tMinimum voltage: "); ++ printf("\tMinimum Voltage: "); dmi_memory_voltage_value(WORD(data + 0x22)); -@@ -3666,6 +3691,18 @@ static void dmi_decode(const struct dmi_ - printf("\tConfigured voltage: "); - dmi_memory_voltage_value(WORD(data + 0x26)); printf("\n"); -+======= -+ if (h->length < 0x28) break; -+ printf("\tMinimum Voltage: "); -+ dmi_memory_voltage_value(WORD(data + 0x22)); -+ printf("\n"); +- printf("\tMaximum voltage: "); + printf("\tMaximum Voltage: "); -+ dmi_memory_voltage_value(WORD(data + 0x24)); -+ printf("\n"); + dmi_memory_voltage_value(WORD(data + 0x24)); + printf("\n"); +- printf("\tConfigured voltage: "); + printf("\tConfigured Voltage: "); -+ dmi_memory_voltage_value(WORD(data + 0x26)); -+ printf("\n"); -+>>>>>>> 1.176 + dmi_memory_voltage_value(WORD(data + 0x26)); + printf("\n"); break; - - case 18: /* 7.19 32-bit Memory Error Information */ -diff -up dmidecode-2.12/README.smbios_fix dmidecode-2.12/README