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