Accepting request 731696 from Base:System

OBS-URL: https://build.opensuse.org/request/show/731696
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mcelog?expand=0&rev=50
This commit is contained in:
Dominique Leuenberger 2019-09-24 23:20:14 +00:00 committed by Git OBS Bridge
commit 3f983fa8c1
12 changed files with 91 additions and 107 deletions

View File

@ -16,11 +16,9 @@ Signed-off-by: Borislav Petkov <bp@suse.de>
rename k8.c => amd.c (97%) rename k8.c => amd.c (97%)
rename k8.h => amd.h (79%) rename k8.h => amd.h (79%)
Index: mcelog-1.60/Makefile --- mcelog-1.64+git20190805.e53631f.orig/Makefile 2019-09-06 14:06:56.229228424 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/Makefile 2019-09-06 14:09:39.241237130 +0200
--- mcelog-1.60.orig/Makefile 2018-09-24 15:14:09.591339926 +0200 @@ -30,7 +30,7 @@
+++ mcelog-1.60/Makefile 2018-09-24 15:14:18.771885991 +0200
@@ -30,7 +30,7 @@ all: mcelog
.PHONY: install clean depend FORCE .PHONY: install clean depend FORCE
@ -29,9 +27,7 @@ Index: mcelog-1.60/Makefile
nehalem.o dunnington.o tulsa.o config.o memutil.o msg.o \ nehalem.o dunnington.o tulsa.o config.o memutil.o msg.o \
eventloop.o leaky-bucket.o memdb.o server.o trigger.o \ eventloop.o leaky-bucket.o memdb.o server.o trigger.o \
client.o cache.o sysfs.o yellow.o page.o rbtree.o \ client.o cache.o sysfs.o yellow.o page.o rbtree.o \
Index: mcelog-1.60/k8.c --- mcelog-1.64+git20190805.e53631f.orig/k8.c 2019-09-06 14:06:51.681228181 +0200
===================================================================
--- mcelog-1.60.orig/k8.c 2018-08-09 23:49:49.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,281 +0,0 @@ @@ -1,281 +0,0 @@
-/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and -/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and
@ -315,10 +311,8 @@ Index: mcelog-1.60/k8.c
- } - }
- return 1; - return 1;
-} -}
Index: mcelog-1.60/amd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ mcelog-1.60/amd.c 2018-09-24 15:14:18.771885991 +0200 +++ mcelog-1.64+git20190805.e53631f/amd.c 2019-09-06 14:09:39.241237130 +0200
@@ -0,0 +1,282 @@ @@ -0,0 +1,282 @@
+/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and +/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and
+ * Eric Morton. Hacked and extended for mcelog by AK. + * Eric Morton. Hacked and extended for mcelog by AK.
@ -602,9 +596,7 @@ Index: mcelog-1.60/amd.c
+ } + }
+ return 1; + return 1;
+} +}
Index: mcelog-1.60/k8.h --- mcelog-1.64+git20190805.e53631f.orig/k8.h 2019-09-06 14:06:51.681228181 +0200
===================================================================
--- mcelog-1.60.orig/k8.h 2018-08-09 23:49:49.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,11 +0,0 @@ @@ -1,11 +0,0 @@
-char *k8_bank_name(unsigned num); -char *k8_bank_name(unsigned num);
@ -618,10 +610,8 @@ Index: mcelog-1.60/k8.h
-#define K8_MCELOG_THRESHOLD_LINK (4 * 9 + 1) -#define K8_MCELOG_THRESHOLD_LINK (4 * 9 + 1)
-#define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2) -#define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2)
-#define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3) -#define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3)
Index: mcelog-1.60/amd.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ mcelog-1.60/amd.h 2018-09-24 15:14:18.775886227 +0200 +++ mcelog-1.64+git20190805.e53631f/amd.h 2019-09-06 14:09:39.245237130 +0200
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
+char *k8_bank_name(unsigned num); +char *k8_bank_name(unsigned num);
+void decode_amd_mc(enum cputype, struct mce *mce, int *ismemerr); +void decode_amd_mc(enum cputype, struct mce *mce, int *ismemerr);
@ -637,10 +627,8 @@ Index: mcelog-1.60/amd.h
+ +
+#define CASE_AMD_CPUS \ +#define CASE_AMD_CPUS \
+ case CPU_K8 + case CPU_K8
Index: mcelog-1.60/mcelog.c --- mcelog-1.64+git20190805.e53631f.orig/mcelog.c 2019-09-06 14:06:56.229228424 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/mcelog.c 2019-09-06 14:09:39.245237130 +0200
--- mcelog-1.60.orig/mcelog.c 2018-09-24 15:14:09.599340401 +0200
+++ mcelog-1.60/mcelog.c 2018-09-24 15:14:18.775886227 +0200
@@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@
#include <fnmatch.h> #include <fnmatch.h>
#include "mcelog.h" #include "mcelog.h"
@ -650,7 +638,7 @@ Index: mcelog-1.60/mcelog.c
#include "intel.h" #include "intel.h"
#include "p4.h" #include "p4.h"
#include "dmi.h" #include "dmi.h"
@@ -429,9 +429,9 @@ static void dump_mce(struct mce *m, unsi @@ -430,9 +430,9 @@
time_t t = m->time; time_t t = m->time;
Wprintf("TIME %llu %s", m->time, ctime(&t)); Wprintf("TIME %llu %s", m->time, ctime(&t));
} }

View File

@ -4,9 +4,12 @@
<param name="url">https://github.com/andikleen/mcelog</param> <param name="url">https://github.com/andikleen/mcelog</param>
<param name="subdir"></param> <param name="subdir"></param>
<param name="filename">mcelog</param> <param name="filename">mcelog</param>
<param name="versionformat">1.62</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
<param name="revision">refs/tags/v162</param> <param name="revision">refs/tags/v164</param>
<param name="versionformat">1.64</param>
<!--
<param name="versionformat">1.64+git%cd.%h</param>
-->
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">
<param name="file">mcelog*.tar</param> <param name="file">mcelog*.tar</param>

View File

@ -1,4 +1,4 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">https://github.com/andikleen/mcelog</param> <param name="url">https://github.com/andikleen/mcelog</param>
<param name="changesrevision">0062f7cb3ff0f94709087ac302d502f5e39f6e60</param></service></servicedata> <param name="changesrevision">e53631f84a181be371c08e0b961180bff77fd2ab</param></service></servicedata>

View File

@ -1,11 +1,9 @@
Add AMD-specific defines and helpers Add AMD-specific defines and helpers
Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Borislav Petkov <bp@suse.de>
Index: mcelog/amd.h --- mcelog-1.64+git20190805.e53631f.orig/amd.h 2019-09-06 14:09:39.245237130 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/amd.h 2019-09-06 14:09:40.217237182 +0200
--- mcelog.orig/amd.h 2014-05-08 01:10:26.000000000 +0200 @@ -10,5 +10,65 @@
+++ mcelog/amd.h 2014-05-08 01:18:50.000000000 +0200
@@ -10,5 +10,65 @@ int mce_filter_k8(struct mce *m);
#define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2) #define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2)
#define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3) #define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3)

View File

@ -1,10 +1,8 @@
Add F10h decoding support Add F10h decoding support
Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Borislav Petkov <bp@suse.de>
Index: mcelog-1.60/amd.c --- mcelog-1.64+git20190805.e53631f.orig/amd.c 2019-09-06 14:09:39.241237130 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/amd.c 2019-09-06 14:09:42.485237303 +0200
--- mcelog-1.60.orig/amd.c 2018-09-24 15:14:18.771885991 +0200
+++ mcelog-1.60/amd.c 2018-09-24 15:15:05.902689347 +0200
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
#include "mcelog.h" #include "mcelog.h"
#include "amd.h" #include "amd.h"
@ -14,7 +12,7 @@ Index: mcelog-1.60/amd.c
"data cache", "data cache",
"instruction cache", "instruction cache",
"bus unit", "bus unit",
@@ -22,28 +22,34 @@ static char *k8bank[] = { @@ -22,28 +22,34 @@
"northbridge", "northbridge",
"fixed-issue reoder" "fixed-issue reoder"
}; };
@ -58,7 +56,7 @@ Index: mcelog-1.60/amd.c
static char *nbextendederr[] = { static char *nbextendederr[] = {
"RAM ECC error", "RAM ECC error",
"CRC error", "CRC error",
@@ -65,6 +71,46 @@ static char *nbextendederr[] = { @@ -65,6 +71,46 @@
"L3 Cache Tag Error", "L3 Cache Tag Error",
"L3 Cache LRU Error" "L3 Cache LRU Error"
}; };
@ -105,7 +103,7 @@ Index: mcelog-1.60/amd.c
static char *highbits[32] = { static char *highbits[32] = {
[31] = "valid", [31] = "valid",
[30] = "error overflow (multiple errors)", [30] = "error overflow (multiple errors)",
@@ -100,6 +146,21 @@ static char *k8threshold[] = { @@ -100,6 +146,21 @@
"Unknown threshold counter", "Unknown threshold counter",
}; };
@ -127,7 +125,7 @@ Index: mcelog-1.60/amd.c
static void decode_k8_generic_errcode(u64 status) static void decode_k8_generic_errcode(u64 status)
{ {
@@ -245,21 +306,393 @@ static decoder_t decoders[] = { @@ -245,21 +306,393 @@
[5] = decode_k8_fr_mc, [5] = decode_k8_fr_mc,
}; };
@ -529,7 +527,7 @@ Index: mcelog-1.60/amd.c
if (num < NELE(k8bank)) if (num < NELE(k8bank))
s = k8bank[num]; s = k8bank[num];
else if (num >= K8_MCE_THRESHOLD_BASE && else if (num >= K8_MCE_THRESHOLD_BASE &&
@@ -270,13 +703,16 @@ char *k8_bank_name(unsigned num) @@ -270,13 +703,16 @@
return buf; return buf;
} }
@ -554,10 +552,8 @@ Index: mcelog-1.60/amd.c
+ } + }
+ return 1; + return 1;
} }
Index: mcelog-1.60/amd.h --- mcelog-1.64+git20190805.e53631f.orig/amd.h 2019-09-06 14:09:40.217237182 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/amd.h 2019-09-06 14:09:42.485237303 +0200
--- mcelog-1.60.orig/amd.h 2018-09-24 15:14:55.678081186 +0200
+++ mcelog-1.60/amd.h 2018-09-24 15:15:05.902689347 +0200
@@ -1,6 +1,25 @@ @@ -1,6 +1,25 @@
+#include <stdbool.h> +#include <stdbool.h>
+ +
@ -585,7 +581,7 @@ Index: mcelog-1.60/amd.h
#define K8_MCE_THRESHOLD_BASE (MCE_EXTENDED_BANK + 1) /* MCE_AMD */ #define K8_MCE_THRESHOLD_BASE (MCE_EXTENDED_BANK + 1) /* MCE_AMD */
#define K8_MCE_THRESHOLD_TOP (K8_MCE_THRESHOLD_BASE + 6 * 9) #define K8_MCE_THRESHOLD_TOP (K8_MCE_THRESHOLD_BASE + 6 * 9)
@@ -10,6 +29,8 @@ int mce_filter_k8(struct mce *m); @@ -10,6 +29,8 @@
#define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2) #define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2)
#define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3) #define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3)
@ -594,7 +590,7 @@ Index: mcelog-1.60/amd.h
#define EC(x) ((x) & 0xffff) #define EC(x) ((x) & 0xffff)
#define XEC(x, mask) (((x) >> 16) & mask) #define XEC(x, mask) (((x) >> 16) & mask)
@@ -22,23 +43,20 @@ int mce_filter_k8(struct mce *m); @@ -22,23 +43,20 @@
#define INT_ERROR(x) (((x) & 0xF4FF) == 0x0400) #define INT_ERROR(x) (((x) & 0xF4FF) == 0x0400)
#define TT(x) (((x) >> 2) & 0x3) #define TT(x) (((x) >> 2) & 0x3)
@ -624,7 +620,7 @@ Index: mcelog-1.60/amd.h
enum tt_ids { enum tt_ids {
TT_INSTR = 0, TT_INSTR = 0,
@@ -72,3 +90,7 @@ enum rrrr_ids { @@ -72,3 +90,7 @@
R4_EVICT, R4_EVICT,
R4_SNOOP, R4_SNOOP,
}; };
@ -632,11 +628,9 @@ Index: mcelog-1.60/amd.h
+#define CASE_AMD_CPUS \ +#define CASE_AMD_CPUS \
+ case CPU_K8: \ + case CPU_K8: \
+ case CPU_F10H + case CPU_F10H
Index: mcelog-1.60/mcelog.h --- mcelog-1.64+git20190805.e53631f.orig/mcelog.h 2019-09-06 14:06:56.229228424 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/mcelog.h 2019-09-06 14:09:42.485237303 +0200
--- mcelog-1.60.orig/mcelog.h 2018-09-24 15:14:09.599340401 +0200 @@ -117,6 +117,7 @@
+++ mcelog-1.60/mcelog.h 2018-09-24 15:15:05.902689347 +0200
@@ -117,6 +117,7 @@ enum cputype {
CPU_P6OLD, CPU_P6OLD,
CPU_CORE2, /* 65nm and 45nm */ CPU_CORE2, /* 65nm and 45nm */
CPU_K8, CPU_K8,
@ -644,11 +638,9 @@ Index: mcelog-1.60/mcelog.h
CPU_P4, CPU_P4,
CPU_NEHALEM, CPU_NEHALEM,
CPU_DUNNINGTON, CPU_DUNNINGTON,
Index: mcelog-1.60/mcelog.c --- mcelog-1.64+git20190805.e53631f.orig/mcelog.c 2019-09-06 14:09:39.245237130 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/mcelog.c 2019-09-06 14:09:42.485237303 +0200
--- mcelog-1.60.orig/mcelog.c 2018-09-24 15:14:18.775886227 +0200 @@ -147,19 +147,20 @@
+++ mcelog-1.60/mcelog.c 2018-09-24 15:15:05.906689585 +0200
@@ -147,19 +147,20 @@ static void resolveaddr(unsigned long lo
static int mce_filter(struct mce *m, unsigned recordlen) static int mce_filter(struct mce *m, unsigned recordlen)
{ {
@ -673,7 +665,7 @@ Index: mcelog-1.60/mcelog.c
} }
static void print_tsc(int cpunum, __u64 tsc, unsigned long time) static void print_tsc(int cpunum, __u64 tsc, unsigned long time)
@@ -226,6 +227,7 @@ static char *cputype_name[] = { @@ -226,6 +227,7 @@
[CPU_P6OLD] = "Intel PPro/P2/P3/old Xeon", [CPU_P6OLD] = "Intel PPro/P2/P3/old Xeon",
[CPU_CORE2] = "Intel Core", /* 65nm and 45nm */ [CPU_CORE2] = "Intel Core", /* 65nm and 45nm */
[CPU_K8] = "AMD K8 and derivates", [CPU_K8] = "AMD K8 and derivates",
@ -681,7 +673,7 @@ Index: mcelog-1.60/mcelog.c
[CPU_P4] = "Intel P4", [CPU_P4] = "Intel P4",
[CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")",
[CPU_DUNNINGTON] = "Intel Xeon 7400 series", [CPU_DUNNINGTON] = "Intel Xeon 7400 series",
@@ -255,6 +257,7 @@ static struct config_choice cpu_choices[ @@ -256,6 +258,7 @@
{ "p6old", CPU_P6OLD }, { "p6old", CPU_P6OLD },
{ "core2", CPU_CORE2 }, { "core2", CPU_CORE2 },
{ "k8", CPU_K8 }, { "k8", CPU_K8 },
@ -689,7 +681,7 @@ Index: mcelog-1.60/mcelog.c
{ "p4", CPU_P4 }, { "p4", CPU_P4 },
{ "dunnington", CPU_DUNNINGTON }, { "dunnington", CPU_DUNNINGTON },
{ "xeon74xx", CPU_DUNNINGTON }, { "xeon74xx", CPU_DUNNINGTON },
@@ -366,9 +369,7 @@ static enum cputype setup_cpuid(u32 cpuv @@ -367,9 +370,7 @@
case X86_VENDOR_INTEL: case X86_VENDOR_INTEL:
return select_intel_cputype(family, model); return select_intel_cputype(family, model);
case X86_VENDOR_AMD: case X86_VENDOR_AMD:
@ -700,7 +692,7 @@ Index: mcelog-1.60/mcelog.c
default: default:
Eprintf("Unknown CPU type vendor %u family %u model %u", Eprintf("Unknown CPU type vendor %u family %u model %u",
cpuvendor, family, model); cpuvendor, family, model);
@@ -551,14 +552,9 @@ int is_cpu_supported(void) @@ -552,14 +553,9 @@
} }
if (seen == ALL) { if (seen == ALL) {
@ -711,10 +703,10 @@ Index: mcelog-1.60/mcelog.c
- Eprintf("ERROR: AMD Processor family %d: mcelog does not support this processor. Please use the edac_mce_amd module instead.\n", family); - Eprintf("ERROR: AMD Processor family %d: mcelog does not support this processor. Please use the edac_mce_amd module instead.\n", family);
- return 0; - return 0;
- } - }
- } else if (!strcmp(vendor,"GenuineIntel")) - } else if (!strcmp(vendor,"HygonGenuine")) {
+ if (!strcmp(vendor,"AuthenticAMD")) + if (!strcmp(vendor,"AuthenticAMD"))
+ cputype = select_amd_cputype(family); + cputype = select_amd_cputype(family);
+ else if (!strcmp(vendor,"GenuineIntel")) + else if (!strcmp(vendor,"HygonGenuine")) {
cputype = select_intel_cputype(family, model); Eprintf("ERROR: Hygon Processor family %d: mcelog does not support this processor. Please use the edac_mce_amd module instead.\n", family);
/* Add checks for other CPUs here */ return 0;
} else { } else if (!strcmp(vendor,"GenuineIntel"))

View File

@ -7,16 +7,14 @@
msg.c | 8 ++ msg.c | 8 ++
6 files changed, 343 insertions(+), 2 deletions(-) 6 files changed, 343 insertions(+), 2 deletions(-)
Index: mcelog-1.60/Makefile --- mcelog-1.64+git20190805.e53631f.orig/Makefile 2019-09-06 14:06:51.841228190 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/Makefile 2019-09-06 14:06:56.229228424 +0200
--- mcelog-1.60.orig/Makefile 2018-09-24 15:06:48.757117766 +0200
+++ mcelog-1.60/Makefile 2018-09-24 15:07:38.900100531 +0200
@@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
+CONFIG_EMAIL := 1 +CONFIG_EMAIL := 1
CFLAGS := -g -Os CFLAGS := -g -Os
prefix := /usr prefix := /usr
etcprefix := etcprefix :=
@@ -37,15 +38,23 @@ OBJ := p4.o k8.o mcelog.o dmi.o tsc.o co @@ -37,15 +38,23 @@
broadwell_de.o broadwell_epex.o skylake_xeon.o \ broadwell_de.o broadwell_epex.o skylake_xeon.o \
denverton.o \ denverton.o \
msr.o bus.o unknown.o msr.o bus.o unknown.o
@ -41,7 +39,7 @@ Index: mcelog-1.60/Makefile
# dbquery intentionally not installed by default # dbquery intentionally not installed by default
install: mcelog mcelog.conf mcelog.conf.5 mcelog.triggers.5 install: mcelog mcelog.conf mcelog.conf.5 mcelog.triggers.5
@@ -80,7 +89,7 @@ dbquery: db.o dbquery.o memutil.o @@ -80,7 +89,7 @@
depend: .depend depend: .depend
%.o: %.c %.o: %.c
@ -50,10 +48,8 @@ Index: mcelog-1.60/Makefile
version.tmp: FORCE version.tmp: FORCE
( printf "char version[] = \"" ; \ ( printf "char version[] = \"" ; \
Index: mcelog-1.60/email.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ mcelog-1.60/email.c 2018-09-24 15:07:38.904100771 +0200 +++ mcelog-1.64+git20190805.e53631f/email.c 2019-09-06 14:06:56.229228424 +0200
@@ -0,0 +1,200 @@ @@ -0,0 +1,200 @@
+#include <unistd.h> +#include <unistd.h>
+#include <signal.h> +#include <signal.h>
@ -255,10 +251,8 @@ Index: mcelog-1.60/email.c
+ smtp_destroy_session (session); + smtp_destroy_session (session);
+ return 0; + return 0;
+} +}
Index: mcelog-1.60/email.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ mcelog-1.60/email.h 2018-09-24 15:07:38.904100771 +0200 +++ mcelog-1.64+git20190805.e53631f/email.h 2019-09-06 14:06:56.229228424 +0200
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
+#ifndef _MCELOG_EMAIL_H_ +#ifndef _MCELOG_EMAIL_H_
+#define _MCELOG_EMAIL_H_ +#define _MCELOG_EMAIL_H_
@ -294,10 +288,8 @@ Index: mcelog-1.60/email.h
+#endif +#endif
+ +
+#endif +#endif
Index: mcelog-1.60/mcelog.c --- mcelog-1.64+git20190805.e53631f.orig/mcelog.c 2019-09-06 14:06:51.841228190 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/mcelog.c 2019-09-06 14:06:56.229228424 +0200
--- mcelog-1.60.orig/mcelog.c 2018-09-24 15:06:48.765118243 +0200
+++ mcelog-1.60/mcelog.c 2018-09-24 15:12:49.910600461 +0200
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
#include <assert.h> #include <assert.h>
#include <signal.h> #include <signal.h>
@ -316,7 +308,7 @@ Index: mcelog-1.60/mcelog.c
enum cputype cputype = CPU_GENERIC; enum cputype cputype = CPU_GENERIC;
char *logfn = LOG_DEV_FILENAME; char *logfn = LOG_DEV_FILENAME;
@@ -71,7 +75,7 @@ static double cpumhz; @@ -71,7 +75,7 @@
static int cpumhz_forced; static int cpumhz_forced;
int ascii_mode; int ascii_mode;
int dump_raw_ascii; int dump_raw_ascii;
@ -325,7 +317,7 @@ Index: mcelog-1.60/mcelog.c
static char *inputfile; static char *inputfile;
char *processor_flags; char *processor_flags;
static int foreground; static int foreground;
@@ -990,6 +994,7 @@ void usage(void) @@ -994,6 +998,7 @@
"--is-cpu-supported Exit with return code indicating whether the CPU is supported\n" "--is-cpu-supported Exit with return code indicating whether the CPU is supported\n"
"--help Display this message.\n" "--help Display this message.\n"
); );
@ -333,7 +325,7 @@ Index: mcelog-1.60/mcelog.c
printf("\n"); printf("\n");
print_cputypes(); print_cputypes();
} }
@@ -1059,6 +1064,7 @@ static struct option options[] = { @@ -1063,6 +1068,7 @@
{ "no-imc-log", 0, NULL, O_NO_IMC_LOG }, { "no-imc-log", 0, NULL, O_NO_IMC_LOG },
{ "help", 0, NULL, O_HELP }, { "help", 0, NULL, O_HELP },
{ "is-cpu-supported", 0, NULL, O_IS_CPU_SUPPORTED }, { "is-cpu-supported", 0, NULL, O_IS_CPU_SUPPORTED },
@ -341,7 +333,7 @@ Index: mcelog-1.60/mcelog.c
{} {}
}; };
@@ -1250,11 +1256,86 @@ static void drop_cred(void) @@ -1254,11 +1260,86 @@
} }
} }
@ -428,7 +420,7 @@ Index: mcelog-1.60/mcelog.c
if (recordlen == 0) { if (recordlen == 0) {
Wprintf("no data in mce record\n"); Wprintf("no data in mce record\n");
@@ -1281,12 +1362,16 @@ static void process(int fd, unsigned rec @@ -1285,12 +1366,16 @@
finish = 1; finish = 1;
if (!mce_filter(mce, recordlen)) if (!mce_filter(mce, recordlen))
continue; continue;
@ -445,7 +437,7 @@ Index: mcelog-1.60/mcelog.c
flushlog(); flushlog();
} }
@@ -1400,6 +1485,8 @@ int main(int ac, char **av) @@ -1404,6 +1489,8 @@
noargs(ac, av); noargs(ac, av);
fprintf(stderr, "mcelog %s\n", MCELOG_VERSION); fprintf(stderr, "mcelog %s\n", MCELOG_VERSION);
exit(0); exit(0);
@ -454,7 +446,7 @@ Index: mcelog-1.60/mcelog.c
} else if (opt == 0) } else if (opt == 0)
break; break;
} }
@@ -1434,6 +1521,10 @@ int main(int ac, char **av) @@ -1438,6 +1525,10 @@
usage(); usage();
exit(1); exit(1);
} }
@ -465,11 +457,9 @@ Index: mcelog-1.60/mcelog.c
checkdmi(); checkdmi();
general_setup(); general_setup();
Index: mcelog-1.60/mcelog.h --- mcelog-1.64+git20190805.e53631f.orig/mcelog.h 2019-09-06 14:06:51.841228190 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/mcelog.h 2019-09-06 14:06:56.229228424 +0200
--- mcelog-1.60.orig/mcelog.h 2018-09-24 15:06:48.769118480 +0200 @@ -145,6 +145,7 @@
+++ mcelog-1.60/mcelog.h 2018-09-24 15:07:38.908101010 +0200
@@ -144,6 +144,7 @@ enum cputype {
enum option_ranges { enum option_ranges {
O_COMMON = 500, O_COMMON = 500,
O_DISKDB = 1000, O_DISKDB = 1000,
@ -477,10 +467,8 @@ Index: mcelog-1.60/mcelog.h
}; };
enum syslog_opt { enum syslog_opt {
Index: mcelog-1.60/msg.c --- mcelog-1.64+git20190805.e53631f.orig/msg.c 2019-09-06 14:06:51.841228190 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/msg.c 2019-09-06 14:06:56.229228424 +0200
--- mcelog-1.60.orig/msg.c 2018-09-24 15:06:48.769118480 +0200
+++ mcelog-1.60/msg.c 2018-09-24 15:07:38.908101010 +0200
@@ -8,10 +8,13 @@ @@ -8,10 +8,13 @@
#include "mcelog.h" #include "mcelog.h"
#include "msg.h" #include "msg.h"
@ -495,7 +483,7 @@ Index: mcelog-1.60/msg.c
static char *output_fn; static char *output_fn;
int need_stdout(void) int need_stdout(void)
@@ -135,6 +138,11 @@ int Wprintf(char *fmt, ...) @@ -135,6 +138,11 @@
n = vfprintf(output_fh ? output_fh : stdout, fmt, ap); n = vfprintf(output_fh ? output_fh : stdout, fmt, ap);
va_end(ap); va_end(ap);
} }

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7462b09d1c2e45d09e9729ce1bb3063c9c273041cd4485875c59cb27780a25df
size 278808

3
mcelog-1.64.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a863e3f2d123b0f165ba86cf4641f23678523895424d13cf11bce750b1259c14
size 278832

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Sep 13 16:04:20 UTC 2019 - Jean Delvare <jdelvare@suse.com>
- mcelog.systemd: Preload the dmi-sysfs kernel module.
When /dev/mem can't be read (which is the case when booting in
Secure Mode), mcelog can use the dmi-sysfs interface instead,
however for that the kernel module needs to be loaded first
(bsc#1149186).
-------------------------------------------------------------------
Fri Sep 06 11:25:34 UTC 2019 - MMuschner@suse.com
- Update to version 1.64:
* mcelog: Add Icelake client model numbers.
* add Hygon Dhyana support to not use mcelog, as Hygon Dhyana(0x18h) share similiar arch with AMD Family 17h
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Mar 25 11:31:24 UTC 2019 - christian.voegl@suse.com Mon Mar 25 11:31:24 UTC 2019 - christian.voegl@suse.com

View File

@ -22,7 +22,7 @@
%endif %endif
Name: mcelog Name: mcelog
Version: 1.62 Version: 1.64
Release: 0 Release: 0
Summary: Log Machine Check Events Summary: Log Machine Check Events
License: GPL-2.0-only License: GPL-2.0-only

View File

@ -6,6 +6,7 @@ ConditionPathExists=/dev/mcelog
[Service] [Service]
EnvironmentFile=-/etc/sysconfig/mcelog EnvironmentFile=-/etc/sysconfig/mcelog
ExecStartPre=/sbin/modprobe msr ExecStartPre=/sbin/modprobe msr
ExecStartPre=/sbin/modprobe dmi-sysfs
ExecStart=/usr/sbin/mcelog --ignorenodev --daemon --foreground ExecStart=/usr/sbin/mcelog --ignorenodev --daemon --foreground
StandardOutput=syslog StandardOutput=syslog

View File

@ -2,11 +2,9 @@
memdb.c | 10 +++++----- memdb.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-) 1 file changed, 5 insertions(+), 5 deletions(-)
Index: mcelog-1.29/memdb.c --- mcelog-1.64+git20190805.e53631f.orig/memdb.c 2019-09-06 14:06:51.757228185 +0200
=================================================================== +++ mcelog-1.64+git20190805.e53631f/memdb.c 2019-09-06 14:09:38.197237074 +0200
--- mcelog-1.29.orig/memdb.c 2016-01-20 18:33:20.000000000 +0100 @@ -430,11 +430,11 @@
+++ mcelog-1.29/memdb.c 2016-01-28 15:33:46.958564233 +0100
@@ -430,11 +430,11 @@ void prefill_memdb(int do_dmi)
md->location = xstrdup(bl); md->location = xstrdup(bl);
md->name = xstrdup(dmi_getstring(&d->header, d->device_locator)); md->name = xstrdup(dmi_getstring(&d->header, d->device_locator));
} }