Subject: Re: Device driver, fast interrupt vector conflict
To: Tim Walls <tim.walls@pa.press.net>
From: Eduardo Horvath <eeh@turbolinux.com>
List: port-sparc
Date: 06/05/2000 08:31:54
On Mon, 5 Jun 2000, Tim Walls wrote:

> Now I don't know whether it's the spif driver or the audio driver
> causing the wedge...  Still, I'll have another bash tonight with the
> audio driver disabled totally and see where I get!

Hangs....  You can try to add some code to the level-14 stat clock handler 
to detect if the level-10 clock handler is not running and break into
DDB.  Assuming traps are enabled and the level-14 clock interrupt is
running.  

> Out of interest, what is that 'hands out' the interrupt levels to the
> devices?  Is it all decided by the PROM before boot, or does the NetBSD
> kernel allocate them??  Sun device programming is a bit new to me ;-)

Nothing `hands out' interrupt levels.  32-bit SPARCs have 15 hardware
interrupt levels and different devices are wired to particular interrupt
levels.  The interesting ones are:

15	-- NMI (usually generated by bus faults.  Too bad it's not usually
		wired to a header so you can force this with a button.)
14	-- Profiling clock (BSD uses this for the statclock.)
12	-- zs TTY
10	-- Clock interrupt
6	-- Usually network
3	-- Usually SCSI


Eduardo Horvath