Modular ata chipsets data

Søren Schmidt sos at FreeBSD.ORG
Sat Oct 4 10:51:19 UTC 2008


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.

PS: in your patch you suddenly got exclusive Copyright on the Intel  
and AHCI code, that will get you bad karma :)

-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
>

-Søren








More information about the freebsd-arch mailing list