Merge pull request #125 from vasilykh-arista/master

1) EDAC drivers say SOCKET instead of SOCKETID. Handle both.
2) Parse PPIN (processor identifier) instead of bailing out
diff --git a/input/icxd_uc_scrub b/input/icxd_uc_scrub
new file mode 100644
index 0000000..c1b0468
--- /dev/null
+++ b/input/icxd_uc_scrub
@@ -0,0 +1,4 @@
+CPU 0: Machine Check Exception: 5 Bank 14: be000f42001000c1
+RIP !INEXACT! 10:<ffffffff81d56ca9> {intel_idle+0x59/0xa0}
+TSC 9b34d209b1e46f ADDR 63a6bdf80 MISC 9000a05ba58fc86 PPIN 67d6735bd52bf4b1
+PROCESSOR 0:606c1 TIME 1774372375 SOCKET 0 APIC 0 microcode 1000211
diff --git a/mcelog.c b/mcelog.c
index 95c9ad8..81fcb7f 100644
--- a/mcelog.c
+++ b/mcelog.c
@@ -756,6 +756,12 @@
 			else
 				FIELD(socketid);
 		} 
+		else if (!strncmp(s, "SOCKET", 6)) {
+			if ((n = sscanf(s, "SOCKET %u%n", &m.socketid, &next)) != 1)
+				missing++;
+			else
+				FIELD(socketid);
+		}
 		else if (!strncmp(s, "CPUID", 5)) {
 			unsigned fam, mod;
 			char vendor[31];
@@ -792,6 +798,12 @@
 					FIELD(addr);
 			}
 		}
+		else if (!strncmp(s, "PPIN", 4)) {
+			if ((n = sscanf(s, "PPIN %llx%n", &m.ppin, &next)) < 1)
+				missing++;
+			else
+				FIELD(ppin);
+		}
 		else if (!match_patterns(s, skip_patterns))
 			n = 0;
 		else {