Annotation of src/share/man/man4/acpi.4, Revision 1.39
1.39 ! cnst 1: .\" $NetBSD: acpi.4,v 1.38 2010/02/06 20:11:33 pgoyette Exp $
1.1 augustss 2: .\"
1.9 kochi 3: .\" Copyright (c) 2002, 2004 The NetBSD Foundation, Inc.
1.1 augustss 4: .\" All rights reserved.
5: .\"
6: .\" Redistribution and use in source and binary forms, with or without
7: .\" modification, are permitted provided that the following conditions
8: .\" are met:
9: .\" 1. Redistributions of source code must retain the above copyright
10: .\" notice, this list of conditions and the following disclaimer.
11: .\" 2. Redistributions in binary form must reproduce the above copyright
12: .\" notice, this list of conditions and the following disclaimer in the
13: .\" documentation and/or other materials provided with the distribution.
14: .\"
15: .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16: .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17: .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18: .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19: .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20: .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21: .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23: .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24: .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25: .\" POSSIBILITY OF SUCH DAMAGE.
26: .\"
1.38 pgoyette 27: .Dd February 6, 2010
1.1 augustss 28: .Dt ACPI 4
29: .Os
30: .Sh NAME
31: .Nm acpi
1.8 thorpej 32: .Nd Advanced Configuration and Power Interface
1.1 augustss 33: .Sh SYNOPSIS
34: .Cd "acpi0 at mainbus0"
35: .Cd "acpiacad* at acpi?"
36: .Cd "acpibat* at acpi?"
37: .Cd "acpibut* at acpi?"
1.33 jruoho 38: .Cd "acpidalb* at acpi?"
1.1 augustss 39: .Cd "acpiec* at acpi?"
1.33 jruoho 40: .Cd "acpiecdt* at acpi?"
1.4 soren 41: .Cd "acpilid* at acpi?"
1.38 pgoyette 42: .Cd "acpismbus* at acpi?"
1.6 jmcneill 43: .Cd "acpitz* at acpi?"
1.33 jruoho 44: .Cd "aiboost* at acpi?"
1.39 ! cnst 45: .Cd "aibs* at acpi?"
1.33 jruoho 46: .Cd "asus* at acpi?"
1.15 cube 47: .Cd "attimer* at acpi?"
1.6 jmcneill 48: .Cd "com* at acpi?"
49: .Cd "fdc* at acpi?"
1.23 njoly 50: .Cd "hpet* at acpi?"
1.33 jruoho 51: .Cd "hpqlb* at acpi?"
1.13 xtraeme 52: .Cd "joy* at acpi?"
1.6 jmcneill 53: .Cd "lpt* at acpi?"
1.12 xtraeme 54: .Cd "mpu* at acpi?"
1.6 jmcneill 55: .Cd "npx* at acpi?"
56: .Cd "pckbc* at acpi?"
1.14 xtraeme 57: .Cd "pcppi* at acpi?"
1.21 rpaulo 58: .Cd "sony* at acpi?"
1.1 augustss 59: .Cd "spic* at acpi?"
1.33 jruoho 60: .Cd "thinkpad* at acpi?"
1.27 xtraeme 61: .Cd "ug* at acpi?"
1.9 kochi 62: .Cd "vald* at acpi?"
1.33 jruoho 63: .Cd "wb* at acpi?"
1.6 jmcneill 64: .Cd "wss* at acpi?"
1.24 xtraeme 65: .Cd "ym* at acpi?"
1.2 augustss 66: .Pp
1.9 kochi 67: .Cd "options ACPI_DEBUG"
1.7 christos 68: .Cd "options ACPIVERBOSE"
1.17 cube 69: .Cd "options ACPI_ACTIVATE_DEV"
1.19 dogcow 70: .Cd "options ACPI_DSDT_OVERRIDE"
1.1 augustss 71: .Sh DESCRIPTION
72: .Nx
73: provides machine-independent bus support for
1.30 fair 74: Advanced Configuration and Power Interface
75: .Pq Tn ACPI
1.9 kochi 76: devices and includes several
77: .Tn ACPI
78: device drivers.
1.2 augustss 79: .Pp
80: The
1.9 kochi 81: .Nx
82: implementation of
83: .Tn ACPI
84: integrates Intel's ACPI Component Architecture
1.30 fair 85: .Pq Tn ACPI-CA
86: for the OS-independent part.
87: The
88: .Tn ACPI-CA
89: provides OS-neutral
90: .Tn ACPI
91: functionalities such as
92: .Tn ACPI
93: .Tn BIOS
94: table support,
95: an
96: .Tn ACPI
97: event framework and an ACPI Machine Language
98: .Pq Tn AML
99: interpreter.
1.3 augustss 100: .Pp
1.9 kochi 101: Options:
1.20 wiz 102: .Bl -tag -width ACPI_DSDT_FILE__filename_XX -offset 3n
103: .It Dv ACPI_DEBUG
1.30 fair 104: Enable
105: .Tn ACPI
106: debugging message outputs.
1.20 wiz 107: .It Dv ACPI_ACTIVATE_DEV
1.30 fair 108: Determine if the
109: .Tn ACPI
110: driver should attempt to activate inactive devices.
1.9 kochi 111: The default is off.
1.20 wiz 112: .It Dv ACPI_DSDT_OVERRIDE
1.30 fair 113: Force a given Differentiated System Description Table
114: .Pq Tn DSDT
115: instead of the BIOS-supplied version.
1.20 wiz 116: Use
117: .Dv ACPI_DSDT_FILE
1.30 fair 118: to specify a
119: .Tn DSDT .
1.20 wiz 120: .It Dv ACPI_DSDT_FILE="filename"
121: If
122: .Dv ACPI_DSDT_FILE
123: is not specified, default to
124: .Dq dsdt.hex
1.19 dogcow 125: in the build directory.
1.9 kochi 126: .El
1.36 jruoho 127: .Sh SYSCTL SUPPORT
128: Few
1.29 wiz 129: .Xr sysctl 8
1.30 fair 130: variables are directly relevant for
1.29 wiz 131: .Nm :
1.36 jruoho 132: .Bl -inset -width hw.acpi.supported_state -offset 3n
133: .It Ic hw.acpi.root
1.30 fair 134: is the
135: .Tn ACPI
136: root pointer.
1.36 jruoho 137: .It Ic hw.acpi.supported_states
1.30 fair 138: is a list of the supported
139: .Tn ACPI
140: states (see
1.29 wiz 141: .Xr sysctl 7 ) .
1.36 jruoho 142: .It Ic machdep.acpi_vbios_reset
1.29 wiz 143: defines the handling of the graphics card.
1.30 fair 144: The supported values are:
145: .Bl -tag -width '2' -offset indent
1.29 wiz 146: .It 0
1.30 fair 147: No attempt to reset the
148: .Tn VGA
149: controller will be made.
1.29 wiz 150: .It 1
1.30 fair 151: Call the
152: .Tn VGA
153: .Tn BIOS
154: when still in real mode.
1.29 wiz 155: This can result in direct reboots.
156: In that case, use
157: .Sq 2
158: or
159: .Ic vbetool post
160: from the
161: .Pa pkgsrc/sysutils/vbetool
162: package.
163: .It 2
1.30 fair 164: Call the
165: .Tn VGA
166: .Tn BIOS
167: using the in-kernel x86 emulator.
168: .El
1.29 wiz 169: .El
1.9 kochi 170: .Sh SUPPORTED DEVICES
171: .Nx
172: .Tn ACPI
173: supports several machine-dependent and machine-independent devices:
1.36 jruoho 174: .Ss Machine-independent devices
175: .Bl -tag -width pcdisplay -offset indent -compact
1.9 kochi 176: .It acpiacad
177: .Tn ACPI
178: AC adapters.
179: .It acpibat
180: .Tn ACPI
181: Control Method Batteries.
182: .It acpibut
183: .Tn ACPI
184: power and sleep buttons.
1.33 jruoho 185: .It acpidalb
186: .Tn ACPI
187: Direction Application Launch Buttons.
1.9 kochi 188: .It acpiec
189: .Tn ACPI
190: Embedded Controllers.
1.33 jruoho 191: .It acpiecdt
192: .Tn ACPI
193: Embedded Controller Boot Resource Table.
1.9 kochi 194: .It acpilid
195: .Tn ACPI
196: lid switches.
1.38 pgoyette 197: .It acpismbus
198: .Tn ACPI
199: SMBus via Control Method Interface.
1.9 kochi 200: .It acpitz
201: .Tn ACPI
202: thermal zones.
1.33 jruoho 203: .It aiboost
204: ASUS AI Booster Hardware monitor.
1.39 ! cnst 205: .It aibs
! 206: ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor.
1.33 jruoho 207: .It asus
208: ASUS laptop hotkeys.
1.15 cube 209: .It attimer
210: AT Timer.
1.9 kochi 211: .It com
212: NS8250-, NS16450-, and NS16550-based serial ports.
213: .It fdc
214: Floppy disk controllers.
1.23 njoly 215: .It hpet
216: High Precision Event Timer.
1.33 jruoho 217: .It hpqlb
218: HP Quick Launch Buttons.
1.13 xtraeme 219: .It joy
220: Joystick/Game port interface.
1.9 kochi 221: .It lpt
222: Standard ISA parallel port interface.
1.13 xtraeme 223: .It mpu
224: Roland MPU-401 (compatible) MIDI UART.
1.14 xtraeme 225: .It pcppi
226: AT-style speaker sound.
1.33 jruoho 227: .It thinkpad
228: IBM/Lenovo ThinkPad laptop device driver.
1.27 xtraeme 229: .It ug
230: Abit uGuru Hardware monitor.
1.33 jruoho 231: .It wb
232: Winbond W83L518D Integrated Media Reader.
1.9 kochi 233: .It wss
234: Windows Sound System-compatible sound cards based on the AD1848 and compatible chips.
1.24 xtraeme 235: .It ym
236: Yamaha OPL3-SA2 and OPL3-SA3 audio device driver.
1.9 kochi 237: .El
238: .Ss i386-dependent devices
1.36 jruoho 239: .Bl -tag -width pcdisplay -offset indent -compact
1.9 kochi 240: .It npx
241: i386 numeric processing extension coprocessor.
242: .It pckbc
243: PC keyboard controllers.
1.21 rpaulo 244: .It sony
245: Sony Miscellaneous Controller
1.9 kochi 246: .It spic
247: Sony programmable I/O controller.
248: .It vald
249: Toshiba Libretto device.
250: .El
1.35 jruoho 251: .Sh DEBUGGING
252: The
253: .Tn ACPICA
254: reference implementation provides a rich
255: facility of different debugging methods.
256: To ease the use of these,
257: .Nx
258: provides two
259: .Xr sysctl 7
260: variables that control the debug output at runtime.
261: These are only available if the running kernel has been compiled with the
262: .Tn ACPI_DEBUG
263: option.
264: .Pp
265: The
266: .Ic hw.acpi.debug_layer
267: limits the output to a specific
268: .Tn ACPI
269: layer and the
270: .Ic hw.acpi.debug_level
271: controls the debug level.
272: Both
273: .Xr sysctl 7
274: variables are string literals.
275: The possible values are:
276: .Bl -column -offset indent \
277: "ACPI_RESOURCE_COMPONENT " "ACPI_RESOURCE_COMPONENT "
278: .It Sy LAYER Ta Sy LEVEL
279: .It Li ACPI_DEBUG_NONE Ta ACPI_DEBUG_NONE
280: .It Li Ta
281: .It Li ACPI_UTILITIES Ta ACPI_LV_INIT
282: .It Li ACPI_HARDWARE Ta ACPI_LV_DEBUG_OBJECT
283: .It Li ACPI_EVENTS Ta ACPI_LV_INFO
284: .It Li ACPI_TABLES Ta ACPI_LV_ALL_EXCEPTIONS *
285: .It Li ACPI_NAMESPACE Ta
286: .It Li ACPI_PARSER Ta ACPI_LV_INIT_NAMES
287: .It Li ACPI_DISPATCHER Ta ACPI_LV_PARSE
288: .It Li ACPI_EXECUTER Ta ACPI_LV_LOAD
289: .It Li ACPI_RESOURCES Ta ACPI_LV_DISPATCH
290: .It Li ACPI_CA_DEBUGGER Ta ACPI_LV_EXEC
291: .It Li ACPI_OS_SERVICES Ta ACPI_LV_NAMES
292: .It Li ACPI_CA_DISASSEMBLER Ta ACPI_LV_OPREGION
293: .It Li ACPI_COMPILER Ta ACPI_LV_BFIELD
294: .It Li ACPI_TOOLS Ta ACPI_LV_TABLES
295: .It Li ACPI_EXAMPLE Ta ACPI_LV_VALUES
296: .It Li ACPI_DRIVER Ta ACPI_LV_OBJECTS
297: .It Li ACPI_ALL_COMPONENTS * Ta ACPI_LV_RESOURCES
298: .It Li Ta ACPI_LV_USER_REQUESTS
299: .It Li ACPI_BUS_COMPONENT Ta ACPI_LV_PACKAGE
300: .It Li ACPI_ACAD_COMPONENT Ta ACPI_LV_VERBOSITY1 *
301: .It Li ACPI_BAT_COMPONENT Ta
302: .It Li ACPI_BUTTON_COMPONENT Ta ACPI_LV_ALLOCATIONS
303: .It Li APCI_EC_COMPONENT Ta ACPI_LV_FUNCTIONS
304: .It Li ACPI_LID_COMPONENT Ta ACPI_LV_OPTIMIZATIONS
305: .It Li ACPI_RESOURCE_COMPONENT Ta ACPI_LV_VERBOSITY2 *
306: .It Li ACPI_TZ_COMPONENT Ta
307: .It Li ACPI_ALL_DRIVERS * Ta ACPI_LV_MUTEX
308: .It Li Ta ACPI_LV_THREADS
309: .It Li Ta ACPI_LV_IO
310: .It Li Ta ACPI_LV_AML_INTERRUPTS
311: .It Li "* This is a compound" Ta ACPI_LV_VERBOSITY3 *
312: .It Li " constant, including" Ta
313: .It Li " all previous elements." Ta ACPI_LV_AML_DISASSEMBLE
314: .It Li Ta ACPI_LV_VERBOSE_INFO
315: .It Li Ta ACPI_LV_FULL_TABLES
316: .It Li Ta ACPI_LV_EVENTS
317: .It Li Ta ACPI_LV_VERBOSE *
318: .El
319: .Pp
320: In addition, there is
321: .Dv ACPI_DEBUG_DEFAULT
322: that is used by
323: .Tn ACPICA
1.37 wiz 324: as the default debug level.
325: It includes
1.35 jruoho 326: .Dv ACPI_LV_INIT
327: and
328: .Dv ACPI_LV_DEBUG_OBJECT .
329: .Pp
330: The debug layer can be divided into two groups:
331: the first one is specific to the
332: .Tn ACPICA
333: interpreter and the second one contains the internal
334: .Tn ACPI
335: components of
336: .Nx .
337: The constant
338: .Dv ACPI_ALL_DRIVERS
339: includes all
340: .Nx
341: specific parts.
342: .Pp
343: The
344: .Tn ACPICA
345: interpreter uses several debug levels internally,
346: but the
347: .Nx
348: specific parts are typically limited to
349: .Dv ACPI_LV_DEBUG_OBJECT
350: and
351: .Dv ACPI_LV_DEBUG_INFO .
352: The debug output can be stopped by setting
353: .Ic hw.acpi.debug_level
354: to
355: .Dv ACPI_DEBUG_NONE .
356: .Ss EXAMPLE
357: As an example, a driver may have defined the component it belongs to and
358: the name of the module:
359: .Bd -literal -offset indent
360: #define _COMPONENT ACPI_BUS_COMPONENT
361: ACPI_MODULE_NAME ("acpi_example")
362: .Ed
363: .Pp
364: The driver may also utilize the debug facility:
365: .Bd -literal -offset indent
366: ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Failed to evaluate _STA\\n"));
367: .Ed
368: .Pp
369: With these options the debug message from the
370: .Dv ACPI_DEBUG_PRINT
371: macro is only visible when
372: .Ic hw.acpi.debug_layer
373: is either
374: .Dv ACPI_BUS_COMPONENT
375: or a compound constant including it, and
376: .Ic hw.acpi.debug_level
377: is
378: .Dv ACPI_LV_INFO
379: or some constant that includes it.
380: Finally, it can be noted that the
381: .Tn ACPI
382: implementation uses the prefix
383: .Dv ACPI_DB ,
384: whereas the debug level
385: .Xr sysctl 7
386: variable is always specified with the prefix
387: .Dv ACPI_LV .
1.1 augustss 388: .Sh SEE ALSO
389: .Xr acpiacad 4 ,
390: .Xr acpibat 4 ,
391: .Xr acpibut 4 ,
1.33 jruoho 392: .Xr acpidalb 4 ,
1.1 augustss 393: .Xr acpiec 4 ,
394: .Xr acpilid 4 ,
1.38 pgoyette 395: .Xr acpismbus 4 ,
1.6 jmcneill 396: .Xr acpitz 4 ,
1.24 xtraeme 397: .Xr aiboost 4 ,
1.39 ! cnst 398: .Xr aibs 4 ,
1.1 augustss 399: .Xr apm 4 ,
1.15 cube 400: .Xr attimer 4 ,
1.6 jmcneill 401: .Xr com 4 ,
402: .Xr fdc 4 ,
1.33 jruoho 403: .Xr hpqlb 4 ,
1.13 xtraeme 404: .Xr joy 4 ,
1.6 jmcneill 405: .Xr lpt 4 ,
1.13 xtraeme 406: .Xr mpu 4 ,
1.6 jmcneill 407: .Xr npx 4 ,
1.2 augustss 408: .Xr pci 4 ,
1.6 jmcneill 409: .Xr pckbc 4 ,
1.14 xtraeme 410: .Xr pcppi 4 ,
1.22 wiz 411: .Xr sony 4 ,
1.6 jmcneill 412: .Xr spic 4 ,
1.33 jruoho 413: .Xr thinkpad 4 ,
1.27 xtraeme 414: .Xr ug 4 ,
1.10 kochi 415: .Xr vald 4 ,
1.33 jruoho 416: .Xr wb 4 ,
1.24 xtraeme 417: .Xr wss 4 ,
1.26 wiz 418: .Xr ym 4 ,
419: .Xr acpidump 8 ,
420: .Xr amldb 8
1.9 kochi 421: .Rs
1.32 jruoho 422: .%A Hewlett-Packard Corporation
423: .%A Intel Corporation
424: .%A Microsoft Corporation
425: .%A Phoenix Technologies Ltd.
426: .%A Toshiba Corporation
427: .%T Advanced Configuration and Power Interface Specification
428: .%N Revision 4.0
429: .%D June 16, 2009
430: .%U http://www.acpi.info/spec.htm
1.9 kochi 431: .Re
432: .Rs
1.32 jruoho 433: .%A Intel Corporation
434: .%T ACPI Component Architecture,
435: .%T Programmer Reference,
436: .%T OS-Independent Subsystem, Debugger, and Utilities
437: .%N Revision 1.27
438: .%D January 20, 2010
439: .%U http://www.acpica.org/download/acpica-reference.pdf
1.9 kochi 440: .Re
1.34 jruoho 441: .Rs
442: .%A Joerg Sonnenberger
443: .%A Jared D. McNeill
444: .%T Sleeping Beauty - NetBSD on Modern Laptops
445: .%D February 3, 2008
446: .%O Proceedings of AsiaBSDCon 2008
447: .%P pp. 127-134
448: .Re
1.1 augustss 449: .Sh HISTORY
450: The
451: .Nm
452: driver
453: appeared in
454: .Nx 1.6 .
455: .Sh BUGS
1.9 kochi 456: Most of the
1.1 augustss 457: .Tn ACPI
1.9 kochi 458: power management functionalities are not implemented.
CVSweb <webmaster@jp.NetBSD.org>