Date: Sat, 04 Oct 2008 10:57:17 -0700 From: Oleksandr Tymoshenko <gonzo@bluezbox.com> To: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@FreeBSD.ORG> Cc: freebsd-arch@FreeBSD.ORG Subject: Re: Modular ata chipsets data Message-ID: <48E7AE7D.6020709@bluezbox.com> In-Reply-To: <0D306A28-85B2-413D-8A28-862C3C2CE18E@FreeBSD.ORG> References: <48E6D21E.8040808@bluezbox.com> <0D306A28-85B2-413D-8A28-862C3C2CE18E@FreeBSD.ORG>
next in thread | previous in thread | raw e-mail | index | archive | help
Søren Schmidt wrote: > Hi > > (Please keep me CC'd as I do not normally read the list) > > Anyhow, what I would like to see is that the chipset support get moved > into kernel modules, preferably auto-loadable when a given vendor is > detected, but for starters that could be left out. This is the way to go > for vendor supplied modules as well. I have a least 2 vendors that are > looking into that way of providing support for new chipsets. For a small > kernel you just load the module(s) you need and voila. > > I have VIP in that direction, but its not finished yet, but spiitting up > things is pretty trivial for the most part, except a few gotchas here > and there that will make at least autoloading a wee bit tricky. > > I guess the tedious part is to get all the code moved around into > seperate files, how the actual compile/link/load should be done is a > minor part that can be added when the seperaion is done. > However, I do have most of that in place in a tree here, so thats more > or less done already, I just need to pull out the right tree here and > that part should be dealt with more or less. Great, I'll wait for results of your work to hit svn. > PS: in your patch you suddenly got exclusive Copyright on the Intel and > AHCI code, that will get you bad karma :) Ha! I cheated by helping old ladies across the street and got some extra karma to burn:) As I told - my vim is the one to be blamed, these copyrights wasn't going to make it into svn commit anyway :) > -Søren > > > On 4Oct, 2008, at 4:17 , Oleksandr Tymoshenko wrote: > >> Hello -arch, >> >> I was playing with p4 mips2 branch catching up with recent developments >> and trying to reduce kernel size for MALTA configuration. At some point >> I ran into ata-chipset.c. This file contains all ATA chipsets supported >> by FreeBSD so it was a natural candidate for axing. I hacked small >> proof-of-concept framework for pluggable ATA chipsets. The idea is to >> move all vendor-related code to separated modules (.c, not .ko), >> register each during compile/link-time using ATA_CHIPSET macros >> (utilizes DATA_SET for this purpose) and provide each chipset with >> kernel config option. Something like this Warner did to miibus/*phy >> about two years ago. >> >> So far I got only Intel vendor working (tested with Gxemul) and would >> like to know if it's worth to keep moving in this direction and what >> possible pitfalls may appear. >> >> 90Kb is not that dramatical improvement :), but it's better then nothing >> and code readability should be better after splitting 180K file into >> several, IMHO. >> >> Patch: http://people.freebsd.org/~gonzo/embedded/modular-ata.diff >> don't mind copyrights, they're automatically inserted by vim. >> >> -- >> gonzo >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48E7AE7D.6020709>