Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Oct 2008 12:19:30 +0200
From:      =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@FreeBSD.ORG>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        freebsd-arch@FreeBSD.ORG
Subject:   Re: Modular ata chipsets data
Message-ID:  <0D306A28-85B2-413D-8A28-862C3C2CE18E@FreeBSD.ORG>
In-Reply-To: <48E6D21E.8040808@bluezbox.com>
References:  <48E6D21E.8040808@bluezbox.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 =20=

into kernel modules, preferably auto-loadable when a given vendor is =20
detected, but for starters that could be left out. This is the way to =20=

go for vendor supplied modules as well. I have a least 2 vendors that =20=

are looking into that way of providing support for new chipsets. For a =20=

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

up things is pretty trivial for the most part, except a few gotchas =20
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 =20
seperate files, how the actual compile/link/load should be done is a =20
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 =20=

or less done already, I just need to pull out the right tree here and =20=

that part should be dealt with more or less.

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

-S=F8ren


On 4Oct, 2008, at 4:17 , Oleksandr Tymoshenko wrote:

> Hello -arch,
>
> I was playing with p4 mips2 branch catching up with recent =20
> developments
> and trying to reduce kernel size for MALTA configuration. At some =20
> point
> I ran into ata-chipset.c. This file contains all ATA chipsets =20
> 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 =20
> 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.
>
> --=20
> gonzo
>

-S=F8ren









Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D306A28-85B2-413D-8A28-862C3C2CE18E>