Skip site navigation (1)Skip section navigation (2)
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>