Date: Thu, 25 Mar 2004 17:09:48 -0500 From: Don Bowman <don@sandvine.com> To: 'Doug Ambrisko' <ambrisko@ambrisko.com>, Scott Long <scottl@freebsd.org> Cc: "Wm. Daryl Hawkins" <dhawkins@tamu.edu> Subject: RE: Intel i8xx watchdog driver Message-ID: <FE045D4D9F7AED4CBFF1B3B813C85337045D8734@mail.sandvine.com>
next in thread | raw e-mail | index | archive | help
From: Doug Ambrisko [mailto:ambrisko@ambrisko.com] > Scott Long writes: > | In reading the code, it appears that it is indeed an ICHx > service and > | not limited to just i8xx chipsets. I have a few issues with how the > | probe and attach are done, and I'm addressing these in a > private mail > | right now. It's funny that I was reading the Intel ICH5 > docs last night > | and didn't come across this feature at all. > > I haven't looked at the code but have worked with this feature. > The Intel ICH3 (and probably all) has the feature it can issue an SMI on first count-down to 0, then a hard reset on 2nd. What we did was implement an SMM handler (in bios) that, when called due to watchdog, issued an NMI and did a return from smm. In FreeBSD, an NMI handler caught this (sometimes :), poke around to send a bit of data out to serial, moved the timer to the maximum value without reseting it, and then called panic [after mucking with cpl etc to pretend to own all locks :] If the NMI handler didn't get run, the hardware counted to 0 again and reset. If the NMI handler did get run, and then wedged somehow in the panic or whatever, the hardware counted to 0, and the system reset. If all worked well, you got a core, but at a minimum the system reset, and usually you got at least the serial output of some of the 'why'. The SMI is non-maskable (and higher priority than NMI).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337045D8734>