Merge branch 'vendor/BIND' into bind_vendor2
[dragonfly.git] / share / man / man4 / ahci.4
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
24 To compile this driver into the kernel,
25 place the following line in your
26 kernel configuration file:
27 .Bd -ragged -offset indent
28 .Cd "device ahci"
29 .Ed
30 .Pp
31 Alternatively, to load the driver as a
32 module at boot time, place the following line in
33 .Xr loader.conf 5 :
34 .Bd -literal -offset indent
35 ahci_load="YES"
36 .Ed
37 .Sh DESCRIPTION
38 The
39 .Nm
40 driver provides support for Serial ATA controllers conforming to the
41 Advanced Host Controller Interface specification.
42 .Pp
43 Several AHCI capable controllers also provide a compatibility mode that
44 causes them to appear as a traditional ATA controller supported by
45 .Xr nata 4 .
46 .Pp
47 Although
48 .Nm
49 controllers are actual ATA controllers, the driver emulates SCSI via a
50 translation layer.
51 .Pp
52 Setting the lowest bit (0x1) of the driver flags forces
53 .Nm
54 to negotiate SATA 1 (1.5 Gb/s) transfer speeds only.
55 It may be useful where higher speeds are unstable.
56 .Sh LOADER TUNABLES
57 The following hints may be set in
58 .Xr loader.conf 5
59 to control the
60 .Nm
61 driver's behavior.
62 Note that the hint need only exist, so removing it requires commenting it out.
63 .Pp
64 Usually both the
65 .Xr nata 4
66 and the
67 .Nm
68 drivers are loaded.
69 The
70 .Xr nata 4
71 driver will pick up any ata-like devices which the
72 .Nm
73 driver misses.
74 If the
75 .Nm
76 driver is disabled the
77 .Xr nata 4
78 driver will typically pick up the
79 .Nm
80 devices, albeit under the "ad" disk name rather than the "da" disk name.
81 .Pp
82 The
83 .Nm
84 driver can be told to force a lower-speed 1.5Gb link speed
85 if necessary, and can also be told to refrain from attempting to send
86 certain higher-level ATA commands to initialize ATA features which
87 some devices might not properly implement.
88 .Bd -literal -offset indent
89 hint.ahci.disabled=1
90 hint.ahci.force150=1
91 hint.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
101 The
102 .Nm
103 driver first appeared in
104 .Dx 2.3 .
105 .Sh AUTHORS
106 .An -nosplit
107 The
108 .Nm
109 driver was originally written by
110 .An David Gwynne Aq dlg@openbsd.org
111 and
112 .An Christopher Pascoe Aq pascoe@openbsd.org
113 for
114 .Ox .
115 .Pp
116 It was ported to
117 .Dx
118 by
119 .An Matt Dillon Aq dillon@apollo.backplane.com
120 who added new features such as port multiplier support.