bring the cpu kernel driver in line with the fs driver. fixes include 0. full sata-ii support. 1. don't use edma register in pio mode during setup. 2. support hot-plugging and allow for graceful timeout and failure with a background support process. 3. use the background process to reset the drive. resetting the drive while doing a read or from the interrupt routine causes hangs. 4. support various sata drive quirks, including some odd western digital drives that sometimes drop commands on the floor. 5. staggered drive spinup; more robust startup process. 6. deal with option-rom quirks.