svn commit: r183724 - in head/sys: conf dev/ata
dev/ata/chipsets modules/ata modules/ata/ata
modules/ata/atacore modules/ata/atadevel modules/ata/atapci
modules/ata/atapci/chipsets modules/ata/atap...
Joao Barros
joao.barros at gmail.com
Fri Nov 7 04:35:42 PST 2008
On Thu, Oct 9, 2008 at 12:56 PM, Søren Schmidt <sos at freebsd.org> wrote:
>
> Author: sos
> Date: Thu Oct 9 12:56:57 2008
> New Revision: 183724
> URL: http://svn.freebsd.org/changeset/base/183724
>
> Log:
> This is the roumored ATA modulerisation works, and it needs a little explanation.
>
> If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
>
> However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
>
> atacore: ATA core functionality, always needed for any ATA setup
>
> atacard: CARDBUS support
> atacbus: PC98 cbus support
> ataisa: ISA bus support
> atapci: PCI bus support only generic chipset support.
>
> ataahci: AHCI support, also pulled in by some vendor modules.
>
> ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
>
> atadisk: ATA disk driver
> ataraid: ATA softraid driver
>
> atapicd: ATAPI cd/dvd driver
> atapifd: ATAPI floppy/flashdisk driver
> atapist: ATAPI tape driver
>
> atausb: ATA<>USB bridge
> atapicam: ATA<>CAM bridge
>
> This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
>
> device atacore
> device atapci
> device atavia
>
> And then you need the atadisk, atapicd etc lines in there just as usual.
>
> If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
> However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
(snip)
>
> Deleted:
> head/sys/dev/ata/ata-chipset.c
> head/sys/modules/ata/ata/Makefile
> Modified:
> head/sys/conf/files
> head/sys/dev/ata/ata-all.c
> head/sys/dev/ata/ata-all.h
> head/sys/dev/ata/ata-dma.c
> head/sys/dev/ata/ata-pci.c
> head/sys/dev/ata/ata-pci.h
Hi Søren,
There is a stale reference to ata-chipset.c and ident functions in
ata-pci-h after this change:
/* global prototypes ata-chipset.c */
int ata_generic_ident(device_t);
int ata_ahci_ident(device_t);
int ata_acard_ident(device_t);
int ata_ali_ident(device_t);
int ata_amd_ident(device_t);
int ata_ati_ident(device_t);
int ata_cyrix_ident(device_t);
int ata_cypress_ident(device_t);
int ata_highpoint_ident(device_t);
int ata_intel_ident(device_t);
int ata_ite_ident(device_t);
int ata_jmicron_ident(device_t);
int ata_marvell_ident(device_t);
int ata_national_ident(device_t);
int ata_nvidia_ident(device_t);
int ata_netcell_ident(device_t);
int ata_promise_ident(device_t);
int ata_serverworks_ident(device_t);
int ata_sii_ident(device_t);
int ata_sis_ident(device_t);
int ata_via_ident(device_t);
int ata_legacy(device_t);
--
Joao Barros
More information about the svn-src-all
mailing list