History log of /haiku/src/add-ons/kernel/busses/scsi/ahci/ahci_port.h
Revision Date Author Comments
# a9ada46b 14-Sep-2022 Jérôme Duval <jerome.duval@gmail.com>

ahci: propagate physical block size to scsi read capacity 16

Change-Id: I8dab117fe8da9fc6e0f18adaa178ff79bc7c6ae4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5666
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 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>


# fb75d960 08-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

ahci: Simplification of reset code

* This simplifies the reset process again while keeping
my original cleanups.
* I think trying a software reset before a hardware
reset is desireable, however lets work on base
functionality first.


# c6475ba1 14-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

ahci: Minor trace cleanup; No functional change


# a1ed294f 05-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

AHCI: Rework port reset and control

* Move to more standardized functions matching AHCI spec
* Don't perform unnecessary double port resets
* Begin implementing a software reset to try first per spec.
Software reset needs more work, falls through to port reset
for the moment which is stable.
* Don't duplicate ATA defines, use what we already provide.
* Tested working on VirtualBox 1-16 AHCI ports, Intel C200,
and AMD FCH.


# 41082c87 11-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

AHCI: only perform the reset when ST is not set.

* As the specs say, this causes undefined behavior.
* Should help with the recently introduced boot issues, but cannot
be considered a full fix -- as mmlr pointed out, one has to detect
unsolicited COMINITs.


# 8248d96a 04-Sep-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

AHCI: Begin simulating SCSI Inquiry with VPD data

* Needed for SCSI level access to trim maximum block sizes.


# df5aeb6d 28-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

AHCI: fixed constant mixup, minor cleanup.

* TRANSITION_... was incorrectly changed from the original patch.
* Divided it into two constants, and also prefixed the new constants with
the register fields they are valid for.
* Fixed incorrect usage of |= and removed the corresponding TODO comments.
* Moved some reoccurring code into their own methods.
* Added check for the ST bit in the command register for the interrupt
hard reset, too.
* This closes ticket #12295, thanks Anarchos!


# efc3172f 09-Nov-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Dump some TRIM device specifics.

* Maximum LBA range blocks per trim are now read, but not yet taken into
account.
* Minor cleanup.


# 10deaef1 28-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Added missing wait_for_completion().

* Thanks Marcus!
* That made the return code for ExecuteSataRequest() pretty much useless,
so I removed it again.
* Also, a delete sreq was missing; I now allocate it on the stack instead.


# e858a6b2 27-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: WIP of implementing trim command.

* Data Set Management specific bits are still missing.


# 33945c5c 14-Aug-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Pushed TRIM support a tiny bit further.

* Now doesn't do anything on SCSI_OP_UNMAP, instead of doing nothing on
SCSI_OP_WRITE_SAME_16.


# 3c521617 14-Sep-2012 Marcus Overhagen <marcus@overhagen.de>

implement support for harddisks bigger than 2TB
* can't test this, it's untested, but similar to ATADevice.cpp
* should no longer panic when hdd > 2TB is connected
* fix request completition in two error cases
* add const to some parameters


# b937bd21 08-Jun-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

ahci: Initial TRIM work

* Since ahci devices are emulated as scsi, we use
the SAS style TRIM call (unmap in scsi write same)
* This prevents the need for special, one off trim
calls.
* We don't perform the TRIM just yet, just laying
the goundwork for the request.


# 1d4c4d3a 12-Jun-2009 Michael Lotz <mmlr@mlotz.ch>

* Call PostReset() at the end of ResetPort() as it's always used in that way.
* Reset the port directly after executing a command failed instead of letting
the next call do the reset first. This is arbitrary but looks cleaner to me.
* Provide a way to check if a given sata_request is a SCSI_OP_TEST_UNIT_READY
over ATAPI and use this info to calm down all error output. This avoids
spamming the syslog with error output on each media status poll when no disk
is present in a ATAPI device.


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


# 88bd06fb 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Separate port and device reset. Only perform device reset during error handling if the device is busy.


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


# c3342cf8 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

added simple error handling


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


# 47386374 21-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

The AHCI controller doesn't natively support ATAPI commands.
Instead, one needs to execute the ATA command 0xa0 (PACKET) using
a normal ATA PIO FIS and in addition fill the SCSI CDB into the ACMD
space to transfer the ATAPI PACKET command.


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


# fd735f9b 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

More preparation for sending ATAPI PACKET commands (pass through of SCSI commands).


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


# 5d92f82a 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Begin ATAPI support. The scsi_cd driver already tries opening the device.


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


# 110d4031 02-May-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Added AHCI port tracing (Only PRD table tracing for now).
- Added controller attribute to the AHCIPort class for debugging purposes.

AHCI is failing whenever the PRD table has an address above the 2048 Mb mark.



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


# 0762289b 05-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup ccb->data_length handling.


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


# ec2bf719 04-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Implemented ExecuteSataRequest() to execute all ATA and (later) ATAPI commands.
Converted Identify Device and Read / Write commands, they now create a sata_request
and pass it to ExecuteSataRequest. Added support for cache flushing.



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


# 79844706 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Propagate is-ATAPI restriction to the SCSI bus manager.


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


# a2a169fe 30-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Improved interrupt handling
Removed DBC_I interrupt
Reduce debug output


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


# 0845746b 29-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup, device present detection improved.
Added support for non-48-bit LBA, added write support.
Proper error handling still missing, write support disabled for your protection.


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


# 6b8c1c2a 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

improved prd table handling


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


# 2bf99ebd 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Added byte swapping of identify device strings.
Added capacity reporting.
Wait for interrupts to finish transfers.
Added lba 48-bit read support.


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


# 2ae9d564 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

added scatter gather prd table setup, implement scsi inquiry command and emulate test unit ready


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


# 4af29ec0 25-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Implemented a identify device command for further testing, works on Intel, doesn't work on Jmicron.


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


# 2c766017 25-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup of hard reset, works on Intel, doesn't work on Jmicron.


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


# 22cf14cf 24-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

perform port reset and wait for devices to be detected


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


# 63399028 19-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Setup command list, command table, FIS and PRDT pointers.


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


# 9382f576 11-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

correct port number handling
allocate memory for command list and fis


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


# 25f926d8 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

forward scsi request to the ports


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


# 4f733fe9 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

added Interrupt handling framework


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


# 9815383e 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

a class for the SATA ports


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


# 41082c87acc30fe80e4b86b90c1dfe0bbabfea38 11-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

AHCI: only perform the reset when ST is not set.

* As the specs say, this causes undefined behavior.
* Should help with the recently introduced boot issues, but cannot
be considered a full fix -- as mmlr pointed out, one has to detect
unsolicited COMINITs.


# 8248d96a06f27a9c72be6e6cc9cbc709be54fd01 04-Sep-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

AHCI: Begin simulating SCSI Inquiry with VPD data

* Needed for SCSI level access to trim maximum block sizes.


# df5aeb6dda2dae580e5073d0b80f0b0fd98c3dfc 28-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

AHCI: fixed constant mixup, minor cleanup.

* TRANSITION_... was incorrectly changed from the original patch.
* Divided it into two constants, and also prefixed the new constants with
the register fields they are valid for.
* Fixed incorrect usage of |= and removed the corresponding TODO comments.
* Moved some reoccurring code into their own methods.
* Added check for the ST bit in the command register for the interrupt
hard reset, too.
* This closes ticket #12295, thanks Anarchos!


# efc3172fbac774eb1eab69ae2b25613eb4d90318 09-Nov-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Dump some TRIM device specifics.

* Maximum LBA range blocks per trim are now read, but not yet taken into
account.
* Minor cleanup.


# 10deaef118d90eb9af9f78c6432db502d42305ab 28-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Added missing wait_for_completion().

* Thanks Marcus!
* That made the return code for ExecuteSataRequest() pretty much useless,
so I removed it again.
* Also, a delete sreq was missing; I now allocate it on the stack instead.


# e858a6b2a0e4ee1c8c80c09b1f3ecfef04e8025e 27-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: WIP of implementing trim command.

* Data Set Management specific bits are still missing.


# 33945c5c8993bedfe46a43a12f27e8178c249dd6 14-Aug-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Pushed TRIM support a tiny bit further.

* Now doesn't do anything on SCSI_OP_UNMAP, instead of doing nothing on
SCSI_OP_WRITE_SAME_16.


# 3c5216179e02f3b711bbac9c021f821ad3628cc7 14-Sep-2012 Marcus Overhagen <marcus@overhagen.de>

implement support for harddisks bigger than 2TB
* can't test this, it's untested, but similar to ATADevice.cpp
* should no longer panic when hdd > 2TB is connected
* fix request completition in two error cases
* add const to some parameters


# b937bd211c37af1cbd71f58ab0b1f272020f1103 08-Jun-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

ahci: Initial TRIM work

* Since ahci devices are emulated as scsi, we use
the SAS style TRIM call (unmap in scsi write same)
* This prevents the need for special, one off trim
calls.
* We don't perform the TRIM just yet, just laying
the goundwork for the request.


# 1d4c4d3a5bb167a4df0202a1c1d9e44abd4c156d 12-Jun-2009 Michael Lotz <mmlr@mlotz.ch>

* Call PostReset() at the end of ResetPort() as it's always used in that way.
* Reset the port directly after executing a command failed instead of letting
the next call do the reset first. This is arbitrary but looks cleaner to me.
* Provide a way to check if a given sata_request is a SCSI_OP_TEST_UNIT_READY
over ATAPI and use this info to calm down all error output. This avoids
spamming the syslog with error output on each media status poll when no disk
is present in a ATAPI device.


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


# 88bd06fbc7b1b34939662b91bb1026d070e2c97a 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Separate port and device reset. Only perform device reset during error handling if the device is busy.


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


# c3342cf811cdf0d1f51f56acd6d2737a278a6115 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

added simple error handling


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


# 4738637486e91d326ef8d2fb16b19d9c36bc44ea 21-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

The AHCI controller doesn't natively support ATAPI commands.
Instead, one needs to execute the ATA command 0xa0 (PACKET) using
a normal ATA PIO FIS and in addition fill the SCSI CDB into the ACMD
space to transfer the ATAPI PACKET command.


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


# fd735f9bb07a88b6f0b8c5ec1531106d9c2081b5 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

More preparation for sending ATAPI PACKET commands (pass through of SCSI commands).


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


# 5d92f82a942927771e14736d7ee86f26f5e92c24 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Begin ATAPI support. The scsi_cd driver already tries opening the device.


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


# 110d4031fb55f72790afe108e77805fdaaaff183 02-May-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- Added AHCI port tracing (Only PRD table tracing for now).
- Added controller attribute to the AHCIPort class for debugging purposes.

AHCI is failing whenever the PRD table has an address above the 2048 Mb mark.



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


# 0762289b3f6fc460ea1e4d5b51db1d1cbb6b4d78 05-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup ccb->data_length handling.


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


# ec2bf719e84581b317de5ac2924f9da3718402ad 04-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Implemented ExecuteSataRequest() to execute all ATA and (later) ATAPI commands.
Converted Identify Device and Read / Write commands, they now create a sata_request
and pass it to ExecuteSataRequest. Added support for cache flushing.



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


# 79844706c278112c1e949850c11757de3fd26fc0 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Propagate is-ATAPI restriction to the SCSI bus manager.


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


# a2a169feab7494700b4595eaa6f144c5fefaa2f2 30-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Improved interrupt handling
Removed DBC_I interrupt
Reduce debug output


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


# 0845746bf749a717bb2b95d5e9bc730fb52b26f8 29-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup, device present detection improved.
Added support for non-48-bit LBA, added write support.
Proper error handling still missing, write support disabled for your protection.


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


# 6b8c1c2ad75f3848c3b0fa4901a6b9b2f723b1c5 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

improved prd table handling


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


# 2bf99ebdee117d83860fa8f94b57048f9ae504b6 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Added byte swapping of identify device strings.
Added capacity reporting.
Wait for interrupts to finish transfers.
Added lba 48-bit read support.


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


# 2ae9d56421f5bf78b767c8918bb8b4325d898340 28-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

added scatter gather prd table setup, implement scsi inquiry command and emulate test unit ready


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


# 4af29ec0bd92d44cdcdec9bb22cbf652ee6b8e7f 25-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Implemented a identify device command for further testing, works on Intel, doesn't work on Jmicron.


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


# 2c7660170913bd0bbd02c6fe1e812cec3e091ec0 25-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Cleanup of hard reset, works on Intel, doesn't work on Jmicron.


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


# 22cf14cfbeb75dfc24947cb395368050f919b127 24-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

perform port reset and wait for devices to be detected


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


# 633990282e4296854a8e928132854aaba79b4473 19-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Setup command list, command table, FIS and PRDT pointers.


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


# 9382f576917776521166203d7a1ecde8aaab8341 11-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

correct port number handling
allocate memory for command list and fis


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


# 25f926d8e4b852f0d88a63ce005c18309205407b 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

forward scsi request to the ports


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


# 4f733fe93bda89631a901a417e0cbca1b00b97c0 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

added Interrupt handling framework


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


# 9815383e54ccce94caaf8b92874211cec907405c 01-Sep-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

a class for the SATA ports


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