Subject: sun3: si_dma_alloc: excessive xlen=0x10000
To: None <current-users@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: current-users
Date: 06/14/2003 13:13:58
Hi,
I built a new current kernel for my sun3/60, and it now fails to boot: it
falls to debugger with
si_dma_alloc: excessive xlen=0x10000
when trying to exec init. The scsi controller is:
si0 at obio0 addr 0x140000 ipl 2: options=0xf

what happens here is that we have a request for a 64k transfers from
the filesystem (stack trace shows:
[...]
sdstrategy(e214000,e214000,f3c5ab0,e06f5b8,f3c5bb4) + 1d2
spec_strategy(f3c5bb4,0,0,0,90000) + 44
ufs_strategy(f3c5bb4) + e4
genfs_getpages(f3c5d0c,0,10000,0,8) + 9d8
ffs_getpages(f3c5d0c) + 64
genfs_getpages(f3c5dd4,f3c5e6c,f3c5e70,0,f3dcb40) + bf0
ffs_getpages(f3c5dd4,0,8e000,1,20ea000) + 64
uvn_get(f3dcb40,0,8e000,f3c5e6c,f3c5e70,0,0,0,2) + 6a
uvm_fault(f3d2000,20f0000,0,2,0) + 8bc
_pmap_fault(f3d2000,20f0000,2) + 46
trap(8,101,20f12c0) + 3f2
faultstkadj() + 0
), which it seems the sun3 OBIO can't handle (16bit count register, from a
comment in arch/sun3/dev/si.c)
Nothing has changed in the MI ncr5380 or sun3 si files recently, exept some
comments uptate. So I guess something has changed in a MI file since 1.6R,
which cause this. sun3 param.h defines MAXBSIZE to 32k, so we should not get
64k requests from the filesystem.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 24 ans d'experience feront toujours la difference
--