Subject: Re: splitting pciide
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Matt Thomas <matt@3am-software.com>
List: tech-kern
Date: 09/19/2003 15:01:51
On Friday, September 19, 2003, at 02:53 PM, Manuel Bouyer wrote:
> Hi,
> I've been thinking about a way to exclude chip-specific code from
> pciide,
> to be able to build smaller custom kernels (for example, the piix code
> is probably useless for all but i386). pciide.c is already large (text
> is
> 47744 on sparc64), and can only grow.
> I can see 2 solutions:
> 1) use kernel options and #ifdef.
> 2) split pciide in several smaller drivers.
>
> 1) is ugly, so if we want to do this it'll probably be 2)
>
> For this, pciide will have to be splitted in a common set of functions,
> and different chips-specific drivers (piixide, viaide, siside, etc ...)
> There will also a generic pciide driver, as a catch-all driver.
I think approach is best.
> As some controllers can't work with a generic pciide driver (e.g.
> the software raid adapters which identifies themselves as raid, or
> the cypress which has a special way of doing compat mode), the
> GENERIC and INSTALL 386 kernels will still need to have all the drivers
> (we can't use this to reduce the size of the i386 install media), but
> it can be helpfull for non-i386 PCI architectures.
>
> Comments ?
I'd say go for it.
> If we do this, I'd like to do it in the same time window as the atabus
> change I proposed in another mail, to have only one major change to the
> kernel config files.
Make sure you look at Charles Hannum's recent IDE commits. :)
--
Matt Thomas email: matt@3am-software.com
3am Software Foundry www: http://3am-software.com/bio/matt/
Cupertino, CA disclaimer: I avow all knowledge of this
message.