freebsd-dev/sys/conf
Søren Schmidt 13014ca04a 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.
2008-10-09 12:56:57 +00:00
..
defines
files This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
files.amd64 Add freebsd32 compat shims for ioctl(2) 2008-09-22 16:09:16 +00:00
files.arm Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
files.i386 Update to xen specific files for SMP 2008-09-23 03:13:33 +00:00
files.ia64 Add freebsd32 compat shims for ioctl(2) 2008-09-22 16:09:16 +00:00
files.mips Add atheros HAL building so the IDT kernel can build. 2008-09-19 19:46:11 +00:00
files.pc98 Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches and 2008-09-10 18:36:58 +00:00
files.powerpc Add DMA support for Apple built-in ATA controllers. 2008-09-27 15:13:44 +00:00
files.sparc64 Add a driver for Schizo' Fireplane/Safari to PCI 2.1 and Tomatillo' 2008-09-28 00:07:05 +00:00
files.sun4v Switch sun4v to back to using its own clock.c, which was ressurected 2008-09-03 17:31:13 +00:00
kern.mk Disable SSP for mips until support is added to the base architecture. 2008-07-23 06:16:34 +00:00
kern.post.mk Add CTF conversion to the objects compiled from generated code. 2008-07-05 06:12:14 +00:00
kern.pre.mk Update cxgb include paths to not require prefixing with dev/cxgb 2008-09-23 03:16:54 +00:00
kmod_syms.awk
kmod.mk Allow clock_if.m to be referenced by kernel modules, this is useful 2008-10-02 14:45:29 +00:00
ldscript.amd64
ldscript.arm Create a non-elf pure binary version of the kernel as well. 2005-11-24 02:25:49 +00:00
ldscript.i386
ldscript.ia64
ldscript.mips Merge from p4: add Juniper license statement. 2008-09-19 03:36:37 +00:00
ldscript.mips.cfe Make ld use tradmips for output formats since we migrated to it. 2008-04-30 12:44:58 +00:00
ldscript.powerpc Avoid hardcoding the kernel link address in the linker script. 2008-02-27 00:03:23 +00:00
ldscript.sparc64
Makefile.amd64 Add a kernel option for amd64 to compile with the frame on the stack 2008-05-23 03:52:55 +00:00
Makefile.arm We need -I$S to compile the elf trampoline. 2008-08-04 14:38:38 +00:00
Makefile.i386 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.ia64 Remove definition of the GCC3 variable. It was introduced in rev. 2007-06-02 21:30:39 +00:00
Makefile.mips Merge in the mips specific configuration files and such from the 2008-04-13 06:25:43 +00:00
Makefile.pc98 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.powerpc Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.sparc64 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.sun4v Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
makeLINT.mk
makeLINT.sed
newvers.sh Backout svn r183528. 2008-10-03 10:08:36 +00:00
NOTES - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
options Remove the LOOKUP_SHARED kernel option. Instead, make vfs.lookup_shared 2008-10-01 19:24:16 +00:00
options.amd64 Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and 2008-05-26 10:40:09 +00:00
options.arm Support for the XScale PXA255 SoC as found on the Gumstix Basix and Connex 2008-06-06 05:08:09 +00:00
options.i386 Integrate configuration bits for compling xen. 2008-08-15 20:58:57 +00:00
options.ia64 Add option EXCEPTION_TRACING, which enables KTR-like functionality 2007-07-30 22:42:33 +00:00
options.mips Merge from p4: add Juniper license statement. 2008-09-19 03:36:37 +00:00
options.pc98 Remove obselete PECOFF image activator support. 2008-06-14 12:51:44 +00:00
options.powerpc Initial support for Freescale PowerQUICC III MPC85xx system-on-chip family. 2008-03-03 17:17:00 +00:00
options.sparc64 Add a driver for Schizo' Fireplane/Safari to PCI 2.1 and Tomatillo' 2008-09-28 00:07:05 +00:00
options.sun4v Remove remnants from the sparc64 origin of this file and which are 2007-01-19 12:22:50 +00:00
systags.sh Use a simpler way to reach the <machine> include dir, which should 2005-12-03 21:37:54 +00:00