From: Doug Ambrisko [mailto:[EMAIL PROTECTED] > Don Bowman writes: > | 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). > > That sounds pretty cool. There was some bits in the ICH that > prevented an NMI to get to the CPU unless set a certain way. > I was generating an NMI via the PCI but. BTW you can do the > paper clip trick on PCI. The ICH seemed to be only one shot so > it de-bounced it. I could get multiple on a CPU NMI pin. > > How hard is to setup and trap SMI via a FreeBSD only solution? > > I haven't really looked much at that area but sounds useful. > > Doug A. >
SMI under freebsd? Ha ha... Good luck! It didn't look very easy. The SMM, for those who don't know it, is a virtual 86, real-mode thing, at a location in ram which is locked and unaccessible unless you are in smm mode :) If you are lucky, your bios didn't lock you out of it. there's an NMI_NOW in the ICH which can be used to programmatically cause an NMI. Some systems route this funny when in SMP mode... [ie nowhere???]. Some systems may have problems with this and the jumper/button for generating NMI. _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"