Re: 5.1_RC2 panics on Challenge S

"Stephen M. Rumble" <[email protected]> Thu, 10 Jun 2010 16:03:14 -0700
Newsgroups gmane.os.netbsd.ports.sgimips
Message-ID <[email protected]>
On Jun 10, 2010, at 2:45 PM, Michael wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hello,
> 
> On Jun 10, 2010, at 5:28 PM, George Harvey wrote:
> 
>> I tried 5.1_RC2 on my R5000/180 Challenge S and got a kernel panic just
>> after the 'panel0' message (console capture below). The Challenge S
>> has the same front panel buttons as the Indy but, AFAIK, doesn't have
>> the audio circuitry so I'm guessing there might be a problem with the
>> hardware probing. I'm going to try building a kernel without the panel
>> option to see if that helps.
> 
> The panel driver doesn't attempt to mess with audio circuitry at all - it sends PMF events for the volume control buttons which may or may not do anything, and it notofoes sysmon when the power button is pressed.
> 
>> NetBSD 5.1_RC2 (GENERIC32_IP2x) #0: Fri May 21 08:19:40 UTC 2010
>> 	[email protected]:/home/builds/ab/netbsd-5-1-RC2/sgimips/201005210534Z-obj/home/builds/ab/netbsd-5-1-RC2/src/sys/arch/sgimips/compile/GENERIC32_IP2x
>> total memory = 98304 KB
>> (768 KB reserved for ARCS)
>> avail memory = 91308 KB
>> mainbus0 (root): SGI-IP22 [SGI, 690ac9fb], 1 processor
>> cpu0 at mainbus0: MIPS R5000 CPU (0x2310) Rev. 1.0 with built-in FPU
>> Rev. 1.0 cpu0: 32KB/32B 2-ay set-associative L1 Instruction cache, 48
>> TLB entries cpu0: 32KB/32B 2-way set-associative write-back L1 Data
>> cache cpu0: 512KB/32B direct-mapped write-through L2 Data cache
>> ioc0 at mainbus0 addr 0x1fbd9800: rev 0, machine Indy (Guinness), board
>> rev 0 int0 at mainbus0 addr 0x1fbd9880
>> int0: bus 90MHz, CPU 180MHz
>> imc0 at mainbus0 addr 0x1fa00000: revision 3
>> gio0 at imc0
>> hpc0 at gio0: SGI HPC3 (onboard)
>> zsc0 at hpc0 offset 0x59830
>> zstty0 at zsc0 channel 1 (console i/o)
>> zstty1 at zsc0 channel 0
>> pckbc0 at hpc0 offset 0x59840
>> sq0 at hpc0 offset 0x54000: SGI Seeq 80c03
>> sq0: Ethernet address 08:00:69:0a:c9:fb
>> wdsc0 at hpc0 offset 0x44000: WD33C93B (20.0 MHz clock, BURST DMA, SCSI
>> ID 0) wdsc0: microcode revision 0x0d, Fast SCSI
>> scsibus0 at wdsc0: 8 targets, 8 luns per target
>> dsclock0 at hpc0 offset 0x60000
>> pi1ppc0 at hpc0 offset 0x58000
>> pi1ppc0: capabilities=8<PS2>
>> ppbus0 at pi1ppc0
>> ppbus0: No IEEE1284 device found.
>> panel0 at hpc0 offset 0x59800
>> panic: invalid interrupt level
> 
> This is weird.
> There is nothing in the panel driver which differentiates between Indy and Challenge S, the interrupt level is the same, I see no reason why it would panic on a Challenge but not an Indy.
> On the other hand - does the Challenge have more than one hpc? If so the panel driver may try to attach to the wrong one. In the example above it's the onboard hpc though.

A Challenge S could have multiple HPCs, but the driver should only attach to the first and appears to be doing so.

> Could you build a kernel without the panel driver and post the resulting dmesg?

It'd might be worth adding the requested interrupt level to the "invalid interrupt level" panic strings in sys/arch/sgimips/dev/int.c. I don't immediately see how it could be different from the hard-coded value (or outside [0, NINTR), for that matter).

Steve