Subject: port-macppc/31249: multiprocessor kernel (2.0.2 & -current) panics on PowerMac 9500 w/ 2 x ppc604 @ 200 mhz
To: None <port-macppc-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <konis@stats.ox.ac.uk>
List: netbsd-bugs
Date: 09/09/2005 07:57:51
>Number: 31249
>Category: port-macppc
>Synopsis: multiprocessor kernel (2.0.2 & -current) panics on PowerMac 9500 w/ 2 x ppc604 @ 200 mhz
>Confidential: no
>Severity: critical
>Priority: low
>Responsible: port-macppc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 09 07:57:51 +0000 2005
>Originator: Kjell Konis
>Release: 2.0.2
>Organization:
>Environment:
NetBSD PM9500 2.0.2 NetBSD 2.0.2 (GENERIC) #0: Tue Mar 22 16:19:08 UTC 2005 jmc@faith.netbsd.org:/home/builds/ab/netbsd-2-0-2-RELEASE/macppc/200503220140Z-obj/home/builds/ab/netbsd-2-0-2-RELEASE/src/sys/arch/macppc/compile/GENERIC macppc
(obviously not from the panicing kernel)
>Description:
I built a kernel with multiprocessor support using the adjustkernel utility to generate the configuration. When booted, the kernel panics either just before or just after the login prompt. Here is a trace from my most recent panic:
...
<startup text>
...
NetBSD/macppc (PM9500) (ttyE0)
login: kjell
Password:
mp_save_fpu_proc{1} pid = 317.1, fpcpu->ci_cpuid = 0
panic: mp_save_fpu_proc
Stopped in pid 317.1 (login) at netbsd:cpu_Debugger+0x10: lwz r0, r1 0
x14
bd(1)> trace
0xd5167e00: at panic+x19c
0xd5167e90: at mp_save_fpu_lwp+0xec
0xd5167eb0: at save_fpu_lwp+0x70
0xd5167ec0: at trap+0x94c
0xd5167f40: user FPU trap by 0xefca4530: srr1=0xd032
r1=0xffffd0e0 cr=0x24004048 xer=0 ctr=xefca1fe8
The panic occurs on kernels built with the sources included with the 2.0.2 release as well as sources from the -current branch (the branch obtained using 'cvs update -A -dP').
The panic only occurs when the openfirmware output-device is set to the pci video card, which in my particular machine is /bandit@F2000000/ATY,XCLAIM@D. If the output-device is set to ttya then the kernel seems to run just fine (I actually built the kernel 4 times trying to induce the panic).
My machine is a powermac 9500 with a daughter card with 2 604 ppc cpus running at 200 MHz, 144 mMB of RAM, a 350 MB hard drive (ID 0) with MacOS 9 and a 4.3 GB hard drive (ID 4) with NetBSD.
>How-To-Repeat:
In openfirmware set the output-device to /bandit@F2000000/ATY,XCLAIM@D then boot the multiprocessor kernel and wait for the panic.
0 > setenv output-device /bandit@F2000000/ATY,XCLAIM@D ok
0 > boot scsi-int/sd@4:0 netbsd.mp
>Fix:
No fix other than to set the output-device to ttya and connect remotely.