freebsd-nq/sys
Søren Schmidt 8b89ef0a2d Finally!!
The much roumored replacement for our current IDE/ATA/ATAPI is
materialising in the CVS repositories around the globe.

So what does this bring us:

A new reengineered ATA/ATAPI subsystem, that tries to overcome
most of the deficiencies with the current drivers.

It supports PCI as well as ISA devices without all the hackery
in ide_pci.c to make PCI devices look like ISA counterparts.

It doesn't have the excessive wait problem on probe, in fact you
shouldn't notice any delay when your devices are getting probed.

Probing and attaching of devices are postponed until interrupts
are enabled (well almost, not finished yet for disks), making
things alot cleaner.

Improved performance, although DMA support is still WIP and not
in this pre alpha release, worldstone is faster with the new
driver compared to the old even with DMA.

So what does it take away:

There is NO support for old MFM/RLL/ESDI disks.
There is NO support for bad144, if your disk is bad, ditch it, it has
already outgrown its internal spare sectors, and is dying.

For you to try this out, you will have to modify your kernel config
file to use the "ata" controller instead of all wdc? entries.

example:

# for a PCI only system (most modern machines)
controller 	ata0
device		atadisk0	# ATA disks
device		atapicd0	# ATAPI CDROM's
device		atapist0	# ATAPI tapes

#You should add the following on ISA systems:
controller	ata1	at isa? port "IO_WD1" bio irq 14
controller	ata2	at isa? port "IO_WD2" bio irq 15

You can leave it all in there, the system knows how to manage.

For now this driver reuses the device entries from the old system
(that will probably change later), but remember that disks are
now numbered in the sequence they are found (like the SCSI system)
not as absolute positions as the old system.

Although I have tested this on all the systems I can get my hands on,
there might very well be gremlins in there, so use AT YOU OWN RISK!!
This is still WIP, so there are lots of rough edges and unfinished
things in there, and what I have in my lab might look very different
from whats in CVS at any given time. So please have all eventual
changes go through me, or chances are they just dissapears...

I would very much like to hear from you, both good and bad news
are very welcome.

Enjoy!!

-Søren
1999-03-01 21:19:19 +00:00
..
alpha Don't define MACHINE, MACHINE_ARCH, _MACHINE or _MACHINE_ARCH if 1999-03-01 06:10:16 +00:00
amd64 Update to know about current kernel directory layout. 1999-02-28 22:14:16 +00:00
boot Sync with sys/boot/i386/btx/btx/btx.s revision 1.10. 1999-03-01 10:02:45 +00:00
cam +Match against T4000* for HP QIC quirks (not T4000S* where it doesn't then 1999-03-01 01:07:47 +00:00
coda Removed a bogus cast to c_caddr_t. This is part of terminating 1999-01-29 07:23:53 +00:00
compat svr4 emulator will refuse to unload itself if it is currently in use. 1999-02-04 12:43:17 +00:00
compile
conf Finally!! 1999-03-01 21:19:19 +00:00
contrib/softupdates fix double LIST_REMOVE; other cosmetic changes to match version 9.32. 1999-02-17 20:01:20 +00:00
ddb Fixed -Wcast-qual warnings. 1999-02-12 12:44:19 +00:00
dev Finally!! 1999-03-01 21:19:19 +00:00
fs This code got moved as a result of confusion between union mounts and 1999-02-28 16:13:25 +00:00
geom Set the devstat priority for ccd devices to DEVSTAT_PRIORITY_CCD 1999-02-18 21:11:53 +00:00
gnu Added a used #include (don't depend on "vnode_if.h" including <sys/buf.h>). 1999-02-25 15:54:06 +00:00
i4b Update the pccard hooks to use a module style declaration instead. 1999-01-19 00:21:53 +00:00
i386 Finally!! 1999-03-01 21:19:19 +00:00
isa More appropriate fix to the id_irq read during probe 1999-02-14 22:02:47 +00:00
isofs/cd9660 Don't comment out dead code; remove it. 1999-01-31 11:54:29 +00:00
kern Update to know about current kernel directory layout. 1999-02-28 22:14:16 +00:00
libkern Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 02:26:20 +00:00
miscfs This code got moved as a result of confusion between union mounts and 1999-02-28 16:13:25 +00:00
modules Oops. Adding a Makefile might help anyone who wants to use streams 1999-02-22 14:02:42 +00:00
msdosfs Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 22:42:27 +00:00
net The fe driver supports bridging, so added it to lists. 1999-02-25 10:48:31 +00:00
netatalk Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 22:42:27 +00:00
netatm Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
netinet Version 3.0: January 1, 1999 1999-02-27 02:16:01 +00:00
netipx * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
netkey #ifdef out unused function key_freetables. 1999-01-12 12:38:31 +00:00
netnatm
netns
nfs Untangle the nfs send and receive queue locking a little. One lock 1999-02-25 00:03:51 +00:00
nfsclient Untangle the nfs send and receive queue locking a little. One lock 1999-02-25 00:03:51 +00:00
nfsserver Untangle the nfs send and receive queue locking a little. One lock 1999-02-25 00:03:51 +00:00
ntfs Added limited write ability. Now we can use some kind 1999-02-19 12:31:02 +00:00
pc98 Added comment on Access/PC N98C+ and LAC-98 cards, and FE_8BIT_SUPPORT 1999-02-25 13:59:47 +00:00
pccard On second thought: do previous fux in pcic.c better. 1999-02-14 20:41:01 +00:00
pci Fix handling of IFF_ALLMULTI. The code did not call 1999-03-01 16:54:28 +00:00
posix4 * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
powerpc Removed all traces of `p_switchtime'. The relevant timestamp is per-cpu, 1999-02-28 10:53:29 +00:00
rpc
svr4 svr4 emulator will refuse to unload itself if it is currently in use. 1999-02-04 12:43:17 +00:00
sys Add forward-declaration of struct linker_set, to fix a few warnings. 1999-02-28 17:38:28 +00:00
tools Declare static __inline functions as __inline in their forward 1999-02-28 11:30:00 +00:00
ufs Fix last commit based on feedback from Guido, Bruce and Terry. 1999-02-26 05:34:16 +00:00
vm mincore doesn't modify the vm_map. Therefore, it doesn't require 1999-03-01 20:42:16 +00:00
Makefile