Subject: Interrupt conflicts
To: None <port-sparc@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 01/30/2002 17:10:15
I'm trying to make my SPARCprinter work.

The machine I've got the interface card in is a Classic.  The console
tells me

ok cd /iommu/sbus/SUNW,lpvi
ok .attributes
reg                      00000001  00300000  00000030 
intr                     0000003d  00000000 
model                    zebra
name                     SUNW,lpvi

When I try to boot with my nascent driver, though, I get this (full
transcript at end of message):

audioamd0 at sbus0 slot 4 offset 0x1300000 level 7 (ipl 13) softpri 4
[...]
lpvi0 at sbus0 slot 1 offset 0x300000 level 13: interface rev 6
lpvi0: mapped at 0xfe02b000, nintr 1: <-2147483635/0>
panic: intr_establish: level 13 interrupt tied to fast vector
Stopped in swapper at   cpu_Debugger+0x4:       jmpl            [%o7 + 0x8], %g
0
db> 

The <%d/%d> stuff is sbi_pri/sbi_vec, and -2147483635 (I never bothered
changing it to use hex) is 0x8000000d, SBUS_INTR_COMPAT|13.  This
matches with the intr property printed by the PROM, and .attributes on
/iommu/sbus/audio shows

intr                     0000003d  00000000 
interrupts               00000007 

so they really are supposed to be on the same interrupt line.  (Anyone
know what the 0x00000030 bits mean?)

Is this "fixed in -current", or is there some way to tell the PROM to
use a different interrupt line for the lpvi, or what?  I can give up
audio for the duration of the experimenting with the lpvi, but it seems
to me that this is probably just an instance of a more general problem.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Here's that full transcript:

ok boot net netbsdN -s
Boot device: /iommu/sbus/ledma@4,8400010/le@4,8c00000   File and args: netbsdN -s
>> NetBSD/sparc Secondary Boot, Revision 1.9
>> (mouse@Vger.Rodents.Montreal.QC.CA, Tue Feb 20 07:58:56 EST 2001)
Booting netbsdN
Using BOOTPARAMS protocol: ip address: 10.0.1.11, hostname: SPARC
root addr=10.0.1.2 path=/nfs/sparc
2200844+134536+192376 [68+128848+99670]=0x2b10c0
OBP version 3, revision 2.12 (plugin rev 2)
pmap_bootstrap: installing kernel page tables...done.
[ preserving 229040 bytes of netbsd ELF symbol table ]
console is ttya
Copyright (c) 1996, 1997, 1998, 1999, 2000
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.4T (MOUSEGEN) #0: Wed Jan 30 03:36:15 EST 2002
    mouse@Sparkle.Rodents.Montreal.QC.CA:/sources/working-usr-src/sys/arch/sparc/compile/MOUSEGEN
total memory = 48812 KB
avail memory = 41964 KB
using 635 buffers containing 2540 KB of memory
bootpath: /iommu@0,10000000/sbus@0,10001000/ledma@4,8400010/le@4,8c00000
mainbus0 (root): SUNW,SPARCclassic
cpu0 at mainbus0: TMS390S10 @ 50 MHz, on-chip FPU
cpu0: physical 4K instruction (32 b/l), 2K data (16 b/l): cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08 (eeprom)
timer0 at obio0 slot 0 offset 0xd00000 delay constant 23
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
zstty0 at zs0 channel 0 (console)
zstty1 at zs0 channel 1
zs1 at obio0 slot 0 offset 0x0 level 12 softpri 6
kmmux0 at zs1 channel 0 (1200 baud)
kbd0 at kmmux0
kbd1 at kmmux0
kbd2 at kmmux0
kmmux1 at zs1 channel 1 (1200 baud)
ms0 at kmmux1
ms1 at kmmux1
ms2 at kmmux1
slavioconfig at obio0 slot 0 offset 0x800000 not configured
auxreg0 at obio0 slot 0 offset 0x900000
power0 at obio0 slot 0 offset 0x910000 level 2
fdc0 at obio0 slot 0 offset 0x400000 level 11 softpri 4: chip 82077
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
iommu0 at mainbus0 addr 0x10000000: version 0x1/0x4, page-size 4096, range 64MB
sbus0 at iommu0: clock = 25 MHz
dma0 at sbus0 slot 4 offset 0x8400000: rev 2
esp0 at dma0 slot 4 offset 0x8800000 level 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
audioamd0 at sbus0 slot 4 offset 0x1300000 level 7 (ipl 13) softpri 4
audio0 at audioamd0: full duplex
bpp0 at sbus0 slot 4 offset 0xc800000 level 2 (ipl 3): rev 2
ledma0 at sbus0 slot 4 offset 0x8400010: rev 2
le0 at ledma0 slot 4 offset 0x8c00000 level 6: address 08:00:20:72:27:91
le0: 8 receive buffers, 2 transmit buffers
le0: supplying EUI64: 08:00:20:ff:fe:72:27:91
lpvi0 at sbus0 slot 1 offset 0x300000 level 13: interface rev 6
lpvi0: mapped at 0xfe02b000, nintr 1: <-2147483635/0>
panic: intr_establish: level 13 interrupt tied to fast vector
Stopped in swapper at   cpu_Debugger+0x4:       jmpl            [%o7 + 0x8], %g
0
db>