xref: /freebsd/share/man/man4/acpi.4 (revision 5521ff5a4d1929056e7ffc982fac3341ca54df7c)
1.\"
2.\" Copyright (c) 2001 Michael Smith
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd July 2, 2001
29.Dt ACPI 4
30.Os
31.Sh NAME
32.Nm acpi
33.Nd Advanced Configuration and Power Management support
34.Sh SYNOPSIS
35.Cd device acpica
36.Pp
37.Cd options ACPI_DEBUG
38.Sh DESCRIPTION
39The
40.Nm
41driver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI
42standard.
43This support includes platform hardware discovery (superseding the
44PnP and PCI BIOS), as well as power management (superseding APM) and
45other features.
46ACPI core support is provided by the ACPI CA reference implementation
47from Intel.
48.Sh ENVIRONMENT
49This support is still experimental, and thus there are many debugging
50and tuning options which are managed via the kernel environment
51space, and set in the
52.Xr loader 8
53before booting the kernel.
54.Pp
55Debugging is separated between layers and levels, where a layer is
56a portion of the ACPI subsystem, and a level is a particular kind
57of debugging output.
58.Pp
59Both layers and levels are specified as a whitespace-separated list of
60tokens, with layers listed in
61.Va debug.acpi.layer
62and levels in
63.Va debug.acpi.level .
64The supported layers are:
65.Pp
66.Bl -item -offset indent -compact
67.It
68.Li ACPI_UTILITIES
69.It
70.Li ACPI_HARDWARE
71.It
72.Li ACPI_EVENTS
73.It
74.Li ACPI_TABLES
75.It
76.Li ACPI_NAMESPACE
77.It
78.Li ACPI_PARSER
79.It
80.Li ACPI_DISPATCHER
81.It
82.Li ACPI_EXECUTER
83.It
84.Li ACPI_RESOURCES
85.It
86.Li ACPI_POWER
87.It
88.Li ACPI_BUS
89.It
90.Li ACPI_POWER
91.It
92.Li ACPI_EC
93.It
94.Li ACPI_PROCESSOR
95.It
96.Li ACPI_AC_ADAPTER
97.It
98.Li ACPI_BATTERY
99.It
100.Li ACPI_BUTTON
101.It
102.Li ACPI_SYSTEM
103.It
104.Li ACPI_THERMAL
105.It
106.Li ACPI_DEBUGGER
107.It
108.Li ACPI_OS_SERVICES
109.It
110.Li ACPI_ALL_COMPONENTS
111.El
112.Pp
113The supported levels are:
114.Pp
115.Bl -item -offset indent -compact
116.It
117.Li ACPI_OK
118.It
119.Li ACPI_INFO
120.It
121.Li ACPI_WARN
122.It
123.Li ACPI_ERROR
124.It
125.Li ACPI_FATAL
126.It
127.Li ACPI_DEBUG_OBJECT
128.It
129.Li ACPI_ALL
130.It
131.Li TRACE_THREADS
132.It
133.Li TRACE_PARSE
134.It
135.Li TRACE_DISPATCH
136.It
137.Li TRACE_LOAD
138.It
139.Li TRACE_EXEC
140.It
141.Li TRACE_NAMES
142.It
143.Li TRACE_OPREGION
144.It
145.Li TRACE_BFIELD
146.It
147.Li TRACE_TRASH
148.It
149.Li TRACE_TABLES
150.It
151.Li TRACE_FUNCTIONS
152.It
153.Li TRACE_VALUES
154.It
155.Li TRACE_OBJECTS
156.It
157.Li TRACE_ALLOCATIONS
158.It
159.Li TRACE_RESOURCES
160.It
161.Li TRACE_IO
162.It
163.Li TRACE_INTERRUPTS
164.It
165.Li TRACE_USER_REQUESTS
166.It
167.Li TRACE_PACKAGE
168.It
169.Li TRACE_MUTEX
170.It
171.Li TRACE_INIT
172.It
173.Li TRACE_ALL
174.It
175.Li VERBOSE_AML_DISASSEMBLE
176.It
177.Li VERBOSE_INFO
178.It
179.Li VERBOSE_TABLES
180.It
181.Li VERBOSE_EVENTS
182.It
183.Li VERBOSE_ALL
184.El
185.Pp
186Selection of the appropriate layer and level values is important
187to avoid massive amounts of debugging output.
188Check the code to see which you need.
189.Pp
190Debugging output by the ACPI CA subsystem is prefixed with the
191module name in lowercase, followed by a source line number.
192Output from the
193.Fx Ns -local
194code follows the same format, but
195the module name is uppercased.
196.Pp
197The
198.Nm
199driver comprises a set of drivers, which may be selectively disabled
200in case of problems.
201To disable a sub-driver, list it in the kernel
202environment variable
203.Va debug.acpi.disable .
204.Pp
205ACPI sub-devices and features that can be disabled:
206.Bl -tag -width processor
207.It Li bus
208.Pq Vt feature
209Probes and attaches subdevices.
210Disabling will avoid scanning the ACPI namespace entirely.
211.It Li children
212.Pq Vt feature
213Attaches standard ACPI sub-drivers and devices enumerated in the
214ACPI namespace.
215Disabling this has a similar effect to disabling
216.Dq Li bus ,
217except that the
218ACPI namespace will still be scanned.
219.It Li button
220.Pq Vt device
221Supports ACPI button devices (typically power and sleep buttons).
222.It Li ec
223.Pq Vt device
224Supports the ACPI Embedded Controller interface, used to
225communicate with embedded platform controllers.
226.It Li isa
227.Pq Vt device
228Supports an ISA bus bridge defined in the ACPI namespace,
229typically as a child of a PCI bus.
230.It Li lid
231.Pq Vt device
232Supports an ACPI laptop lid switch, which typically puts a
233system to sleep.
234.It Li pci
235.Pq Vt device
236Supports Host to PCI bridges.
237.It Li processor
238.Pq Vt device
239Supports CPU power-saving and speed-setting functions.
240.It Li thermal
241.Pq Vt device
242Supports system cooling and heat management.
243.It Li timer
244.Pq Vt device
245Implements a timecounter using the ACPI fixed-frequency timer.
246.El
247.Pp
248It is also possible to avoid portions of the ACPI namespace which
249may be causing problems, by listing the full path of the root of
250the region to be avoided in the kernel environment variable
251.Va debug.acpi.avoid .
252The object and all of its children will be ignored during the
253bus/children scan of the namespace.
254The ACPI CA code will still
255know about the avoided region.
256.Sh COMPATIBILITY
257ACPI is only found/supported on Intel platforms (i386/IA32 and IA64).
258.Sh SEE ALSO
259.Xr config 8 ,
260.Xr acpi 9
261.Sh AUTHORS
262.An -nosplit
263The ACPI CA subsystem is developed and maintained by
264Intel Architecture Labs.
265.Pp
266The following people made notable contributions to the ACPI subsystem
267in
268.Fx :
269.An Michael Smith Aq msmith@FreeBSD.org ,
270.An Takanori Watanabe Aq takawata@jp.FreeBSD.org ,
271.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org ,
272.An Munehiro Matsuda ,
273the ACPI-jp mailing list at
274.Aq acpi-jp@jp.FreeBSD.org ,
275and many other contributors.
276.Pp
277This manual page was written by
278.An Michael Smith Aq msmith@FreeBSD.org .
279.Sh BUGS
280The kernel device is
281.Cd device acpica
282for historical reasons.
283It will change to
284.Cd device acpi
285at some time in the future.
286