SATA AHCI HBA Driver Project
The ahci driver is a SATA framework-compliant HBA driver, and it aims to support various SATA HBA controllers compatible with AHCI specification. The AHCI specification is defined by INTEL, which is public on the INTEL website.
The driver is a generic one supporting all AHCI chipsets since the spec describes the register-level programming interface. And for the time being, the driver has already supported INTEL ICH6/7/8/9 and VIA VT8251. Besides of the disk, the ahci supports ATAPI CD/DVD devices, and some SATA features – NCQ and hot plug are also implemented.
Goal
- Support more chipsets which are compliant with AHCI specification such as Jmicron JMBX, and AMD RS690
- Implement more features such as port multiplier
Status
Currently, Solaris ahci driver:
- conforms to AHCI 1.0 specification
- supports both disks and ATAPI CD/DVD
- supports PIO and DMA protocols
- supports Hot Plug
- supports NCQ
- supports cfgadm
- supports 64-bit addressing
- supports Intel ICH6/7/8/9 and VIA vt8251
The following features need to be done:
- Port Multiplier
- MSI Interrupt
- Power Management
- Supporting more AHCI compatible chipsets
Documents
- SATA specification - www.serialata.org
- AHCI specification - www.intel.com/technology/serialata/ahci.htm
- Case materials for AHCI PSARC 2006/384
Source Code, Binary, and Package (optional)
(Only for those unbundled codes.)
- Source code
- Binary or package
How to use
- Please install build 56 or later
Performance (optional)
- Possible performance number table.
Known Problems
- Point to category/subcategory on bugster, or a bug list
Discussion
We use the alias driver dash discuss at opensolaris dot org for the time being.
References
- Related projects
- Sharable Hardware Documents
Supported hardware and platform (optional)
- List of supported chipsets: INTEL ICH6/7/8/9 and VIA vt8251
- Tested platforms.
on 2009/10/29 17:53