Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 3cd95f7f4a461717d0f0c9c611715f22 > files > 1

mcelog-0.9pre1-0.1.fc13.src.rpm

--- mcelog-0.9-pre1/mcelog.h.record-length	2009-02-20 15:56:08.000000000 -0700
+++ mcelog-0.9-pre1/mcelog.h	2009-10-05 09:01:24.308477671 -0600
@@ -11,26 +11,29 @@
 
 /* kernel structure: */
 
-/* Fields are zero when not available */
 struct mce {
-	__u64 status;
-	__u64 misc;
-	__u64 addr;
-	__u64 mcgstatus;
-	__u64 rip;
-	__u64 tsc;	/* cpu time stamp counter */
-	__u64 time;	/* wall time_t when error was detected */
-	__u8  cpuvendor;	/* cpu vendor as encoded in system.h */
-	__u8  pad1;
-	__u16 pad2;
-	__u32 cpuid;	/* CPUID 1 EAX */
-	__u8  cs;	/* code segment */
-	__u8  bank;	/* machine check bank */
-	__u8  cpu;	/* cpu that raised the error */
-	__u8  finished;   /* entry is valid */
-	__u32 extcpu;	/* extended CPU number */
+        __u64 status;
+        __u64 misc;
+        __u64 addr;
+        __u64 mcgstatus;
+        __u64 ip;
+        __u64 tsc;      /* cpu time stamp counter */
+        __u64 time;     /* wall time_t when error was detected */
+        __u8  cpuvendor;        /* cpu vendor as encoded in system.h */
+        __u8  pad1;
+        __u16 pad2;
+        __u32 cpuid;    /* CPUID 1 EAX */
+        __u8  cs;               /* code segment */
+        __u8  bank;     /* machine check bank */
+        __u8  cpu;      /* cpu number; obsolete; use extcpu now */
+        __u8  finished;   /* entry is valid */
+        __u32 extcpu;   /* linux cpu number that detected the error */
+        __u32 socketid; /* CPU socket ID */
+        __u32 apicid;   /* CPU initial apic ID */
+        __u64 mcgcap;   /* MCGCAP MSR: machine check capabilities of CPU */
 };
 
+
 #define X86_VENDOR_INTEL	0
 #define X86_VENDOR_CYRIX	1
 #define X86_VENDOR_AMD		2
--- mcelog-0.9-pre1/mcelog.c.record-length	2009-02-20 15:56:08.000000000 -0700
+++ mcelog-0.9-pre1/mcelog.c	2009-10-05 09:01:24.307479137 -0600
@@ -341,15 +341,15 @@
 			Wprintf(" (upper bound, found by polled driver)");
 		Wprintf("\n");
 	}
-	if (m->rip) 
-		Wprintf("RIP%s %02x:%Lx ", 
+	if (m->ip) 
+		Wprintf("RIP%s %02x:%llx ", 
 		       !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "",
-		       m->cs, m->rip);
+		       m->cs, m->ip);
 	if (m->misc)
 		Wprintf("MISC %Lx ", m->misc);
 	if (m->addr)
 		Wprintf("ADDR %Lx ", m->addr);
-	if (m->rip | m->misc | m->addr)	
+	if (m->ip | m->misc | m->addr)	
 		Wprintf("\n");
 	switch (cputype) { 
 	case CPU_K8:
@@ -387,7 +387,7 @@
 	Wprintf("CPU %u\n", m->extcpu ? m->extcpu : m->cpu);
 	Wprintf("BANK %d\n", m->bank);
 	Wprintf("TSC 0x%Lx\n", m->tsc);
-	Wprintf("RIP 0x%02x:0x%Lx\n", m->cs, m->rip);
+	Wprintf("RIP 0x%02x:0x%llx\n", m->cs, m->ip);
 	Wprintf("MISC 0x%Lx\n", m->misc);
 	Wprintf("ADDR 0x%Lx\n", m->addr);
 	Wprintf("STATUS 0x%Lx\n", m->status);
@@ -543,7 +543,7 @@
 
 			n = sscanf(s, "%02x:<%016Lx> {%100s}%n",
 				   &cs,
-				   &m.rip, 
+				   &m.ip, 
 				   symbol, &next); 
 			m.cs = cs;
 			if (n < 2)