ATA mkIII first official patches - please test!
sos at DeepCore.dk
Thu Feb 3 12:53:17 PST 2005
ATA-mkIII first official snapshot.
This is the much rumoured ATA update that I've been working on for some time.
It contains a number of new things, and lacks a few features of the old code.
New items include:
o ATA is now fully newbus'd and split into modules.
This means that on a modern system you just load "atapci and ata"
to get the base support, and then one or more of the device
subdrivers "atadisk atapicd atapifd atapist ataraid".
All can be loaded/unloaded anytime, but for obvious reasons you
dont want to unload atadisk when you have mounted filesystems.
o The device identify part of the probe has been rewritten to fix
the problems with odd devices the old had, and to try to remove
so of the long delays some HW could provoke.
o SATA devices can be hot inserted/removed and devices will be created/
removed in /dev accordingly. NOTE only supported on controllers that
has this feature: Promise and Silicon Image for now.
o ATA RAID support has been rewritten and and now supports these
"Highpoint V2 RocketRAID"
"Highpoint V3 RocketRAID"
"Integrated Technology Express"
"LSILogic V2 MegaRAID"
"LSILogic V3 MegaRAID"
"Silicon Image Medley"
o The reinit code has been worked over to be much more robust.
o The timeout code has been overhauled for races.
o Lots of fixes for bugs found while doing the modulerization and
reviewing the old code.
Missing features form current ATA:
o atapi-cd no longer has support for ATAPI changers. Todays its
much cheaper and alot faster to copy those CD images to disk
and serve them from there. Besides they dont seem to be made
anymore, maybe for that exact reason.
o ATA RAID can only read metadata not write them. This means that
arrays can be picked up from the BIOS, but they cannot be created
from FreeBSD. This is being worked on for the final release as is
RAID5 support for Promise/Highpoing/SiI controllers.
o The atapi-cam author has been informed and has had early access
to this work but so far atapicam is not supported with these
changes. However I do have my own atacam that puts both ATA and ATAPI
devices under CAM, but its really just academic at this point.
And then there all the things that I've happily forgotten about :)
The snapshot is available as a patch for RELENG_5 and for CURRENT, and
a common tarfile of the new ATA code.
Both patches and the tarfile is relative to /usr/src.
You might want to remove the contents of sys/dev/ata/ before unpacking
No changes are needed to your config file, unless you want ATA as modules.
As usual, even if it works on all the HW I have here in the lab, thats by
far not the same as it works on YOUR system. So use glowes and safety shoes
and if it breaks I dont want the pieces, but would like to hear the nifty
details on how exactly it got that way :)
More information about the freebsd-stable