Subject: Re: crash dump failing on machine with 4GB
To: Chris Ross <cross+netbsd@distal.com>
From: Juan RP <juan@xtrarom.org>
List: port-sparc64
Date: 09/28/2007 23:02:15
On Fri, 28 Sep 2007 16:57:35 -0400
Chris Ross <cross+netbsd@distal.com> wrote:

> 
> On Sep 28, 2007, at 03:06, matthew green wrote:
> > actually, i think that the right bus_dmamem_map() is in
> > sparc64/dev/iommu.c:iommu_dvmamap_load().
> 
>    Interesting.  In looking at iommu_dvmamap_load(), I see that one  
> place (the only place?) it returns -1 is on line 531, inside of a  
> conditional on a pmap_extract() call failing.  In this case, with  
> DIAGNOSTIC, it will print a message explaining this as the failure.   
> So, I built a diagnostic kernel to see if I got that message.
> 
>    Now, when I "reboot 0x104", I get a new crash, a panic() from  
> callout_stop() in kern/kern_timeout.c:
> 
> dumping to dev 7,1 offset 4310231
> dump panic: kernel diagnostic assertion "c->c_magic == CALLOUT_MAGIC"  
> failed: file "/data/NetBSD/src/sys/kern/kern_timeout.c", line 427
> cpu0: kdb breakpoint at 1419e80

If you get that assert it's probably because the callout(9) hasn't
been initialized via callout_init (this one sets c_magic to CALLOUT_MAGIC).

I don't see any callout_init() in sys/dev/ic/esiop*, should it be
initialized in other place?

-- 
Juan Romero Pardines	- The NetBSD Project
http://plog.xtrarom.org	- NetBSD/pkgsrc news in Spanish