Subject: PPC 7450 and openfirmware.c
To: None <port-macppc@netbsd.org>
From: Makoto Fujiwara <makoto@ki.nu>
List: port-macppc
Date: 06/11/2002 16:35:20
MW> PowerMacintosh G4 (Quicksilver) 800MP fails with GENERIC
MW> makoto@ki.nu
MW> panic: lockmgr: pid 0, not exclusive lock holder 1008730187 unlocking
MW> Stopped in pid () at 0x30f214: lwz r0,r1, 0x14
CPU: 7450
Unbelievably enough, if I apply change attached, it runs upto
multi-user mode. But it is very unstable, hungs shortly.
Also, the beginning of dmesg corrupted.
More importantly, the original panic message appears at the timing of
somewhere in following code.
sys/arch/macppc/macppc/machdep.c
978 #if NUKBD > 0
979 if (OF_call_method("`usb-kbd-ihandles", stdin, 0, 1, &ukbds) != -1 &&
980 ukbds != NULL && ukbds->ihandle != 0 &&
981 OF_instance_to_package(ukbds->ihandle) != -1) {
982 printf("console keyboard type: USB\n");
983 ukbd_cnattach();
984 goto kbd_found;
985 }
--- sys/arch/powerpc/powerpc/openfirm.c-1.11 Mon Sep 24 22:22:33 2001
+++ sys/arch/powerpc/powerpc/openfirm.c Tue Jun 11 16:19:08 2002
@@ -127,7 +127,7 @@
1,
1,
};
-
+ printf(" ** OF_instance_to_package\n");
ofw_stack();
args.ihandle = ihandle;
if (openfirmware(&args) == -1)
@@ -347,7 +347,7 @@
1,
};
int *ip, n;
-
+ printf(" ** OF_call_method\n");
if (nargs > 6)
return -1;
args.nargs = nargs + 2;
---
Makoto Fujiwara,