Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Thursday, June 13, 2019
 
 

ahci(4D)

Name

ahci - Advanced Host Controller Interface SATA controller driver

Synopsis

sata@unit-address 

Description

The ahci driver is a SATA framework-compliant HBA driver that supports SATA HBA controllers that are compatible with the Advanced Host Controller Interface 1.0 specification. AHCI is an Intel-developed protocol that describes the register-level interface for host controllers for serial ATA 1.0a and Serial ATA II. The AHCI 1.0 specification describes the interface between the system software and the host controller hardware.

The ahci driver currently supports the Intel ICH6/7/8/9/10, VIA vt8251 and JMicron AHCI controllers which are compliant with the Advanced Host Controller Interface 1.0 specification. The Intel ICH6/7/8/9 and VIA vt8251 controllers support standard SATA features. The ahci driver currently supports hard disk, ATAPI DVD, ATAPI tape, ATAPI disk (i.e. Dell RD1000), hotplug, NCQ (Native command queuing) and Port multipliers (Silicon Image 3726/4726). Power management is not yet supported.

CONFIGURATION

The ahci driver is configured by defining properties in ahci.conf. These properties override the default settings.

Contact the hardware vendor before modifying these properties. The HBA might not work properly if above properties are not correctly configured.

The ahci driver supports following modifiable properties:

ahci-dma-prdt-number

Specifies the number of PRDT in the command table. The PRDT (Physical Region Descriptor Table) contains the scatter/gather list for the data transfer. The number of PRDT in the command table can be from 1 to 65,535. The default value is 257, (1MB (256KB/pg * 256) + 1).. See the AHCI specification for more details.

ahci-msi-enabled

Enables the MSI interrupt. The ahci driver always enables the MSI (Message Signaled Interrupt) if the HBA supports. The default value is 1. Specifying a 0 disables MSI and uses legacy interrupt.

ahci-buf-64bit-dma
ahci-commu-64bit-dma

Enables 64-bit DMA support. The ahci driver always enables 64-bit DMA addressing for the data transfer and the communication system descriptors if the HBA supports. The default value is 1. Specifying a 0 disables 64-bit dma addressing for the data buffer and communication system descriptors respectively.

sb600-buf-64bit-dma-disable

The ahci driver disables 64-bit DMA addressing for data buffer on AMD/ATI SB600 by default. The default value is 1. Specifying 0 switches on 64-bit DMA addressing for the data buffer on SB600 chip sets.

sbxxx-commu-64bit-dma-disable

The ahci driver disables 64-bit DMA addressing for communication system descriptors on AMD/ATI SB series (SB600/700/710/750/800) by default. The default value is 1. Specifying 0 switches on 64-bit DMA addressing for communication system descriptors on these chip sets.

Files

/kernel/drv/amd64/ahci

64–bit ELF kernel module (x86)

/kernel/drv/ahci.conf

Optional configuration file

Attributes

See attributes(7) for descriptions of the following attribute:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
x86
Availability
driver/storage/ahci

See Also

sata(4D), attributes(7), cfgadm(8), cfgadm_sata(8), prtconf(8)

Advanced Host Controller Interface 1.0

Writing Device Drivers

Notes

To bind the ahci driver to your controller, choose the [AHCI] BIOS option.

Booting is not supported if toggle exists between the [IDE] and [AHCI] BIOS options