From owner-freebsd-current Tue Jun 1 12:36:58 1999 Delivered-To: freebsd-current@freebsd.org Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.26.10.9]) by hub.freebsd.org (Postfix) with ESMTP id 6EF8215787 for ; Tue, 1 Jun 1999 12:36:54 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id FAA11098; Wed, 2 Jun 1999 05:36:52 +1000 Date: Wed, 2 Jun 1999 05:36:52 +1000 From: Bruce Evans Message-Id: <199906011936.FAA11098@godzilla.zeta.org.au> To: current@FreeBSD.ORG, newton@atdot.dotat.org Subject: Re: IRQ sharing with newbus Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG >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). >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()?). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message