Date: Tue, 4 Apr 1995 20:27:56 +0200 (MET DST) From: J Wunsch <j@uriah.heep.sax.de> To: freebsd-hackers@FreeBSD.org (FreeBSD hackers) Subject: Re: NMI message Message-ID: <199504041827.UAA11387@uriah.heep.sax.de> In-Reply-To: <199504040353.UAA24847@seagull.rtd.com> from "Don Yuniskis" at Apr 3, 95 08:53:38 pm
next in thread | previous in thread | raw e-mail | index | archive | help
As Don Yuniskis wrote: > > NMI... going to debugger > kernel: type 19 trap, code=0 > shall I assume this was an intermittent parity error (system had been > up for 40 days or so...) like maybe a Vcc glitch or alpha particle, etc.? Forget the alpha particles unless you have ceramics packaged RAMs. :) [*] > Haven't dug out any schematics, etc. but I suspect parity is the only > thing that would yank on NMI (looked like CPU was doing a memory to memory > transfer at the time ... possibly faulting in a page, etc.) It's perhaps only a glitch. However, parity fail is not the only reason that can cause an NMI. The second common reason is the ISA signal IOCHCK. Any card on the bus can assert this signal. There's a register (0x62) to indicate which caused the NMI (0x80 -> RAM parity failure, 0x40 -> I/O channel check). There are some minor anomalities. E.g., my (old) notebook asserts NMI at power fail (battery low, or loss of external power), without setting one of the bits in register 0x62. I've symdeb'ed thru its BIOS, but didn't find any reasonable logic how to determine between parity fail and power fail for it. (I'm running FreeBSD on it, but have modified the NMI routine to simply beep instead of panic.) [*] The alpha particle story. Back in old days where RAMs have been rather expensive, they've also been packaged in expensive ceramics cases (with metal plate and gold contacts). Unfortunately, all the ceramics materials do contain minor contaminations by metals like barium, which are slightly radioactive, and emit a very low alpha radiation. Since alpha particles are helium nuclei, they do only have a low penetrance. The usual workaround has been to cover the die by a small piece of a plastics foil, this was sufficient to adsorb the helium nuclei. (If an alpha particle broke through, it was sufficient to kill the whole charge of a dRAM capacitor, at least for RAMs >= 64 kbit.) Naturally, plastics packages do not emit alpha particles themselves, and they are thick enough to even adsorb much larger amounts of alpha radiation, so this is a non-issue these days. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504041827.UAA11387>