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:34:49 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-head mailing list