Initial import of the port of the new(er) FreeBSD ATA code.
authorThomas E. Spanjaard <tgen@dragonflybsd.org>
Mon, 4 Dec 2006 14:40:37 +0000 (14:40 +0000)
committerThomas E. Spanjaard <tgen@dragonflybsd.org>
Mon, 4 Dec 2006 14:40:37 +0000 (14:40 +0000)
commitc1b3d7c56e683920bbc57e805c9e7dd02203f125
treeb6156d3f28a3927f95cb0673f7883ac229b19ba2
parent0114fb309d16a2d97d2de4ef8d08d08a61aded74
Initial import of the port of the new(er) FreeBSD ATA code.

Note this code has not yet been hooked into the build as such, unless you (unwisely) specify the devices in your kernel config according to sys/conf/files. The modules are also excluded from the module build due to not having a SUBDIR entry in sys/dev/disk/Makefile. The PCI code isn't yet operation pending a patch for sys/bus/pci/pci.c I will send to kernel@ shortly. It short-circuits lazy resource allocation for PCI ATA controllers in legacy mode (i.e. on legacy ISA ATA addresses, which are not configured in the PCI BARs).

The userland utility used to control nata ('natacontrol') and documentation will follow later. Also, be aware only nata, natapci, natadisk and natapicd have seen testing on real hardware so far. nataraid, natausb and natacam are probably not compilable yet, I need to clean those up.
38 files changed:
sys/conf/files
sys/conf/kmod.mk
sys/dev/disk/nata/Makefile [new file with mode: 0644]
sys/dev/disk/nata/ata-all.c [new file with mode: 0644]
sys/dev/disk/nata/ata-all.h [new file with mode: 0644]
sys/dev/disk/nata/ata-card.c [new file with mode: 0644]
sys/dev/disk/nata/ata-chipset.c [new file with mode: 0644]
sys/dev/disk/nata/ata-disk.c [new file with mode: 0644]
sys/dev/disk/nata/ata-disk.h [new file with mode: 0644]
sys/dev/disk/nata/ata-dma.c [new file with mode: 0644]
sys/dev/disk/nata/ata-isa.c [new file with mode: 0644]
sys/dev/disk/nata/ata-lowlevel.c [new file with mode: 0644]
sys/dev/disk/nata/ata-pci.c [new file with mode: 0644]
sys/dev/disk/nata/ata-pci.h [new file with mode: 0644]
sys/dev/disk/nata/ata-queue.c [new file with mode: 0644]
sys/dev/disk/nata/ata-raid.c [new file with mode: 0644]
sys/dev/disk/nata/ata-raid.h [new file with mode: 0644]
sys/dev/disk/nata/ata-usb.c [new file with mode: 0644]
sys/dev/disk/nata/ata_if.m [new file with mode: 0644]
sys/dev/disk/nata/atapi-cam.c [new file with mode: 0644]
sys/dev/disk/nata/atapi-cd.c [new file with mode: 0644]
sys/dev/disk/nata/atapi-cd.h [new file with mode: 0644]
sys/dev/disk/nata/atapi-fd.c [new file with mode: 0644]
sys/dev/disk/nata/atapi-fd.h [new file with mode: 0644]
sys/dev/disk/nata/atapi-tape.c [new file with mode: 0644]
sys/dev/disk/nata/atapi-tape.h [new file with mode: 0644]
sys/dev/disk/nata/nata/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natacard/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natadisk/Makefile [new file with mode: 0644]
sys/dev/disk/nata/nataisa/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natapci/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natapicam/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natapicd/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natapifd/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natapist/Makefile [new file with mode: 0644]
sys/dev/disk/nata/nataraid/Makefile [new file with mode: 0644]
sys/dev/disk/nata/natausb/Makefile [new file with mode: 0644]
sys/sys/nata.h [new file with mode: 0644]