Subject: Re: port-i386/37637: MP kernel hangs before starting init
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Andrew Doran <ad@netbsd.org>
List: netbsd-bugs
Date: 12/31/2007 10:00:07
The following reply was made to PR port-i386/37637; it has been noted by GNATS.

From: Andrew Doran <ad@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-i386/37637: MP kernel hangs before starting init
Date: Mon, 31 Dec 2007 09:59:23 +0000

 On Sun, Dec 30, 2007 at 10:55:02AM +0000, Bernd Ernesti wrote:
 
 >  Adding two prinfts around
 >          for (pdev = pdevinit; pdev->pdev_attach != NULL; pdev++)
 >                  (*pdev->pdev_attach)(pdev->pdev_count);
 >  shows that it really stops here.
 
 Ok, can you do a printf("%x\n", pdev->pdev_attach) on each iteration through
 the loop? Using nm to match the address you can then find which driver is
 causing the boot to hang.
   
 >  I got a panic when I used DELAY(1000000):
 >  
 >  Kernel lock error: _kernel_lock: spinout
 
 The system is nearly up and running at that point, so spinning in the kernel
 for 1s is very likely trigger a panic, as I guess you found out!
 
 >  Booting without -v seems to work, but fails when I try to reboot via
 
 So, the system does boot without -v?
 
 >  shutdown -r now:
 >  
 >  Kernel lock error: _kernel_lock: spinout
 
 That will be the changes to suspend on MP systems. I will fix it when I get
 time.
 
 Andrew