From owner-freebsd-current@FreeBSD.ORG Wed Aug 18 16:44:49 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 6493316A4CE; Wed, 18 Aug 2004 16:44:49 +0000 (GMT) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2978943D1F; Wed, 18 Aug 2004 16:44:49 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.34] (adsl-67-127-84-57.dsl.snfc21.pacbell.net [67.127.84.57]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id i7IGil8U013804; Wed, 18 Aug 2004 09:44:48 -0700 Message-ID: <41238213.6030804@root.org> Date: Wed, 18 Aug 2004 09:21:39 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 0.7 (X11/20040702) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Armstrong References: <41231E6E.80405@mirdev.net> In-Reply-To: <41231E6E.80405@mirdev.net> Content-Type: multipart/mixed; boundary="------------080601000100080201020602" cc: David Malone cc: freebsd-acpi@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: acpi link set: _CRS failed / calcru: negative runtime in -CURRENT 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: Wed, 18 Aug 2004 16:44:49 -0000 This is a multi-part message in MIME format. --------------080601000100080201020602 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit John Armstrong wrote: > I recently decided to shift from 5.2.1p9 to 5.2-CURRENT on my home > server, but I've been having trouble getting a fully bootable kernel, > with the issue being a string of 'calcru: negative runtime' errors > followed by a freeze after start_init even with a GENERIC kernel. > > I can however successfully boot with ACPI disabled, although that > presents another problem as one of my NICs dies with no ACPI, *sigh* ;). > Anyway, after a little hunt through dmesg I noted some ACPI errors when > enabled: > > > acpi link set: _CRS failed for link \_SB_.PCI0.ALKB - AE_NULL_ENTRY > unknown: _SRS failed, irq 21 via \_SB_.PCI0.ALKB > acpi link set: _CRS failed for link \_SB_.PCI0.ALKD - AE_NULL_ENTRY > unknown: _SRS failed, irq 23 via \_SB_.PCI0.ALKD > > > I'm taking a wild stab in the dark and guessing that the ACPI timer is > going a little berserk which may be causing the negative runtime errors, > although to tell the truth I'm a complete newbie as far as this sort of > thing goes. > > Attached is the dmesg from a boot -v .. if there is anything else you'd > like me to provide please let me know. Try the patch I just committed (also attached). -Nate --------------080601000100080201020602 Content-Type: text/plain; name="link.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="link.diff" njl 2004-08-18 16:39:59 UTC FreeBSD src repository Modified files: sys/dev/acpica acpi_pci_link.c Log: If _CRS fails, assume that it succeeded. The ASUS K8V (and others) defines single-entry irq links even though it uses an APIC. It appears that it ignores _SRS when in APIC mode but returns a valid irq at other times. Revision Changes Path 1.25 +1 -2 src/sys/dev/acpica/acpi_pci_link.c Index: src/sys/dev/acpica/acpi_pci_link.c --- src/sys/dev/acpica/acpi_pci_link.c:1.24 Fri Aug 13 19:27:21 2004 +++ src/sys/dev/acpica/acpi_pci_link.c Wed Aug 18 16:39:59 2004 @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: /repoman/r/ncvs/src/sys/dev/acpica/acpi_pci_link.c,v 1.24 2004/08/13 19:27:21 njl Exp $"); +__FBSDID("$FreeBSD: /repoman/r/ncvs/src/sys/dev/acpica/acpi_pci_link.c,v 1.25 2004/08/18 16:39:59 njl Exp $"); #include "opt_acpi.h" #include @@ -648,10 +648,9 @@ * assume we were successful. */ error = acpi_pci_link_get_current_irq(link, &link->current_irq); - if (ACPI_FAILURE(error)) { + if (ACPI_FAILURE(error) && bootverbose) { printf("acpi link set: _CRS failed for link %s - %s\n", acpi_name(link->handle), AcpiFormatException(error)); - goto out; } if (link->current_irq != irq) { printf("acpi link set: curr irq %d != %d for %s (ignoring)\n", --------------080601000100080201020602--