Date: Tue, 1 Jun 1999 21:27:09 +0930 (CST) From: Mark Newton <newton@atdot.dotat.org> To: current@freebsd.org Subject: IRQ sharing with newbus Message-ID: <199906011157.VAA00496@atdot.dotat.org>
next in thread | raw e-mail | index | archive | help
I've blown the dust off an old ISA multiport serial card. In the
old days, I used to make it work with BSD by including "options
COM_MULTIPORT" and using the following config file directives:
device sio2 at isa? port 0x280 tty flags 0x0201 irq 5 vector siointr
device sio3 at isa? port 0x288 tty flags 0x0201
device sio4 at isa? port 0x290 tty flags 0x0201
device sio5 at isa? port 0x298 tty flags 0x0201
device sio6 at isa? port 0x2a0 tty flags 0x0201
device sio7 at isa? port 0x2a8 tty flags 0x0201
device sio8 at isa? port 0x2b0 tty flags 0x0201
device sio9 at isa? port 0x2b8 tty flags 0x0201
Under newbus, of course, things look slightly different, so I tried
this:
device sio2 at isa? port 0x280 flags 0x0201 irq 5
device sio3 at isa? port 0x288 flags 0x0201
device sio4 at isa? port 0x290 flags 0x0201
[ ... ]
device sio9 at isa? port 0x2b8 flags 0x0201
Natch: "panic: NULL irq resource!" from nexus_setup_intr() in
sys/i386/i386/nexus.c while probing sio3 (and I know that sio2
is probing successfully - see below).
Assuming (from the panic message) that it wants an IRQ, I've tried this:
device sio2 at isa? port 0x280 flags 0x0201 irq 5 conflicts
device sio3 at isa? port 0x288 flags 0x0201 irq 5 conflicts
[ ... ]
device sio9 at isa? port 0x2b8 flags 0x0201 irq 5 conflicts
Same bat-panic, same bat-probe.
If I boot -c and disable sio3-thru-sio9, the kernel successfully probes
and boots, but the "slave" ports on the serial card will, of course, never
be seen. (This is how I know it's the sio3 probe that's causing the panic).
I'm guessing the reason for this is that an IRQ that has been "eaten"
by a device under the newbus architecture is made unavailable for subsequent
devices, so the "irq 5" hint on sio3-thru-sio9 is ignored, and there are
no alternatives the device can try instead.
So, guys -- What is the officially blessed way of sharing IRQs under
newbus?
- mark
--------------------------------------------------------------------
I tried an internal modem, newton@atdot.dotat.org
but it hurt when I walked. Mark Newton
----- Voice: +61-4-1620-2223 ------------- Fax: +61-8-82231777 -----
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906011157.VAA00496>
