Hello community, here is the log from the commit of package mcelog checked in at Mon May 29 18:09:43 CEST 2006. -------- --- arch/x86_64/mcelog/mcelog.changes 2006-05-05 19:10:42.000000000 +0200 +++ mcelog/mcelog.changes 2006-05-29 16:24:36.000000000 +0200 @@ -1,0 +2,5 @@ +Mon May 29 16:23:12 CEST 2006 - ak@suse.de + +- decode intel thermal events too (#179327) + +------------------------------------------------------------------- New: ---- mcelog-thermal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mcelog.spec ++++++ --- /var/tmp/diff_new_pack.jL95dX/_old 2006-05-29 18:09:37.000000000 +0200 +++ /var/tmp/diff_new_pack.jL95dX/_new 2006-05-29 18:09:37.000000000 +0200 @@ -14,9 +14,10 @@ License: GPL Summary: Log Machine Check Events Version: 0.7 -Release: 2 +Release: 3 Autoreqprov: on Source: mcelog-%{version}.tar.gz +Patch0: mcelog-thermal Group: System/Monitoring BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -38,6 +39,7 @@ %prep %setup +%patch0 -p1 %build make CFLAGS="$RPM_OPT_FLAGS" @@ -63,6 +65,8 @@ /etc/logrotate.d/mcelog %changelog -n mcelog +* Mon May 29 2006 - ak@suse.de +- decode intel thermal events too (#179327) * Fri May 05 2006 - ak@suse.de - Update to 0.7. This fixes - Fix --dmi option (#166324) ++++++ mcelog-thermal ++++++ --- 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; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...