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>