From owner-freebsd-current@FreeBSD.ORG Tue Dec 6 23:14:00 2005 Return-Path: X-Original-To: current@freebsd.org 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 A842F16A41F for ; Tue, 6 Dec 2005 23:14:00 +0000 (GMT) (envelope-from jfvogel@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.198]) by mx1.FreeBSD.org (Postfix) with ESMTP id DEF9B43D72 for ; Tue, 6 Dec 2005 23:13:59 +0000 (GMT) (envelope-from jfvogel@gmail.com) Received: by zproxy.gmail.com with SMTP id 40so201314nzk for ; Tue, 06 Dec 2005 15:13:59 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=JXDpsCIm4WvB0kRMH6oFteM4M87agkJ3pE6Hn0fsXBNB2J/AOlaVwGGJLljlSC2bcTKcCu2FDf2qezC/LYTId6uqtL5Po7fafoCeOOH4Mbcgm4RqBW4DEJYHJCupL2IeNlG/MyLiqslrXyHv+qWpiDvWxgfbcN4wb8N3gmAV5ug= Received: by 10.64.249.4 with SMTP id w4mr1149964qbh; Tue, 06 Dec 2005 15:13:58 -0800 (PST) Received: by 10.64.213.7 with HTTP; Tue, 6 Dec 2005 15:13:58 -0800 (PST) Message-ID: <2a41acea0512061513l10695474yc63df81c5c92fe8f@mail.gmail.com> Date: Tue, 6 Dec 2005 15:13:58 -0800 From: Jack Vogel To: Julian Elischer In-Reply-To: <43961758.4020407@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43961758.4020407@elischer.org> Cc: current@freebsd.org Subject: Re: can someone explain...[ PCI interrupts] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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 Dec 2005 23:14:00 -0000 On 12/6/05, Julian Elischer wrote: > In short words for the likes of me, > Can someone give a quicj roundup on PCI routing in 4.x and -current. > > Specifically: > > How much is set up by the BIOS and how much is set up by the OS (4.x and > -current). > > How much of my fondly held knowledge of the old hardware PICS (where > an interrupt corresponded to an interrupt line) is now out of date? > > In this world of multiple PCI to PCI bridges, how much latitude doe the > OS have in > deciding where an interrupt turns up? > (in 4.x and -current) > > An example is my Dell PE2850 (on 4.x), in which my 4 port ethernet card > seems to > be assigned irqs 10,14,14,2 in that order sometimes and 16,17,17,2 at > others. > > Who is making those decisions? Is it the BIOS and 4.x is just playing alo= ng? > > Assuming the much maligned "boot interrupt" comes in on irq2, does the OS > have the oportunity to put my 4th port somewhere else? On 4.x it collides > with one of my ether ports but in -current it doesn't > > Linux and -current on teh same box a;;ocate way different irqs, and > they agree about it.. i.e. Linux and -current assign my 4 port card IRQs > 18,19,19,16. > > Do they agree becasue something else has decided it (the bios again?) or > becasue they > use the same algorythm to work it out.. > > Also, if the "boot interrupt" was previously set to 2, is that likely to > have changed in -current? > Am I now going to get clobbered on IRQ16? If yes, is this something > that teh BIOS writers > decided, or something that the Motherboard designers decided? The canonical method for getting this kind of information now (and at least current Linux kernels do this unless forced not to) is via ACPI... And indirectly that really means how the BIOS sets up its tables. I'm still coming up to speed on the current FreeBSD kernel, but I would hope it does the same :) Cheers, Jack