From owner-freebsd-current@FreeBSD.ORG Fri Jan 7 20:12:05 2005 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 65A6516A4CE; Fri, 7 Jan 2005 20:12:05 +0000 (GMT) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2806943D1D; Fri, 7 Jan 2005 20:12:05 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.34] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id j07KC3GV018814 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 7 Jan 2005 12:12:04 -0800 Message-ID: <41DEED05.4040000@root.org> Date: Fri, 07 Jan 2005 12:11:49 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <20587818.1102626838092.JavaMail.tomcat@pne-ps4-sn1> <41DEC937.5030709@telia.com> <41DED722.7070801@root.org> <200501071451.01876.jhb@FreeBSD.org> In-Reply-To: <200501071451.01876.jhb@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-current@FreeBSD.org Subject: Re: page fault panic in device_get_softc/acpi_pcib_route_interrupt 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: Fri, 07 Jan 2005 20:12:05 -0000 John Baldwin wrote: > > Err, I just use the _PRT walk to force the device_t to attach if it doesn't > already. The device will always attach though, even it's not referenced, it > just does so in the regular new-bus order, so all links are probed, and ones > that aren't referenced by any _PRT's that we parse do get disabled via _DIS. Ah, I see. That is a reasonable approach. >>The ASL patch John just sent should fix your issue. My question if this >>works is why it just started occuring and also, what the proper handle >>to use is for relative references (i.e., why didn't AcpiGetHandle(ROOT, >>"LPUS") work since \LPUS is right under the root?) > > Yes, this is a good question, and I'm not sure my ASL patch will fix his > problem. I wonder if he is getting back a NULL ACPI_HANDLE? Pawel, can you split out the lines so we can isolate where the panic is occurring? At the end of acpi_pcib.c, before the call to acpi_pci_link_route_interrupt(), add: { device_t foo = acpi_get_device(lnkdev); printf("acpi handle %p, name %s\n", lnkdev, lnkdev? acpi_name(lnkdev) : "none"); printf("link device: %p index %d\n", foo, prt->SourceIndex); printf("device parent %s, state %x\n", device_get_nameunit(device_get_parent(foo)), device_get_state(foo)); } -- Nate