[PATCH 2.6] i8xx_tco - Add SuperMicro ICH[56] Pentium 4 watchdog support

From: Patch Devil
Date: Wed Dec 14 2005 - 17:50:56 EST


Hello friends of LK:

It seems that SuperMicro P4-based motherboards DO actually have working
watchdog hardware (be sure jumpers *and* BIOS settings are configured
appropriately), however the setup of their internal ports and registers
deviate from canonical Intel specification.

Because it seems impossible/difficult to do a proper auto-detection for these
deviations, I've added a module_param to the TCO module to provide minor
changes to the existing i8xx TCO code. I've given it some testing on i845
(Northwood P4) and E7520 (Nacona/EM64T SMP-Xeon) and it does indeed activate
watchdog (reset/reboot) functionality and provide WDT resets to keep the
system up.

SuperMicro had provided me with some documentation for their Pentium III
motherboards, however I was not able to ever get it functioning on my SSE370+,
however I've incorporated the logic as documented as a bit of a "bookmark" for
future implementors who MAY be lucky to have P3 SuperMicros with working WDT
functionality.

My patch activates the watchdog even if the BIOS setting disables it, however
it cannot override the jumper on the motherboard.

Naturally, users should do two-way testing before deploying this on production
hardware: 1) Verify that the watchdog IS actually able to reset the machine --
so you'll need to deliberately lockup or kill the WDT refresh and make sure
the machine reboots, and then 2) Verify that the watchdog timer is being
properly reset.

This patch was made against 2.6.13.2, and I provide some background detail in
the patched source.

I've had this working in production for a couple of months now without any
issues. Of course, these very reliable systems never lockup (typical uptimes
are over 300-400 days, and are rebooted for kernel upgrades only). But hey, I
was a bit annoyed that an advertised feature wasn't available to me.

Cheers,
Robert

PS: I'm not a subscriber to LKML, so if you CC: your reply to me, I will be
able to read it.

Attachment: supermicro-tco.patch.gz
Description: GNU Zip compressed data