From owner-freebsd-arch@FreeBSD.ORG Thu Oct 9 07:44:29 2008 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 226B8106568C; Thu, 9 Oct 2008 07:44:29 +0000 (UTC) (envelope-from sos@FreeBSD.ORG) Received: from deepcore.dk (adsl.deepcore.dk [87.63.29.106]) by mx1.freebsd.org (Postfix) with ESMTP id 846C58FC18; Thu, 9 Oct 2008 07:44:28 +0000 (UTC) (envelope-from sos@FreeBSD.ORG) Received: from [192.168.0.138] ([192.168.0.138]) by deepcore.dk (8.14.3/8.14.2) with ESMTP id m997iGqT033826; Thu, 9 Oct 2008 09:44:16 +0200 (CEST) (envelope-from sos@FreeBSD.ORG) Message-Id: <60D39D64-FBE6-4646-AFEA-8AE8E5CE9E83@FreeBSD.ORG> From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= To: John Baldwin In-Reply-To: <200810081743.45011.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v929.2) Date: Thu, 9 Oct 2008 09:44:15 +0200 References: <48E6D21E.8040808@bluezbox.com> <48E7AE7D.6020709@bluezbox.com> <8C0B1202-5DF8-45CF-82EA-03367BFABAE7@FreeBSD.ORG> <200810081743.45011.jhb@freebsd.org> X-Mailer: Apple Mail (2.929.2) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0 (deepcore.dk [217.20.59.72]); Thu, 09 Oct 2008 09:44:16 +0200 (CEST) Cc: Oleksandr Tymoshenko , freebsd-arch@FreeBSD.ORG Subject: Re: Modular ata chipsets data X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Oct 2008 07:44:29 -0000 On 8Oct, 2008, at 23:43 , John Baldwin wrote: > On Saturday 04 October 2008 02:31:35 pm S=F8ren Schmidt wrote: >> I found the devel tree with a modulerized ATA subsystem in it, and >> just upgraded it to the latest greatest from -current. >> It can be found on http://deepcore.dk/pub/ATA as two files, ata- >> modules-diff that contains a diff for /sys/conf/files and ata- >> modules.tgz that is a replacement for /sys/dev/ata. >> This turns the chipset parts into a module for each vendor, and they >> are all compiled in as is, however they can be left out on a pr =20 >> vendor >> basis (there are a few interdependencies though). >> I havn't written all the /sys/modules/ata/*/Makefiles that it would >> take to make it into loadable modules, but thats trivial todo. >> >> Now what I'd like to find good generic solutions to is: >> >> How to select the proper modules at config/compile time without >> drowning in "option ATA_BLA_BLA" in the config. > > What happens with mii is that you have a choice, you can either use =20= > 'device > miibus' in which case you get all of the various drivers and the > infrastructure, or you can use 'dvice mii', 'device rlphy', etc. if =20= > you wish > to take a more fine-grained approach. Similarly, there is a =20 > miibus.ko that > just depends on all the sub-drivers so you can still do 'kldload =20 > miibus.ko' > to load all of them. I think this is probably a fine model as it =20 > will still > load everything by default, but people who care about the space =20 > savings can > trim things down as desired. Yep, I thought about that one too and I like the idea. I'm close to =20 having it all sorted out and ready to commit, just need to polish =20 things up a bit. I should make no functional changes just restructure =20= chipset code into seperate files. -S=F8ren