Port-sparc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Severe problems with sun4
On Fri, 16 Jul 2010, Christian Corti wrote:
is it possible that the sun4 port has some issues? Fact is that support of
VME bus SUNs (a 4/260 in my case) seems to be utterly broken. The main
problem I have is with the Xylogics drivers (xy, but xd seems to be almost
identical), they always create kernel panics while attaching the controller.
More problems:
First I fixed the xy driver (which was painful due to the uncomprehensible
code) and now it seems that NetBSD is broken in respect with VME bus
interrupts. This also explains why I can't use any SCSI disk, too. The
kernel panics when a VME interrupt is generated:
[...]
si0 at vme0 addr 200000 irq 2 vector 40
si0: options=7<RESELECT,DMA_INTR,DMA>
scsibus0 at si0: 8 targets, 8 luns per target
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <MAXTOR, XT-4380S, B3C> disk fixed
vmeintr4: level 2 vector 0x40 [**]
trap type 0x7: pc=0xf014492c npc=0xf0144930 psr=8000c6<S,PS>
kernel: alignment fault trap
Stopped at netbsd:vmeintr4+0x90: ld [%i0 + %g0], %g1
[...]
[**] this output has been introduced by me in vme_machdep.c in function
vmeintr4
Taking SCSI out of the kernel, it panics when the Xylogics controller
generates an interrupt:
[...]
xyc0 at vme0 addr ee40 irq 2 vector 48: Xylogics 450/451
xy0 at xyc0 drive 0: ready (drive type 3)
xy0: <Fujitsu-M2344 cyl 622 alt 2 hd 27 sec 67>, pcyl 624
xy0: 549MB, 622 cyl, 27 head, 67 sec, 512 bytes/sec
xy1 at xyc0 drive 1: ready
xy1: reading disk label failed: Sector count zero
[...]
# disklabel xy1
xy1 at xyc0 drive 1: readyvmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
vmeintr4: level 2 vector 0x48
Watchdog reset.
Simple question: why isn't the interrupt handler xycintr() called? I know
this because I've put some debug statements in there.
So, where should I start fixing all that stuff? Why is it broken anyways?
Is it possible that vmeintr4 is the culprit and that it hasn't worked
since ages?
Christian
--------------------------------------------------
Universität Stuttgart
Zentrale Dienste der Informatik
Universitätsstraße 38
70569 Stuttgart
EMail: Christian.Corti%informatik.uni-stuttgart.de@localhost
Tel: (+49) 711 / 7816-234
--------------------------------------------------
Home |
Main Index |
Thread Index |
Old Index