43 lines
929 B
Plaintext
43 lines
929 B
Plaintext
--- mcelog/p4.c~ 2005-02-09 12:20:20.000000000 +0100
|
|
+++ mcelog/p4.c 2006-05-27 06:22:06.000000000 +0200
|
|
@@ -24,6 +24,8 @@
|
|
#include <stdio.h>
|
|
#include "mcelog.h"
|
|
|
|
+#define BANK_THERMAL 128
|
|
+
|
|
/* decode mce for P4/Xeon family */
|
|
|
|
static inline int test_prefix(int nr, __u32 value)
|
|
@@ -272,8 +274,21 @@
|
|
Wprintf("\n");
|
|
}
|
|
|
|
+static void decode_thermal(struct mce *log)
|
|
+{
|
|
+ if (log->status & 1)
|
|
+ Wprintf("Processor core is above trip temperature. Throttling enabled.\n");
|
|
+ else
|
|
+ Wprintf("Processor core below trip temperature. Throttling disabled\n");
|
|
+}
|
|
+
|
|
void decode_p4_mc(struct mce *log)
|
|
{
|
|
+ if (log->bank == BANK_THERMAL) {
|
|
+ decode_thermal(log);
|
|
+ return;
|
|
+ }
|
|
+
|
|
decode_mcg(log->mcgstatus);
|
|
decode_mci(log->status);
|
|
}
|
|
@@ -281,6 +296,8 @@
|
|
char *p4_bank_name(int num)
|
|
{
|
|
static char bname[64];
|
|
+ if (num == BANK_THERMAL)
|
|
+ return "THERMAL EVENT";
|
|
sprintf(bname, "BANK %d", num);
|
|
return bname;
|
|
}
|