Subject: NMI Interrupt? How rude!
To: None <tuc@valhalla.stormking.com>
From: Gordon W. Ross <gwr@mc.com>
List: port-sun3
Date: 09/08/1995 13:10:37
> From: "Scott J. Ellentuch" <tuc@valhalla.stormking.com>
> Date: Sat, 26 Aug 1995 11:32:30 -0400 (EDT)
> 
> Hello,
> 
> 	Well, I finally got the replacement memory for my 3/50 and installed
> it last night. (Brought it from 8 to 12 M).  I re-configured the NVRAM
> to understand there was 12M and attempted to boot an even newer kernel
> (Watch out for me now, I'll be making 10-12 new versions a day....NOT).
> 
> 	The newer kernel got to the point where it says :
[...]
> Automatic boot in progress: starting file system checks.
> 
> and a second or two later spit out "nmi interrupt received" and just sat
> there.  Hmm, this isn't going well.  I decided to fall back totally
> to the netbsd-gen kernel from gwr, and .... same thing... (Except his fell
> into DDB)
> 
> 	Now, it doesn't take a rocket scientist to say "Gee, the memory is
> probably bad".... But if it passes the mem test, what would cause it to fail
> in the same place each time?

Several things can cause NMI on the Sun3, one of which is a memory error.
One of the things on the todo list is to write a real NMI handler that
figures out which thing caused the NMI and deal with if appropriately:

clock level 7:	just ignore it (or print a message every 10,000 of em)

memory error:	determine which type of memory (ECC or parity) and
		print out the relevant info about the error.  Panic.

abort switch:	drop into DDB (or the monitor)

(other NMI sources?)

For now, you might put a DDB breakpoint in the NMI handler and
look at the memory error register...

Gordon