xref: /freebsd/share/man/man4/acpi.4 (revision 87b6284a2dbcd380f69d57ad90d91a4c3d308fe5)
1b6695bd0SMike Smith.\"
2b6695bd0SMike Smith.\" Copyright (c) 2001 Michael Smith
3b6695bd0SMike Smith.\" All rights reserved.
4b6695bd0SMike Smith.\"
5b6695bd0SMike Smith.\" Redistribution and use in source and binary forms, with or without
6b6695bd0SMike Smith.\" modification, are permitted provided that the following conditions
7b6695bd0SMike Smith.\" are met:
8b6695bd0SMike Smith.\" 1. Redistributions of source code must retain the above copyright
9b6695bd0SMike Smith.\"    notice, this list of conditions and the following disclaimer.
10b6695bd0SMike Smith.\" 2. Redistributions in binary form must reproduce the above copyright
11b6695bd0SMike Smith.\"    notice, this list of conditions and the following disclaimer in the
12b6695bd0SMike Smith.\"    documentation and/or other materials provided with the distribution.
13b6695bd0SMike Smith.\"
14b6695bd0SMike Smith.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15b6695bd0SMike Smith.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16b6695bd0SMike Smith.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17b6695bd0SMike Smith.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18b6695bd0SMike Smith.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19b6695bd0SMike Smith.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20b6695bd0SMike Smith.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21b6695bd0SMike Smith.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22b6695bd0SMike Smith.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23b6695bd0SMike Smith.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24b6695bd0SMike Smith.\" SUCH DAMAGE.
25b6695bd0SMike Smith.\"
26b6695bd0SMike Smith.\" $FreeBSD$
27b6695bd0SMike Smith.\"
28b6695bd0SMike Smith.Dd July 2, 2001
29b6695bd0SMike Smith.Dt ACPI 4
30b6695bd0SMike Smith.Os
31b6695bd0SMike Smith.Sh NAME
32b6695bd0SMike Smith.Nm acpi
33b6695bd0SMike Smith.Nd Advanced Configuration and Power Management support
34b6695bd0SMike Smith.Sh SYNOPSIS
35b6695bd0SMike Smith.Cd device acpica
36b6695bd0SMike Smith.Pp
37b6695bd0SMike Smith.Cd options ACPI_DEBUG
38b6695bd0SMike Smith.Sh DESCRIPTION
39b6695bd0SMike SmithThe
40b6695bd0SMike Smith.Nm
41b6695bd0SMike Smithdriver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI
42b6695bd0SMike Smithstandard.
43b6695bd0SMike SmithThis support includes platform hardware discovery (superseding the
44b6695bd0SMike SmithPnP and PCI BIOS), as well as power management (superseding APM) and
45b6695bd0SMike Smithother features.
46b6695bd0SMike SmithACPI core support is provided by the ACPI CA reference implementation
47b6695bd0SMike Smithfrom Intel.
48b6695bd0SMike Smith.Sh ENVIRONMENT
49b6695bd0SMike SmithThis support is still experimental, and thus there are many debugging
50b6695bd0SMike Smithand tuning options which are managed via the kernel environment
5187b6284aSRuslan Ermilovspace, and set in the
5287b6284aSRuslan Ermilov.Xr loader 8
5387b6284aSRuslan Ermilovbefore booting the kernel.
54b6695bd0SMike Smith.Pp
55b6695bd0SMike SmithDebugging is separated between layers and levels, where a layer is
56b6695bd0SMike Smitha portion of the ACPI subsystem, and a level is a particular kind
57b6695bd0SMike Smithof debugging output.
58b6695bd0SMike Smith.Pp
59b6695bd0SMike SmithBoth layers and levels are specified as a whitespace-separated list of
60b6695bd0SMike Smithtokens, with layers listed in
61b6695bd0SMike Smith.Va debug.acpi.layer
62b6695bd0SMike Smithand levels in
63b6695bd0SMike Smith.Va debug.acpi.level .
64b6695bd0SMike SmithThe supported layers are:
6587b6284aSRuslan Ermilov.Pp
6687b6284aSRuslan Ermilov.Bl -item -offset indent -compact
67b6695bd0SMike Smith.It
6887b6284aSRuslan Ermilov.Li ACPI_UTILITIES
69b6695bd0SMike Smith.It
7087b6284aSRuslan Ermilov.Li ACPI_HARDWARE
71b6695bd0SMike Smith.It
7287b6284aSRuslan Ermilov.Li ACPI_EVENTS
73b6695bd0SMike Smith.It
7487b6284aSRuslan Ermilov.Li ACPI_TABLES
75b6695bd0SMike Smith.It
7687b6284aSRuslan Ermilov.Li ACPI_NAMESPACE
77b6695bd0SMike Smith.It
7887b6284aSRuslan Ermilov.Li ACPI_PARSER
79b6695bd0SMike Smith.It
8087b6284aSRuslan Ermilov.Li ACPI_DISPATCHER
81b6695bd0SMike Smith.It
8287b6284aSRuslan Ermilov.Li ACPI_EXECUTER
83b6695bd0SMike Smith.It
8487b6284aSRuslan Ermilov.Li ACPI_RESOURCES
85b6695bd0SMike Smith.It
8687b6284aSRuslan Ermilov.Li ACPI_POWER
87b6695bd0SMike Smith.It
8887b6284aSRuslan Ermilov.Li ACPI_BUS
89b6695bd0SMike Smith.It
9087b6284aSRuslan Ermilov.Li ACPI_POWER
91b6695bd0SMike Smith.It
9287b6284aSRuslan Ermilov.Li ACPI_EC
93b6695bd0SMike Smith.It
9487b6284aSRuslan Ermilov.Li ACPI_PROCESSOR
95b6695bd0SMike Smith.It
9687b6284aSRuslan Ermilov.Li ACPI_AC_ADAPTER
97b6695bd0SMike Smith.It
9887b6284aSRuslan Ermilov.Li ACPI_BATTERY
99b6695bd0SMike Smith.It
10087b6284aSRuslan Ermilov.Li ACPI_BUTTON
101b6695bd0SMike Smith.It
10287b6284aSRuslan Ermilov.Li ACPI_SYSTEM
103b6695bd0SMike Smith.It
10487b6284aSRuslan Ermilov.Li ACPI_THERMAL
105b6695bd0SMike Smith.It
10687b6284aSRuslan Ermilov.Li ACPI_DEBUGGER
107b6695bd0SMike Smith.It
10887b6284aSRuslan Ermilov.Li ACPI_OS_SERVICES
109b6695bd0SMike Smith.It
11087b6284aSRuslan Ermilov.Li ACPI_ALL_COMPONENTS
111b6695bd0SMike Smith.El
11287b6284aSRuslan Ermilov.Pp
113b6695bd0SMike SmithThe supported levels are:
11487b6284aSRuslan Ermilov.Pp
11587b6284aSRuslan Ermilov.Bl -item -offset indent -compact
116b6695bd0SMike Smith.It
11787b6284aSRuslan Ermilov.Li ACPI_OK
118b6695bd0SMike Smith.It
11987b6284aSRuslan Ermilov.Li ACPI_INFO
120b6695bd0SMike Smith.It
12187b6284aSRuslan Ermilov.Li ACPI_WARN
122b6695bd0SMike Smith.It
12387b6284aSRuslan Ermilov.Li ACPI_ERROR
124b6695bd0SMike Smith.It
12587b6284aSRuslan Ermilov.Li ACPI_FATAL
126b6695bd0SMike Smith.It
12787b6284aSRuslan Ermilov.Li ACPI_DEBUG_OBJECT
128b6695bd0SMike Smith.It
12987b6284aSRuslan Ermilov.Li ACPI_ALL
130b6695bd0SMike Smith.It
13187b6284aSRuslan Ermilov.Li TRACE_THREADS
132b6695bd0SMike Smith.It
13387b6284aSRuslan Ermilov.Li TRACE_PARSE
134b6695bd0SMike Smith.It
13587b6284aSRuslan Ermilov.Li TRACE_DISPATCH
136b6695bd0SMike Smith.It
13787b6284aSRuslan Ermilov.Li TRACE_LOAD
138b6695bd0SMike Smith.It
13987b6284aSRuslan Ermilov.Li TRACE_EXEC
140b6695bd0SMike Smith.It
14187b6284aSRuslan Ermilov.Li TRACE_NAMES
142b6695bd0SMike Smith.It
14387b6284aSRuslan Ermilov.Li TRACE_OPREGION
144b6695bd0SMike Smith.It
14587b6284aSRuslan Ermilov.Li TRACE_BFIELD
146b6695bd0SMike Smith.It
14787b6284aSRuslan Ermilov.Li TRACE_TRASH
148b6695bd0SMike Smith.It
14987b6284aSRuslan Ermilov.Li TRACE_TABLES
150b6695bd0SMike Smith.It
15187b6284aSRuslan Ermilov.Li TRACE_FUNCTIONS
152b6695bd0SMike Smith.It
15387b6284aSRuslan Ermilov.Li TRACE_VALUES
154b6695bd0SMike Smith.It
15587b6284aSRuslan Ermilov.Li TRACE_OBJECTS
156b6695bd0SMike Smith.It
15787b6284aSRuslan Ermilov.Li TRACE_ALLOCATIONS
158b6695bd0SMike Smith.It
15987b6284aSRuslan Ermilov.Li TRACE_RESOURCES
160b6695bd0SMike Smith.It
16187b6284aSRuslan Ermilov.Li TRACE_IO
162b6695bd0SMike Smith.It
16387b6284aSRuslan Ermilov.Li TRACE_INTERRUPTS
164b6695bd0SMike Smith.It
16587b6284aSRuslan Ermilov.Li TRACE_USER_REQUESTS
166b6695bd0SMike Smith.It
16787b6284aSRuslan Ermilov.Li TRACE_PACKAGE
168b6695bd0SMike Smith.It
16987b6284aSRuslan Ermilov.Li TRACE_MUTEX
170b6695bd0SMike Smith.It
17187b6284aSRuslan Ermilov.Li TRACE_INIT
172b6695bd0SMike Smith.It
17387b6284aSRuslan Ermilov.Li TRACE_ALL
174b6695bd0SMike Smith.It
17587b6284aSRuslan Ermilov.Li VERBOSE_AML_DISASSEMBLE
176b6695bd0SMike Smith.It
17787b6284aSRuslan Ermilov.Li VERBOSE_INFO
178b6695bd0SMike Smith.It
17987b6284aSRuslan Ermilov.Li VERBOSE_TABLES
180b6695bd0SMike Smith.It
18187b6284aSRuslan Ermilov.Li VERBOSE_EVENTS
182b6695bd0SMike Smith.It
18387b6284aSRuslan Ermilov.Li VERBOSE_ALL
184b6695bd0SMike Smith.El
185b6695bd0SMike Smith.Pp
186b6695bd0SMike SmithSelection of the appropriate layer and level values is important
187b6695bd0SMike Smithto avoid massive amounts of debugging output.
188b6695bd0SMike SmithCheck the code to see which you need.
189b6695bd0SMike Smith.Pp
190b6695bd0SMike SmithDebugging output by the ACPI CA subsystem is prefixed with the
191b6695bd0SMike Smithmodule name in lowercase, followed by a source line number.
19287b6284aSRuslan ErmilovOutput from the
19387b6284aSRuslan Ermilov.Fx Ns -local
19487b6284aSRuslan Ermilovcode follows the same format, but
195b6695bd0SMike Smiththe module name is uppercased.
196b6695bd0SMike Smith.Pp
197b6695bd0SMike SmithThe
198b6695bd0SMike Smith.Nm
199b6695bd0SMike Smithdriver comprises a set of drivers, which may be selectively disabled
200b6695bd0SMike Smithin case of problems.
201b6695bd0SMike SmithTo disable a sub-driver, list it in the kernel
202b6695bd0SMike Smithenvironment variable
203b6695bd0SMike Smith.Va debug.acpi.disable .
204b6695bd0SMike Smith.Pp
205b6695bd0SMike SmithACPI sub-devices and features that can be disabled:
206b6695bd0SMike Smith.Bl -tag -width processor
20787b6284aSRuslan Ermilov.It Li bus
208b6695bd0SMike Smith.Pq Vt feature
209b6695bd0SMike SmithProbes and attaches subdevices.
210b6695bd0SMike SmithDisabling will avoid scanning the ACPI namespace entirely.
21187b6284aSRuslan Ermilov.It Li children
212b6695bd0SMike Smith.Pq Vt feature
213b6695bd0SMike SmithAttaches standard ACPI sub-drivers and devices enumerated in the
214b6695bd0SMike SmithACPI namespace.
215b6695bd0SMike SmithDisabling this has a similar effect to disabling
21687b6284aSRuslan Ermilov.Dq Li bus ,
217b6695bd0SMike Smithexcept that the
218b6695bd0SMike SmithACPI namespace will still be scanned.
21987b6284aSRuslan Ermilov.It Li button
220b6695bd0SMike Smith.Pq Vt device
221b6695bd0SMike SmithSupports ACPI button devices (typically power and sleep buttons).
22287b6284aSRuslan Ermilov.It Li ec
223b6695bd0SMike Smith.Pq Vt device
224b6695bd0SMike SmithSupports the ACPI Embedded Controller interface, used to
225b6695bd0SMike Smithcommunicate with embedded platform controllers.
22687b6284aSRuslan Ermilov.It Li isa
227b6695bd0SMike Smith.Pq Vt device
228b6695bd0SMike SmithSupports an ISA bus bridge defined in the ACPI namespace,
229b6695bd0SMike Smithtypically as a child of a PCI bus.
23087b6284aSRuslan Ermilov.It Li lid
231b6695bd0SMike Smith.Pq Vt device
232b6695bd0SMike SmithSupports an ACPI laptop lid switch, which typically puts a
233b6695bd0SMike Smithsystem to sleep.
23487b6284aSRuslan Ermilov.It Li pci
235b6695bd0SMike Smith.Pq Vt device
236b6695bd0SMike SmithSupports Host to PCI bridges.
23787b6284aSRuslan Ermilov.It Li processor
238b6695bd0SMike Smith.Pq Vt device
239b6695bd0SMike SmithSupports CPU power-saving and speed-setting functions.
24087b6284aSRuslan Ermilov.It Li thermal
241b6695bd0SMike Smith.Pq Vt device
242b6695bd0SMike SmithSupports system cooling and heat management.
24387b6284aSRuslan Ermilov.It Li timer
244b6695bd0SMike Smith.Pq Vt device
245b6695bd0SMike SmithImplements a timecounter using the ACPI fixed-frequency timer.
246b6695bd0SMike Smith.El
247b6695bd0SMike Smith.Pp
248b6695bd0SMike SmithIt is also possible to avoid portions of the ACPI namespace which
249b6695bd0SMike Smithmay be causing problems, by listing the full path of the root of
250b6695bd0SMike Smiththe region to be avoided in the kernel environment variable
251b6695bd0SMike Smith.Va debug.acpi.avoid .
252b6695bd0SMike SmithThe object and all of its children will be ignored during the
25387b6284aSRuslan Ermilovbus/children scan of the namespace.
25487b6284aSRuslan ErmilovThe ACPI CA code will still
255b6695bd0SMike Smithknow about the avoided region.
256b6695bd0SMike Smith.Sh COMPATIBILITY
257b6695bd0SMike SmithACPI is only found/supported on Intel platforms (i386/IA32 and IA64).
258b6695bd0SMike Smith.Sh SEE ALSO
259b6695bd0SMike Smith.Xr config 8 ,
260b6695bd0SMike Smith.Xr acpi 9
26187b6284aSRuslan Ermilov.Sh AUTHORS
26287b6284aSRuslan Ermilov.An -nosplit
263b6695bd0SMike SmithThe ACPI CA subsystem is developed and maintained by
264b6695bd0SMike SmithIntel Architecture Labs.
265b6695bd0SMike Smith.Pp
266b6695bd0SMike SmithThe following people made notable contributions to the ACPI subsystem
267b6695bd0SMike Smithin
268b6695bd0SMike Smith.Fx :
26987b6284aSRuslan Ermilov.An Michael Smith Aq msmith@FreeBSD.org ,
27087b6284aSRuslan Ermilov.An Takanori Watanabe Aq takawata@jp.FreeBSD.org ,
27187b6284aSRuslan Ermilov.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org ,
272b6695bd0SMike Smith.An Munehiro Matsuda ,
273b6695bd0SMike Smiththe ACPI-jp mailing list at
27487b6284aSRuslan Ermilov.Aq acpi-jp@jp.FreeBSD.org ,
275b6695bd0SMike Smithand many other contributors.
276b6695bd0SMike Smith.Pp
277b6695bd0SMike SmithThis manual page was written by
27887b6284aSRuslan Ermilov.An Michael Smith Aq msmith@FreeBSD.org .
279b6695bd0SMike Smith.Sh BUGS
280b6695bd0SMike SmithThe kernel device is
281b6695bd0SMike Smith.Cd device acpica
28287b6284aSRuslan Ermilovfor historical reasons.
28387b6284aSRuslan ErmilovIt will change to
284b6695bd0SMike Smith.Cd device acpi
285b6695bd0SMike Smithat some time in the future.
286