From owner-freebsd-acpi@FreeBSD.ORG Fri Oct 28 16:31:59 2005 Return-Path: X-Original-To: freebsd-acpi@FreeBSD.org Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D28716A41F; Fri, 28 Oct 2005 16:31:59 +0000 (GMT) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1304043D46; Fri, 28 Oct 2005 16:31:58 +0000 (GMT) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.1/8.13.1) with ESMTP id j9SGeU3f083989; Fri, 28 Oct 2005 12:40:30 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: John Baldwin Date: Fri, 28 Oct 2005 12:31:39 -0400 User-Agent: KMail/1.6.2 References: <971FCB6690CD0E4898387DBF7552B90E0323D7B6@orsmsx403.amr.corp.intel.com> <4361774E.3010709@root.org> <200510280958.59985.jhb@freebsd.org> In-Reply-To: <200510280958.59985.jhb@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Message-Id: <200510281231.43130.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV devel-20050919/1149/Thu Oct 27 16:20:09 2005 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: freebsd-acpi@FreeBSD.org, Mathieu Prevot Subject: Re: ACPI errors on amd64 (sempron) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Oct 2005 16:31:59 -0000 On Friday 28 October 2005 09:58 am, John Baldwin wrote: > On Thursday 27 October 2005 08:56 pm, Nate Lawson wrote: > > Jung-uk Kim wrote: > > > On Thursday 27 October 2005 08:08 pm, Nate Lawson wrote: >> I disagree.  It's very clear what the alignment requirements are on >> amd64 and that acpi-ca is being too strict, harming an actual >> implementation. > > I think it only shuts up a warning, does it actually change the > behavior? That was exactly my thought. ;-) > > > In fact, I have seen somebody else had similar problem: > > > > > > http://bsdforum.or.kr/viewtopic.php?p=5414#5414 > > > > > > It's Korean BSD User Forum but you may be able to read this: > > > > > > pci_link26: BIOS IRQ 10 for -2145771032.1.INTA is invalid > > > pci_link21: BIOS IRQ 11 for -2145771032.2.INTA is invalid > > > pci_link27: BIOS IRQ 3 for -2145771032.2.INTB is invalid > > > pci_link23: BIOS IRQ 10 for -2145771032.10.INTA is invalid > > > pci_link24: BIOS IRQ 11 for -2145771032.4.INTA is invalid > > > pci_link29: BIOS IRQ 11 for -2145771032.7.INTA is invalid > > > pci_link30: BIOS IRQ 10 for -2145771032.8.INTA is invalid > > > > Yes, I agree that this alone doesn't fix it. This looks to me > > like the pci_link code is pointing the interrupt source at the > > wrong part of the resource descriptor. Perhaps it is not > > incrementing the pointer correctly for 64-bit arches. > > > >From the actual code: > > /* Validate the BIOS IRQ. */ > if (!link_valid_irq(link, bios_irq)) { > device_printf(dev, "BIOS IRQ %u for %d.%d.INT%c is invalid\n", > bios_irq, pcib_get_bus(pcib), slot, pin + 'A'); > > Thus, the weird value is being retuned by pcib_get_bus(), it's not > coming out of ACPI at all. ACPI dosen't provide bus numbers, just > the slot and pin, we have to extract the bus number from the ACPI > device that has a _PRT object. what's really odd is that he is even > getting valid-looking IRQs, since we use pcib_get_bus() as the bus > number for configuration transactions. It's probably getting > truncated down to the low byte at some point and thus reading the > wrong bus, hence getting invalid IRQs I guess. The real question > here is why pcib_get_bus() is broken on this bridge. Please note that the message I posted is not from the same chipset, i. e., nForce4 chipset. The only common thing here is Athlon64/Sempron with Award BIOS. Maybe the BIOS is culprit here? Shrug... Jung-uk Kim