diff --git a/doc/platform/kgpe/notes.md b/doc/platform/kgpe/notes.md index adc0a66..cd0af1d 100644 --- a/doc/platform/kgpe/notes.md +++ b/doc/platform/kgpe/notes.md @@ -20,3 +20,22 @@ PCI: 00:14.1 20 <- [0x0000003010 - 0x000000301f] size 0x00000010 gran 0x04 io PCI: 00:14.2 10 <- [0x00f0404000 - 0x00f0407fff] size 0x00004000 gran 0x0e mem64 PCI: 00:14.3 a0 <- [0x00f0410000 - 0x00f0410000] size 0x00000001 gran 0x00 mem ``` + +## watchdogs + +The KGPE-D16 has *at least* three separate hardware watchdogs! + +- One in the SB700 southbridge, although it appears to be disabled + (Linux's `sp5100_tco` reports that it cannot be enabled). + +- One in the W83795 hardware monitor (thermal/fan control chip) + +- One in the W83667HG-A SuperIO chip + +I've found the third one to be most reliable. The Linux +`w83627hf_wdt` kernel module for this watchdog works correctly, and +I was able to write a coreboot patch (to be included with ownerboot) +to start the watchdog extremely early in the boot process -- before +DRAM initialization or PNP enumeration. This is extremely helpful +with unattended servers, where a hang in the boot process requires +manual power-cycling.