On Wed, 2 Jun 1999, Bruce Evans wrote:

> >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).
> 
> This was apparently broken when sio was converted to new-bus.  The driver
> (actually mainly isa.c) used to simply skip irq allocation for devices
> with no irq (COM_MULTIPORT non-master ones and polled ones).

This is almost certainly just simple breakage. I'll take a look at the
code and see if I can spot something. The slave devices shouldn't be
trying to allocate interrupts at all.

> 
> >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.
> 
> I don't understand why this doesn't get further, since the RF_SHAREABLE
> flag is (incorrectly) specified.  sio fast interrupts are particularly
> unshareable.  sio now forces fast interrupts, although this is wrong for
> sio pccard devices.
> 
> >So, guys -- What is the officially blessed way of sharing IRQs under
> >newbus?
> 
> It should be almost the same as it used to be: specify RF_SHAREABLE for
> allocating shared irq resources; this corresponds to not specifying
> INTR_EXCL in the pre-new-bus interface (intr_create()?).

I don't think the sio multiport stuff needs to use RF_SHAREABLE - the
master device knows how to field interrupts for the slaves (at least thats
how I understood it).

--
Doug Rabson                             Mail:  d...@nlsystems.com
Nonlinear Systems Ltd.                  Phone: +44 181 442 9037




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to