Skip site navigation (1)Skip section navigation (2)
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>