xref: /dragonfly/share/man/man4/ahci.4 (revision 9ddb8543)
1.\"	$OpenBSD: ahci.4,v 1.7 2008/04/19 01:18:39 djm Exp $
2.\"
3.\" Copyright (c) 2006 David Gwynne <dlg@openbsd.org>
4.\"
5.\" Permission to use, copy, modify, and distribute this software for any
6.\" purpose with or without fee is hereby granted, provided that the above
7.\" copyright notice and this permission notice appear in all copies.
8.\"
9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14.\" TORTIOUS ACTION, ARISING OUT OF
15.\" PERFORMANCE OF THIS SOFTWARE.
16.\"
17.Dd August 3, 2009
18.Dt AHCI 4
19.Os
20.Sh NAME
21.Nm ahci
22.Nd Advanced Host Controller Interface for Serial ATA
23.Sh SYNOPSIS
24To compile this driver into the kernel,
25place the following line in your
26kernel configuration file:
27.Bd -ragged -offset indent
28.Cd "device ahci"
29.Ed
30.Pp
31Alternatively, to load the driver as a
32module at boot time, place the following line in
33.Xr loader.conf 5 :
34.Bd -literal -offset indent
35ahci_load="YES"
36.Ed
37.Sh DESCRIPTION
38The
39.Nm
40driver provides support for Serial ATA controllers conforming to the
41Advanced Host Controller Interface specification.
42.Pp
43Several AHCI capable controllers also provide a compatibility mode that
44causes them to appear as a traditional ATA controller supported by
45.Xr nata 4 .
46.Pp
47Although
48.Nm
49controllers are actual ATA controllers, the driver emulates SCSI via a
50translation layer.
51.Pp
52Setting the lowest bit (0x1) of the driver flags forces
53.Nm
54to negotiate SATA 1 (1.5 Gb/s) transfer speeds only.
55It may be useful where higher speeds are unstable.
56.Sh LOADER TUNABLES
57The following hints may be set in
58.Xr loader.conf 5
59to control the
60.Nm
61driver's behavior.
62Note that the hint need only exist, so removing it requires commenting it out.
63.Pp
64Usually both the
65.Xr nata 4
66and the
67.Nm
68drivers are loaded.
69The
70.Xr nata 4
71driver will pick up any ata-like devices which the
72.Nm
73driver misses.
74If the
75.Nm
76driver is disabled the
77.Xr nata 4
78driver will typically pick up the
79.Nm
80devices, albeit under the "ad" disk name rather than the "da" disk name.
81.Pp
82The
83.Nm
84driver can be told to force a lower-speed 1.5Gb link speed
85if necessary, and can also be told to refrain from attempting to send
86certain higher-level ATA commands to initialize ATA features which
87some devices might not properly implement.
88.Bd -literal -offset indent
89hint.ahci.disabled=1
90hint.ahci.force150=1
91hint.ahci.nofeatures=1
92.Ed
93.Sh SEE ALSO
94.Xr intro 4 ,
95.Xr nata 4 ,
96.Xr pci 4 ,
97.Xr scsi 4 ,
98.Xr sili 4 ,
99.Xr loader.conf 5
100.Sh HISTORY
101The
102.Nm
103driver first appeared in
104.Dx 2.3 .
105.Sh AUTHORS
106.An -nosplit
107The
108.Nm
109driver was originally written by
110.An David Gwynne Aq dlg@openbsd.org
111and
112.An Christopher Pascoe Aq pascoe@openbsd.org
113for
114.Ox .
115.Pp
116It was ported to
117.Dx
118by
119.An Matt Dillon Aq dillon@apollo.backplane.com
120who added new features such as port multiplier support.
121