Subject: Re: crash dump failing on machine with 4GB
To: Juan RP <juan@xtrarom.org>
From: Chris Ross <cross+netbsd@distal.com>
List: port-sparc64
Date: 09/29/2007 00:10:33
On Sep 28, 2007, at 17:16, Juan RP wrote:
> You are right, it's initialized in scsipi_base.c:scsipi_get_xs()...
> but perhaps the callout was stopped previously and it wasn't  
> reinitialized
> or something.
>
> Someone with scsipi(9) clue should answer :-)

   Okay.  I worked past that issue, just by "if the c_magic is 0,  
don't do the KASSERT()".  To get to the next point.

   Now I'm seeing what I'd expected to see about the original  
problem, the inability to do a crash dump:

dumping to dev 7,1 offset 4310231
dump 4096 iommu_dvmamap_load: pmap_extract failed 1c1c000
esiop0: unable to load cmd DMA map: -1i/o error
Calling callout_init of 0x5f89d20
sd0(esiop0:0:0:0): polling command not done
panic: scsipi_execute_xs
cpu0: kdb breakpoint at 141a400
Stopped in pid 0.2 (system) at  netbsd:cpu_Debugger+0x4:        nop
db>


   The "Calling callout_init of" line is from my other debugging, but  
the rest of it is in the -current kernel, in SIOP_DEBUG or DIAGNOSTIC  
blocks.

   So, the trick next is to figure out why the pmap_extract in  
sparc64/dev/iommu.c:iommu_dvmamap_load() is failing.  Hopefully  
Martin will have a chance to figure that out.  :-)

                                     - Chris