History log of /haiku/src/add-ons/kernel/bus_managers/ata/ATADevice.cpp
Revision Date Author Comments
# 8b1d35bd 03-Jul-2021 David Sebek <dasebek@gmail.com>

Improve SCSI and SATA trim support

Fixes:
* scsi: Fix a bug that caused the device capacity to be set
to an undefined value for some large SCSI devices when
READ CAPACITY (16) was used
* ahci: Fix VPD page reporting so that it does not return
undefined values
* ahci: Set the write bit to true when sending a DATA SET
MANAGEMENT (trim) command to a device. The command would
otherwise fail and time out on some devices.

Improvements:
* scsi: Extend the READ CAPACITY (16) support to also
include logical block provisioning information
* scsi: Prefer READ CAPACITY (16) over READ CAPACITY (10)
on devices that are expected to support this command
* scsi, ahci: Enable trim on SCSI and SATA devices that
are expected to support trim and which correctly report
trim support
* ahci: Redo the implementation of the SCSI UNMAP command
* scsi: Redo UNMAP-related code
* scsi: Add support for UNMAP via WRITE SAME (10) and
WRITE SAME (16) commands
* When copying trim ranges between different data types,
make sure that the values don't change (detect overflows)
* Report the number of trimmed blocks even if the trim
operation fails

Change-Id: Ie5fc993bbbc19546b4308138ba10184bf7b9986a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4157
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 5ec5667d 28-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

ata/ahci: Move some ATA functionality into the ATAInfoBlock.

* The AHCI driver was actually ignoring sector size information, and always
set the size to 512.
* Now both, the AHCI driver, and the ATA bus manager, use the same method of
retrieving the sector count, and size.


# 0063d2ba 20-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Various 64-bit fixes to SCSI and ATA bus managers/drivers.

Mostly compilation fixes, as well as a few 64-bit safety fixes. I've
briefly looked through everything for any obvious issues and fixed
the ones I've found, and it seems like they're working properly, though
there could be some more well hidden ones that I've missed.


# 35e8baa6 24-May-2011 Michael Lotz <mmlr@mlotz.ch>

Fix typo in error output and a little automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41715 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51d76425 13-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all
drivers in the future, such that NetworkStatus and similar software can show
nice names for the devices. The device manager should implement this and
return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers
should actually set this).
* Implemented handling of this ioctl in the scsi_periph to return the vendor/
product strings.
* Implemented this in the ATA bus manager to return the model from the info
block.
* KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME
succeeds.
* As a side effect, at least BootManager now shows the drive name; maybe
DriveSetup does as well for the raw device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1aa32c3d 05-Nov-2010 Jérôme Duval <korli@users.berlios.de>

if total sectors is greater than 0xffffffff, use this value for ReadCapacity().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ac16c5b 02-Nov-2010 Jérôme Duval <korli@users.berlios.de>

big_endian conversion: this should be more correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0588869 02-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* added definitions for SCSI_OP_VERIFY_* op commands
* added support READ_12/16 and WRITE_12/16 in ata and scsi_periph, this enables read/write on block offsets greater than 2TB


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39278 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f10a55a6 01-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* ata: added ATADevice::ReadCapacity16()
* ata: don't fail if lba_sector_count is null and lba48_sector_count is not
* scsi_periph: if ReadCapacity() returns 0xffffffff, use ReadCapacity16() instead
* scsi_disk: use a different computation in the struct geometry computation for bigger disks
Tested successfully with a virtual 10TB hard drive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 995b475c 06-Sep-2010 Jérôme Duval <korli@users.berlios.de>

Patch from dachaac (bug #4813): Fix ATA vendor and product strings according to ATA string conventions. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38547 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 63400da8 22-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the ATA_BLOCK_SIZE define.
* The logical and physical block sizes are now retrieved from the info block,
though only the logical one is actually used (where ATA_BLOCK_SIZE was used
before).
* Also added retrieving the offset of the first logical block inside the first
physical one.
* All this stupidity just for Windows XP, it's really sad.
* Added "const" to some methods, removed some superfluous ';'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36416 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5eb0368 10-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33043 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4794591 10-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Write device identification into syslog.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33042 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 398211a6 27-Aug-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Modified initial ata device detection. Works for me. Please test.
If you get an "error waiting for interrupt" during boot, try to disabled IDE DMA.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8c8c904a 23-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed wrong indentation, and number of blank lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca68245e 19-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Wrote a new infoblock header according to ATA/ATAPI-6 that is cleaner and more
verbose than the old one. Removed the latter.
* Put some of the hardcoded values into defines for more clearity.
* Report more detailed device type for ATAPI devices and report removable
media based on the bit in the infoblock as well.
* Rename the channel ID attributes back to ide to let the hack in scsi_periph
work that then publishes the devices under the disk/ata[pi] tree.
* Also disable command queueing for ATAPI devices.
* Remove remnants of CHS support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ea617fa 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Only wait for data request in the PIO case as before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30256 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6b82488 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Apply block count maximum according to device capability. If the device supports
LBA48 we can allow a maximum block count of 65535 as we have a 16bit sector
count field available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30254 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 827f849a 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Reworked device detection, we'll see how well this works...
* Reworked some of the transfer handling after reading the specs.
* Ensure that the device selection bit is set correctly for all commands.
* Generally disable interrupts and enable them only when expecting a DMA one.
* Renamed disk failure to device fault according to specs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30248 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 33d80ba2 10-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Rework ATAPI handling, removing all PIO interrupts. As Marcus pointed out the
complication is not really worth it and it would in any case be unreliable
in the shared interrupt case (even though you could always check the poll
condition in the interrupt handler).
* Probably broke ATAPI with those changes though.
* Change blocksLeft to bytesLeft to allow using it for arbitrary ATAPI requests.
* Check some more error conditions and actually let those states get through
to the SCSI layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30109 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da4c9900 10-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Move the lock into the request.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30100 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 118bb4e7 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Fix race condition between finishing a request and returning a busy status
when the channel is in use, which would cause the SCSI scheduler to stop
sending requests.
* Indeed we need to return a status from the interrupt handler, as for PIO
transfers there is no way of knowning whether or not the interrupt at hand
was ours.
* Add some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30091 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22805aae 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Adding ATAPI support to the new ATA bus_manager. Only tested in QEMU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79973897 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Implement DMA transfers in the new ATA bus_manager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9611bddd 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Adding DMA detection and generally allow DMA. Not used yet though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30054 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bb01f71 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Adding/updating license headers.
* Add the standalone ata module to the Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30053 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 44039cc6 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Additional to the normal detection of device presence, use the trick previously
present in the IDE bus_manager when detecting devices to avoid long timeouts
when waiting for possible ATAPI devices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30052 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf9a3835 08-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Work in progress commit of a reworked ATA bus_manager. It's now object based,
but doesn't really do anything more than before.
* It also replaces everything IDE with ATA counterparts and cleans up a lot
of the definitions.
* Cleaning up the old ATA bus_manager as well as some license headers missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ec5667de7fe0bdf67aa4ae52a21103162807f10 28-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

ata/ahci: Move some ATA functionality into the ATAInfoBlock.

* The AHCI driver was actually ignoring sector size information, and always
set the size to 512.
* Now both, the AHCI driver, and the ATA bus manager, use the same method of
retrieving the sector count, and size.


# 0063d2ba513ddb6bd54c329aa0d16c7e184862da 20-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Various 64-bit fixes to SCSI and ATA bus managers/drivers.

Mostly compilation fixes, as well as a few 64-bit safety fixes. I've
briefly looked through everything for any obvious issues and fixed
the ones I've found, and it seems like they're working properly, though
there could be some more well hidden ones that I've missed.


# 35e8baa6b0a2967753b2d2ddfc9fcb10956a6946 24-May-2011 Michael Lotz <mmlr@mlotz.ch>

Fix typo in error output and a little automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41715 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51d76425033b27609fb4e206c7c9610cd4c4a653 13-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all
drivers in the future, such that NetworkStatus and similar software can show
nice names for the devices. The device manager should implement this and
return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers
should actually set this).
* Implemented handling of this ioctl in the scsi_periph to return the vendor/
product strings.
* Implemented this in the ATA bus manager to return the model from the info
block.
* KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME
succeeds.
* As a side effect, at least BootManager now shows the drive name; maybe
DriveSetup does as well for the raw device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1aa32c3dd0326f75af65020163e32e600bdd259b 05-Nov-2010 Jérôme Duval <korli@users.berlios.de>

if total sectors is greater than 0xffffffff, use this value for ReadCapacity().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39313 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0ac16c5b3e4c15a6ca0514dc11ad4676926eee00 02-Nov-2010 Jérôme Duval <korli@users.berlios.de>

big_endian conversion: this should be more correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f058886908e994cc5a6c141e212c3bd62e923023 02-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* added definitions for SCSI_OP_VERIFY_* op commands
* added support READ_12/16 and WRITE_12/16 in ata and scsi_periph, this enables read/write on block offsets greater than 2TB


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39278 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f10a55a632599ee0c06dd3235df51cb2410e3633 01-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* ata: added ATADevice::ReadCapacity16()
* ata: don't fail if lba_sector_count is null and lba48_sector_count is not
* scsi_periph: if ReadCapacity() returns 0xffffffff, use ReadCapacity16() instead
* scsi_disk: use a different computation in the struct geometry computation for bigger disks
Tested successfully with a virtual 10TB hard drive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 995b475caf9ea467961fba73f18e58acee77a1dc 06-Sep-2010 Jérôme Duval <korli@users.berlios.de>

Patch from dachaac (bug #4813): Fix ATA vendor and product strings according to ATA string conventions. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38547 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 63400da873b3eecf384aec6bc227fe76c3e282f1 22-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Got rid of the ATA_BLOCK_SIZE define.
* The logical and physical block sizes are now retrieved from the info block,
though only the logical one is actually used (where ATA_BLOCK_SIZE was used
before).
* Also added retrieving the offset of the first logical block inside the first
physical one.
* All this stupidity just for Windows XP, it's really sad.
* Added "const" to some methods, removed some superfluous ';'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36416 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5eb03683b3ae87f263bab7dc31b8ba72d534924 10-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33043 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a479459113a5536cae45de8392993d8f04ebad53 10-Sep-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Write device identification into syslog.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33042 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 398211a6d9abdc8a571f2d2387cd9e8f51ccdbe6 27-Aug-2009 Marcus Overhagen <marcusoverhagen@gmail.com>

Modified initial ata device detection. Works for me. Please test.
If you get an "error waiting for interrupt" during boot, try to disabled IDE DMA.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32769 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8c8c904aca6e88d54c583b0c2742c56373f443b0 23-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed wrong indentation, and number of blank lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca68245eb72cd2490a1e35ab97d0bf4837051d89 19-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Wrote a new infoblock header according to ATA/ATAPI-6 that is cleaner and more
verbose than the old one. Removed the latter.
* Put some of the hardcoded values into defines for more clearity.
* Report more detailed device type for ATAPI devices and report removable
media based on the bit in the infoblock as well.
* Rename the channel ID attributes back to ide to let the hack in scsi_periph
work that then publishes the devices under the disk/ata[pi] tree.
* Also disable command queueing for ATAPI devices.
* Remove remnants of CHS support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ea617fad1fc61e88adf399404ca4c5e14fff30e 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Only wait for data request in the PIO case as before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30256 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6b82488dfda5ae59f0a48b5371c8a24fb4a24aa 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Apply block count maximum according to device capability. If the device supports
LBA48 we can allow a maximum block count of 65535 as we have a 16bit sector
count field available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30254 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 827f849a3434806b7ab0bcea89bc8791e4aa77ce 18-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Reworked device detection, we'll see how well this works...
* Reworked some of the transfer handling after reading the specs.
* Ensure that the device selection bit is set correctly for all commands.
* Generally disable interrupts and enable them only when expecting a DMA one.
* Renamed disk failure to device fault according to specs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30248 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 33d80ba202e1cda4c2b97b9888b1cee94bcb74e1 10-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Rework ATAPI handling, removing all PIO interrupts. As Marcus pointed out the
complication is not really worth it and it would in any case be unreliable
in the shared interrupt case (even though you could always check the poll
condition in the interrupt handler).
* Probably broke ATAPI with those changes though.
* Change blocksLeft to bytesLeft to allow using it for arbitrary ATAPI requests.
* Check some more error conditions and actually let those states get through
to the SCSI layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30109 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da4c99002d66f9936d8b815ea4824b9f5559cce2 10-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Move the lock into the request.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30100 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 118bb4e7505b6ca54926b39ab24d100efbdff121 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Fix race condition between finishing a request and returning a busy status
when the channel is in use, which would cause the SCSI scheduler to stop
sending requests.
* Indeed we need to return a status from the interrupt handler, as for PIO
transfers there is no way of knowning whether or not the interrupt at hand
was ours.
* Add some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30091 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 22805aae7f88e4a16627e5a8f97edf7501f44b64 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Adding ATAPI support to the new ATA bus_manager. Only tested in QEMU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7997389772efc7249ab5ae3d010514301652cdb8 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Implement DMA transfers in the new ATA bus_manager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30069 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9611bddd7abfd4579e8cedcade99164d06401a38 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Adding DMA detection and generally allow DMA. Not used yet though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30054 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bb01f71bc05b8280fa28bf0bc3d367a11bd57b0 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Adding/updating license headers.
* Add the standalone ata module to the Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30053 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 44039cc60555062526278bb7c4fbaea70ec1a71a 09-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Additional to the normal detection of device presence, use the trick previously
present in the IDE bus_manager when detecting devices to avoid long timeouts
when waiting for possible ATAPI devices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30052 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf9a38352439cea6594757b3c0c47e5151548d0d 08-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

* Work in progress commit of a reworked ATA bus_manager. It's now object based,
but doesn't really do anything more than before.
* It also replaces everything IDE with ATA counterparts and cleans up a lot
of the definitions.
* Cleaning up the old ATA bus_manager as well as some license headers missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30049 a95241bf-73f2-0310-859d-f6bbb57e9c96