From owner-freebsd-current@FreeBSD.ORG Sat Jul 16 17:21:58 2005 Return-Path: X-Original-To: freebsd-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 BF0A316A41F; Sat, 16 Jul 2005 17:21:58 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.village.org (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A8A443D49; Sat, 16 Jul 2005 17:21:58 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1]) by harmony.village.org (8.13.3/8.13.3) with ESMTP id j6GHLVKu031137; Sat, 16 Jul 2005 11:21:31 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 16 Jul 2005 11:22:14 -0600 (MDT) Message-Id: <20050716.112214.77059285.imp@bsdimp.com> To: harrycoin@qconline.com From: "M. Warner Losh" In-Reply-To: <4.3.2.7.2.20050716114020.01f0fcb8@mail.qconline.com> References: <42D82D59.9060605@root.org> <20050716.103028.04060625.imp@bsdimp.com> <4.3.2.7.2.20050716114020.01f0fcb8@mail.qconline.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org, nate@root.org Subject: Re: mss.c pcm fix to ' attach returned 6 ' load failure for v5.x acpi and up 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: Sat, 16 Jul 2005 17:21:58 -0000 In message: <4.3.2.7.2.20050716114020.01f0fcb8@mail.qconline.com> Harry Coin writes: : 1) Document a way or make an OS change to make certain non-pnp isa probe : routines are never called any time while pnp isa resources haven't been put : to sleep. They arne't. The CARDS are put to sleep. However, PNPBIOS devices can't be put to sleep, in general. PCI resources aren't put to sleep. Your probe routine should, in the non-pnp case, only be looking at the hinted resources for that device. : So that these probe routines will only be called after the : field is clear and they can rummage around the register space looking for probe routines aren't supposed to do that. Probe routines are supposed to answer the question 'Is this hardware at the specified location.' identify routines are allowed to go looking, but even they are supposed to only look at 'alternative enumeration techniques' rather than 'probing through the address space'. Such probing was banished in FreeBSD 3.0. : their chips -- and they don't accidentally find compatible PCI versions : previously or yet to be found by their PCI probe modern driver cousins. The : isa part of the architecture manual ought to be updated to reflect how : properly to do this. Where is this manual of which you speak? I'd sure like to change it to be right. : (Are there cases where the non-pnp routines being : called in the acpi context pass the currently iffy pnp-gate and find and : enable operations of pnp chips that the pnp-routines don't have in their : 'acceptable id' list? My hunch in the sound chip world is 'yes'. So this : fix might break audio on systems that don't have the pnp ids in the pnp : soundchip ISA_PROBE roster as yet.) I don't understand what you are suggesting here. : 2) change non-pnp isa drivers to do as the architecture manual currently : suggests, with inelegance that John noted (ISA_PNP_PROBE with the null list : then continue only if no pnp id for the device). I don't understand this either. Please be more specific. I'm coming to the conversation late. : 3) make a device_is_pnp OS call that does 2 and avoids the inelegance, then : update the architecture manual for isa drivers and also the isa drivers : themselves. I've already said that this isn't needed, and likely indicates some abuse of the model. I suspect that the abuse is that the probe routine bogusly goes and looks for resources not assigned to it in the hopes of finding hardware. Warner