4 Oct 2008 19:57
Re: Modular ata chipsets data
Oleksandr Tymoshenko <gonzo <at> bluezbox.com>
2008-10-04 17:57:17 GMT
2008-10-04 17:57:17 GMT
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 >> _______________________________________________ freebsd-arch <at> freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arch To unsubscribe, send any mail to "freebsd-arch-unsubscribe <at> freebsd.org"