Subject: kernel panic with multiprocessing kernel
To: None <port-macppc@netbsd.org>
From: Kjell Konis <konis@stats.ox.ac.uk>
List: port-macppc
Date: 08/26/2005 12:27:38
Hi,

I reported this kernel panic a few days ago:

| I have a PowerMac 9500 that has a 2 x 200MHz 604 daughter card in it
| (that I am guessing came from a 9600/200MP).  I used the adjustkernel
| utility to generate a kernel configuration file then added 'options
| MULTIPROCESSOR' and commented out altivec support.  The kernel built
| with no problems (sources came from cvs) but panics shortly after
| booting up and sometimes even while booting up.

I was asked to provide a trace and two are below.  The weird thing is  
the panic only seems to happen when the output-device in open  
firmware is set to my graphics card: /bandit@F2000000/ATY,XCLAIM@D.   
When I connect on the ttya I can't get the kernel to panic.  In fact  
I was able to compile a kernel without causing a panic.  When the  
output-device is set to the graphics card then the kernel panicked  
during the validation of the hard drives (the last message is  
something about checking superblocks but I forget to write it down).

Here are the traces.  Since I could only get the kernel to panic when  
the output-device is the graphics card I had to type these in by hand  
so there may be some errors.

mp_save_fpu_proc{1} pid=45.1, fpcpu->ci_cpuid=0
panic: mp_save_fpu_proc
Stopped in pid 45.1 (dd) at netbsd:cpu_Debugger+0x10:    lwz   r0, r1, 0
x14
db{1} trace
0xd4718da0: at panic+0x19c
0xd4718e30: at mp_save_fpu_lwp+0xec
0xd4718e50: at save_fpu_lwp+0x2c
0xd4718e60: at cpu_lwp_free+0x2c
0xd4718e70: at exit1+0x26c
0xd4718eb0: at sys_exit+0x38
0xd4718ed0: at syscall_plain+0xc8
0xd4718f40: at user SC trap #1 by 0x418e1c3c: srr1=0xf032
                r1=0xffffec90 cr=0x24000044 xer=0 ctr=0x418e1c34
db{1} reboot #restarts the computer, see below





mp_save_fpu_proc{1} pid=29.1, fpcpu->ci_cpuid=0
panic: mp_svae_fpu_proc
Stopped in pid 29.1 (dd) at netbsd:cpu_Debugger+0x10:    lwz   r0, r1, 0
x14
db{1} trace
0xd4718e00: at panic+0x19c
0xd4718e90: at mp_save_fpu_lwp+0xec
0xd4718eb0: at save_fpu_lwp+0x2c
0xd4718ec0: at trap+0xa68
0xd4718f40: at user FPU by 0x418d4bd4: srr1=0xd032
                r1=0xffffe640 cr=0x24004044 xer=0 ctr=0
db{1} reboot

For this one reboot syncs the disks but doesn't actually restart the  
computer; it looks like the debugger hangs.