From owner-freebsd-current@FreeBSD.ORG Tue Jan 6 00:26:31 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8778316A4CE; Tue, 6 Jan 2004 00:26:31 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B85A43D2D; Tue, 6 Jan 2004 00:26:29 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id TAA31660; Tue, 6 Jan 2004 19:25:49 +1100 Date: Tue, 6 Jan 2004 19:25:45 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: ticso@cicely.de In-Reply-To: <20040105234430.GC39786@cicely12.cicely.de> Message-ID: <20040106190210.S2708@gamplex.bde.org> References: <20040105231533.GQ17023@cicely12.cicely.de> <20040105233138.GR17023@cicely12.cicely.de> <20040105233941.GB39786@cicely12.cicely.de> <20040105234430.GC39786@cicely12.cicely.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: ticso@cicely12.cicely.de cc: current@freebsd.org Subject: Re: Still IRQ routing problems with bridged devices. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 08:26:31 -0000 On Tue, 6 Jan 2004, Bernd Walter wrote: > On Tue, Jan 06, 2004 at 12:39:42AM +0100, Bernd Walter wrote: > > On Mon, Jan 05, 2004 at 04:33:45PM -0700, M. Warner Losh wrote: > > > In message: <20040105233138.GR17023@cicely12.cicely.de> > > > Bernd Walter writes: > > > : On Mon, Jan 05, 2004 at 04:24:27PM -0700, M. Warner Losh wrote: > > > : > In message: <20040105231533.GQ17023@cicely12.cicely.de> > > > : > Bernd Walter writes: > > > : > : The point is that it shouldn't take an IRQ for PCI which is configured > > > : > : for an ISA device in device.hints. > > > : > > > > : > We don't do that. > > > : > > > : We do! > > > : > > > : /boot/device.hints: > > > : hint.sio.0.irq="4" > > > : > > > : pci_cfgintr_virgin: using routable interrupt 4 > > > : pci_cfgintr: 0:4 INTD routed to irq 4 > > > > > > Ah, I see what you are saying. That would be hard to implement. Presumably pci is configured first, so the isa hint is ignored. > After rethinking - it wouldn't be a good idea either, because > GENERIC.hints would block to many possible IRQs :( > Too bad that ISA components have to be attached after PCI. Hints (including configurations read from the BIOS) should be mostly just hints, and accidental ordering of the probes should have no effect on which hint is preferred. Accidental ordering also causes longstanding problems for configuring fast interrupts -- it is not know at bus_setup_intr() time whether an interrupt can be fast, since subsequent bus_setup_intr()'s on the same irq may require it to be non fast. Drivers could handle this by delaying bus_setup_intr() until the device is active, but most don't (exception for a non-fast intr: lpt repeats bus_setup_intr() on every write()!), but they shouldn't have to. Even this is inadequate if devices are attached after boot time (other devices that use the same interrupt may be active, and the interrupt may need significant reorganization). Bruce