From owner-freebsd-current@FreeBSD.ORG Tue Jan 6 14:46:43 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 D458616A4CE for ; Tue, 6 Jan 2004 14:46:43 -0800 (PST) Received: from mail6.speakeasy.net (mail6.speakeasy.net [216.254.0.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C75143D3F for ; Tue, 6 Jan 2004 14:46:42 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 22370 invoked from network); 6 Jan 2004 22:46:40 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 6 Jan 2004 22:46:40 -0000 Received: from atl544379.corp.weather.com (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i06MkIM2027798; Tue, 6 Jan 2004 17:46:28 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Doug White , "M. Warner Losh" Date: Tue, 6 Jan 2004 17:13:27 -0500 User-Agent: KMail/1.5.4 References: <20040105181456.L85414@carver.gumbysoft.com> <20040105.201823.01024697.imp@bsdimp.com> <20040106111031.S95008@carver.gumbysoft.com> In-Reply-To: <20040106111031.S95008@carver.gumbysoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200401061713.27963.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: current@freebsd.org Subject: Re: IRQ routing debugging help 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 22:46:44 -0000 On Tuesday 06 January 2004 02:13 pm, Doug White wrote: > On Mon, 5 Jan 2004, M. Warner Losh wrote: > > : So whats the next step? > > > > Are you set for fresh goat entrails? How about Eye of Newt? :-) > > I've got the rubber gloves and bleach handy :) > > > The next step is to find the $PIR table. This will give you one set > > of information. Here's a sample PIR table, the format may be a little > > different than what I've presented here: > > How do you find this? This system doesn't appear to have one; it doesn't > show up in boot -v with either SMP or UP kernels, with or without apic. > > > If an interrupt works under non-ACPI, then you can use something like > > hw.acpi.pci.link.%d.%d.%d.irq to route it. First %d busno, then %d > > slot and the last %d is pin. A is 0, B is 1, etc. If non-ACPI works, > > then you you can power through things by doing something like > > > > hw.acpi.pci.link.2.12.0.irq=11 > > hw.acpi.pci.link.2.15.0.irq=5 > > I guess I have a bad example. The affected component on this system, the > keyboard, is an ISA interrupt. > > Comparing ACPI and non-ACPI boots, the main difference is in the final > apic programming. In Non-ACPI, it looks like this: > > ioapic1: routing intpin 2 (IRQ 18) to cluster 0 > ioapic1: routing intpin 8 (IRQ 24) to cluster 0 > ioapic1: routing intpin 9 (IRQ 25) to cluster 0 > ioapic0: routing intpin 1 (IRQ 1) to cluster 0 > ioapic0: routing intpin 4 (IRQ 4) to cluster 0 > ioapic0: routing intpin 6 (IRQ 6) to cluster 0 > ioapic0: routing intpin 8 (IRQ 8) to cluster 0 > ioapic0: routing intpin 11 (IRQ 11) to cluster 0 > ioapic0: routing intpin 13 (IRQ 13) to cluster 0 > ioapic0: routing intpin 14 (IRQ 14) to cluster 0 > ioapic0: routing intpin 15 (IRQ 15) to cluster 0 > > In ACPI, the intpin 1 line is missing: > ioapic1: routing intpin 2 (IRQ 18) to cluster 0 > ioapic1: routing intpin 8 (IRQ 24) to cluster 0 > ioapic1: routing intpin 9 (IRQ 25) to cluster 0 > ioapic0: routing intpin 4 (IRQ 4) to cluster 0 > ioapic0: routing intpin 6 (IRQ 6) to cluster 0 > ioapic0: routing intpin 7 (IRQ 7) to cluster 0 > ioapic0: routing intpin 8 (IRQ 8) to cluster 0 > ioapic0: routing intpin 11 (IRQ 11) to cluster 0 > ioapic0: routing intpin 13 (IRQ 13) to cluster 0 > ioapic0: routing intpin 14 (IRQ 14) to cluster 0 > ioapic0: routing intpin 15 (IRQ 15) to cluster 0 > > So there's something specifically funky with IRQ 1 in the ACPI case. > I'll extract the DSDT and take a poke around. That would just have no keyboard. Do you have your verbose boot output from the ACPI case? acpidump -t would be useful too. Not the full ASL, just the table dump. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org