Subject: Re: panic: sio_setirqstat: hosed
To: None <murray@pa.dec.com, port-alpha@netbsd.org>
From: Ross Harvey <ross@teraflop.com>
List: port-alpha
Date: 11/11/1998 15:59:22
> From: Hal Murray <murray@pa.dec.com>
>
> Could somebody please give me a lesson on this area.
:::
> Digital Personal WorkStation 600au, 598MHz
:::
> cia0: using BWX for PCI config access
> sio_intr_setup: 1 LT!
> sio_sis: initial: ocw = (a3,ff), elcr = ( 2,14)
> current: ocw = (a3,ff), elcr = ( 0,14)
> panic: sio_setirqstat: hosed
>
> I have two similar machines that don't have this problem. They each
> have a slightly different configuration.
>
> I took a quick look at the code. I think this has something to do
> with edge triggered vs level triggered interrupts. I'm guessing
> that some board in this system is in a slot that's wired to the wrong
> kind of interrupt.
>
> Is there any simple way to figure out which board is causing the
> problem and/or what configurations will or won't work?
>
Actually, it looks to me like the problem is:
[1] SRM is setting up the PIC daisy chain IRQ (#2) as level trig
instead of edge (!?)
[2] So we proceed to fix it and blunder into code that panics if the
irq is different from the startup case. It's almost funny.
Sigh, every *$#&* Miata is a little bit different. If I'm right, it appears
that your SRM is actually a bit psycho. Here are my recommendations:
[1] Edit arch/alpha/pci/sio_pic.c and take out the define for
BROKEN_PROM_CONSOLE (or make it xxBROKEN_PROM_CONSOLE)
Build a kernel this way and try it.
[2] Update your SRM; and in fact update all three of your machines
with the exact same SRM image. Then see if the one machine (or
all three!) still generates the ``1 LT!'' printf. (If they
aren't all the same then that's when I shoot myself.)
[3] Does Digital Unix (or VMS) work on that box?
Oh, and could one of you guys at DEC get our group a Miata and/or DP264
so we can support you better? :-)
--Ross Harvey