From owner-freebsd-current Tue Jun 12 2:40:28 2001 Delivered-To: freebsd-current@freebsd.org Received: from peter3.wemm.org (c1315225-a.plstn1.sfba.home.com [65.0.135.147]) by hub.freebsd.org (Postfix) with ESMTP id 119EB37B405 for ; Tue, 12 Jun 2001 02:40:23 -0700 (PDT) (envelope-from peter@wemm.org) Received: from overcee.netplex.com.au (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id f5C9eJM76583 for ; Tue, 12 Jun 2001 02:40:19 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id 7FE66390F for ; Tue, 12 Jun 2001 02:40:19 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.3.1 01/18/2001 with nmh-1.0.4 To: current@freebsd.org Subject: HEADS UP: hints implementation repairs in -current! Date: Tue, 12 Jun 2001 02:40:19 -0700 From: Peter Wemm Message-Id: <20010612094019.7FE66390F@overcee.netplex.com.au> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The potential for breakage is there, but I've tested just about everything I can think of for now. Ideally there should not be any user visible differences. In a nutshell: - several poorly thought out API's for doing some stuff that cam etc needed has been removed with extreme prejudice (resource_locate() and resource_query_*() etc) and replaced with resource_find_*() which are a lot cleaner and more flexible. Use of these was quite minimal fortunately. - the backing databases are now the raw string tables. This means we can get access to the hints well before malloc() is running. - resource_get_*() is unchanged, but the implementation is a LOT better, for example, if you ask for the value of "hint.foo.0.bar=1" as a string, you will get a string "1" instead of an EINVAL. If you ask for it as an integer you will get the integer 1. This eliminates the evil heuristics to try and guess what was a string and what was an integer. - resource_set_*() is currently broken. For now, use 'set' and 'show' at the command line to change device wiring instead of userconfig. Note that you can override static fallback hints. This needs a working setenv() for the kernel, should anybody feel energetic. - because of resource_set_(), this means that old style 'sensitive' isa drivers cannot set their 'sensitive' flag. This affects: "rdp" What could go wrong? I have had a couple of infinite loops that were caused by mistakes during the API conversion, that I have since fixed. I dont believe there are any more. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message