Date: Mon, 08 Jan 2001 19:06:13 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: Chris Dillon <cdillon@wolves.k12.mo.us>, Francisco Reyes <fran@reyes.somos.net>, FreeBSD Chat List <freebsd-chat@FreeBSD.org>, David Kelly <dkelly@hiwaay.net>, "Daniel O'Connor" <doconnor@gsoft.com.au> Subject: Re: ECC worth the extra cost for SOHO server? Message-ID: <XFMail.010108190613.jhb@FreeBSD.org> In-Reply-To: <XFMail.010108174136.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 09-Jan-01 John Baldwin wrote: > > On 09-Jan-01 Daniel O'Connor wrote: >> >> On 09-Jan-01 Chris Dillon wrote: >>> > I think 4.x doesn't panic on ECC NMI's anymore but I'm not sure. >>> Out of curiosity, how does the OS know exactly what event triggered >>> the NMI? I know what an NMI can mean, but I don't know what it REALLY >>> IS, you know what I mean? The technical answer for exactly what an >>> NMI is and what it consists of is welcome. :-) >> >> Yeah, sorry I don't have a clue :) >> >> I'm sure someone out there does.. Answer us damnit! :) > > Check out src/sys/i386/isa/intr_machdep.c:isa_nmi(). Erm, this answers how to find out what event triggers an NMI or at least to narrow it down a bit. This function is called from within trap() in src/sys/i386/i386/trap.c. An NMI is simple a Non-Maskable Interrupt. Maskable Interrupts can be masked/disabled by clearing the interrupt flag (IF) in the flags register via the 'cli' instruction, or by using 'popf' to load a value into the flags reg with IF cleared. An NMI is not masked by IF though, and will always fire. Usually an NMI means that the machine is badly hosed and that you are pretty much screwed. However, an NMI switch can also be rigged to allow one to break into the debugger on a machine that is spinning with interrupts disabled. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010108190613.jhb>