Subject: Re: crash with 1.6k
To: Holger Burde <HBurde@t-online.de>
From: Andrey Petrov <petrov@netbsd.org>
List: port-sparc64
Date: 12/24/2002 13:08:16
On Tue, Dec 24, 2002 at 03:28:53PM +0100, Holger Burde wrote:
> Hi;
> 
> I use NetBSD 1.6 for some time on my U10 without any serious problmens. Even a Netgear NIC (FA 311) worked
> great until upgrading to 1.6k. With 1.6k my u10 crashes reproducable at boot with this message :
> 
> configuring network interfaces: sip0panic: iommu_dvmamao_sync: 3 segements 
> Stopped in pid 68 (ifconfig) at cpu_Debugger+0x4: nop
> 

This panic is because iommu_dvmamap_sync can't process multiple
segments, that feature should be added. I'm not sure if Ultra10 has
streaming cache, if not then the patch below might help you.


Index: iommu.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc64/dev/iommu.c,v
retrieving revision 1.62
diff -u -p -r1.62 iommu.c
--- iommu.c     2002/10/24 23:24:01     1.62
+++ iommu.c     2002/12/24 21:07:00
@@ -911,6 +911,9 @@ iommu_dvmamap_sync(t, sb, map, offset, l
        int64_t tte;
        vaddr_t vaend;
 
+       if (!sb->sb_flush)
+               return;
+
        /*
         * We only support one DMA segment; supporting more makes this code
         * too unwieldy.