[BACK]Return to acpi.4 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / share / man / man4

Annotation of src/share/man/man4/acpi.4, Revision 1.82

1.82    ! ryoon       1: .\" $NetBSD: acpi.4,v 1.81 2017/01/03 08:49:04 maya Exp $
1.1       augustss    2: .\"
1.47      jruoho      3: .\" Copyright (c) 2002, 2004, 2010 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.82    ! ryoon      27: .Dd February 20, 2017
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
1.70      wiz        34: .Cd acpi0      at mainbus0
1.2       augustss   35: .Pp
1.70      wiz        36: .Cd options    ACPI_DEBUG
                     37: .Cd options    ACPIVERBOSE
                     38: .Cd options    ACPI_ACTIVATE_DEV
                     39: .Cd options    ACPI_DSDT_OVERRIDE
                     40: .Cd options    ACPI_DSDT_FILE=""
                     41: .Cd options    ACPI_BLACKLIST_YEAR=2000
1.78      mrg        42: .Cd options    ACPI__DIS_IS_BROKEN
1.1       augustss   43: .Sh DESCRIPTION
                     44: .Nx
                     45: provides machine-independent bus support for
1.30      fair       46: Advanced Configuration and Power Interface
                     47: .Pq Tn ACPI
1.9       kochi      48: devices and includes several
                     49: .Tn ACPI
                     50: device drivers.
1.2       augustss   51: .Pp
                     52: The
1.9       kochi      53: .Nx
                     54: implementation of
                     55: .Tn ACPI
                     56: integrates Intel's ACPI Component Architecture
1.30      fair       57: .Pq Tn ACPI-CA
                     58: for the OS-independent part.
                     59: The
                     60: .Tn ACPI-CA
                     61: provides OS-neutral
                     62: .Tn ACPI
                     63: functionalities such as
                     64: .Tn ACPI
                     65: .Tn BIOS
                     66: table support,
                     67: an
                     68: .Tn ACPI
                     69: event framework and an ACPI Machine Language
                     70: .Pq Tn AML
                     71: interpreter.
1.3       augustss   72: .Pp
1.9       kochi      73: Options:
1.20      wiz        74: .Bl -tag -width ACPI_DSDT_FILE__filename_XX -offset 3n
                     75: .It Dv ACPI_DEBUG
1.51      jruoho     76: Enable various debug facilities.
                     77: .It Dv ACPIVERBOSE
                     78: Enable verbose debug messages.
1.20      wiz        79: .It Dv ACPI_ACTIVATE_DEV
1.30      fair       80: Determine if the
                     81: .Tn ACPI
                     82: driver should attempt to activate inactive devices.
1.9       kochi      83: The default is off.
1.20      wiz        84: .It Dv ACPI_DSDT_OVERRIDE
1.30      fair       85: Force a given Differentiated System Description Table
                     86: .Pq Tn DSDT
1.47      jruoho     87: instead of the version supplied by the
                     88: .Tn BIOS .
1.20      wiz        89: Use
                     90: .Dv ACPI_DSDT_FILE
1.30      fair       91: to specify a
                     92: .Tn DSDT .
1.20      wiz        93: .It Dv ACPI_DSDT_FILE="filename"
                     94: If
                     95: .Dv ACPI_DSDT_FILE
                     96: is not specified, default to
                     97: .Dq dsdt.hex
1.19      dogcow     98: in the build directory.
1.58      jmcneill   99: .It Dv ACPI_BLACKLIST_YEAR=2000
                    100: Do not use ACPI with any BIOS made on or before the specified year.
1.78      mrg       101: .It Dv ACPI__DIS_IS_BROKEN
                    102: Do not call the ACPI "_DIS" method to disable interrupt links.
                    103: This may be required on specific
                    104: .Dq nForce4
                    105: chipset systems, which hard hang when this method is called instead of
                    106: having it fail gracefully.
                    107: .Dq
1.9       kochi     108: .El
1.36      jruoho    109: .Sh SYSCTL SUPPORT
                    110: Few
1.29      wiz       111: .Xr sysctl 8
1.30      fair      112: variables are directly relevant for
1.44      jruoho    113: .Tn ACPI .
1.48      jruoho    114: .Bl -tag -width "123456" -offset indent
1.36      jruoho    115: .It Ic hw.acpi.root
1.56      jruoho    116: The address of the
1.30      fair      117: .Tn ACPI
1.56      jruoho    118: root pointer in system memory.
1.63      jruoho    119: .It Ic hw.acpi.sleep.state
                    120: The system sleep state.
                    121: .It Ic hw.acpi.sleep.states
                    122: A list of system sleep states that the machine supports.
1.48      jruoho    123: The possible values are:
                    124: .Pp
                    125: .Bl -tag -width XS1X -offset indent -compact
1.44      jruoho    126: .It S0
                    127: fully running
                    128: .It S1
                    129: power on suspend (CPU and hard disks are off)
                    130: .It S2
                    131: similar to S3, usually not implemented
                    132: .It S3
                    133: suspend-to-RAM
                    134: .It S4
1.48      jruoho    135: suspend-to-disk (not supported on
                    136: .Nx )
1.44      jruoho    137: .It S5
                    138: power off
                    139: .El
1.63      jruoho    140: .It Ic hw.acpi.sleep.beep
1.48      jruoho    141: A boolean variable that controls whether the
1.46      jruoho    142: .Tn PC
1.49      wiz       143: speaker beeps upon resume.
1.75      jruoho    144: Only available on i386 and amd64 architectures.
1.63      jruoho    145: .It Ic hw.acpi.sleep.vbios
1.75      jruoho    146: Defines the handling of the graphics card on i386 and amd64 architectures.
1.30      fair      147: The supported values are:
1.56      jruoho    148: .Bl -tag -width '2' -offset 2n
1.29      wiz       149: .It 0
1.30      fair      150: No attempt to reset the
                    151: .Tn VGA
                    152: controller will be made.
1.29      wiz       153: .It 1
1.30      fair      154: Call the
                    155: .Tn VGA
                    156: .Tn BIOS
                    157: when still in real mode.
1.29      wiz       158: This can result in direct reboots.
                    159: In that case, use
                    160: .Sq 2
                    161: or
                    162: .Ic vbetool post
                    163: from the
                    164: .Pa pkgsrc/sysutils/vbetool
                    165: package.
                    166: .It 2
1.30      fair      167: Call the
                    168: .Tn VGA
                    169: .Tn BIOS
                    170: using the in-kernel x86 emulator.
                    171: .El
1.56      jruoho    172: .Pp
                    173: If the system has problems in resuming from the
                    174: .Tn S3
                    175: state, experimenting with different values may provide a solution.
1.63      jruoho    176: .It Ic hw.acpi.stat.gpe
                    177: The number of dispatched General Purpose Events
                    178: .Pq Tn GPEs .
                    179: .It Ic hw.acpi.stat.sci
                    180: The number of System Control Interrupts
                    181: .Pq Tn SCIs .
                    182: See
                    183: .Xr acpiec 4
                    184: for a brief description of both
                    185: .Tn GPEs
                    186: and
                    187: .Tn SCIs .
                    188: .It Ic hw.acpi.stat.fixed
                    189: The number of
                    190: .Dq fixed events .
                    191: .It Ic hw.acpi.stat.method
                    192: The number of
1.74      jruoho    193: .Tn AML
1.63      jruoho    194: methods executed by the interpreter.
1.64      jruoho    195: .It Ic hw.acpi.power
                    196: This read-only node describes the
                    197: .Tn ACPI
                    198: power state of devices.
                    199: The values range from
                    200: .Tn D0
                    201: .Pq Dq on
                    202: to
                    203: .Tn D3
                    204: .Pq Dq off .
                    205: .It Ic hw.acpi.wake
                    206: This node represents devices that can wake the system from the
                    207: .Tn S3
                    208: or
                    209: .Tn S4
                    210: sleep state.
                    211: By default,
                    212: .Xr acpibut 4 ,
                    213: .Xr acpilid 4 ,
                    214: and
                    215: .Xr pckbd 4
                    216: are allowed to wake the system, provided that the devices are present and
                    217: the firmware supports wake-up capabilities for the devices.
1.29      wiz       218: .El
1.9       kochi     219: .Sh SUPPORTED DEVICES
                    220: .Nx
                    221: .Tn ACPI
1.56      jruoho    222: supports several machine-dependent and machine-independent devices,
                    223: some specific to
                    224: .Tn ACPI
                    225: and some configured via it.
1.36      jruoho    226: .Ss Machine-independent devices
1.53      jruoho    227: .Bl -tag -width "thinkpad(4) " -offset indent -compact
                    228: .It Xr acpiacad 4
1.9       kochi     229: .Tn ACPI
                    230: AC adapters.
1.53      jruoho    231: .It Xr acpibat 4
1.9       kochi     232: .Tn ACPI
1.53      jruoho    233: batteries.
                    234: .It Xr acpibut 4
1.9       kochi     235: .Tn ACPI
                    236: power and sleep buttons.
1.53      jruoho    237: .It Xr acpicpu 4
1.33      jruoho    238: .Tn ACPI
1.53      jruoho    239: processors.
                    240: .It Xr acpidalb 4
1.9       kochi     241: .Tn ACPI
1.53      jruoho    242: direction application launch buttons.
                    243: .It Xr acpiec 4
1.33      jruoho    244: .Tn ACPI
1.53      jruoho    245: embedded controllers.
                    246: .It Xr acpiecdt 4
                    247: .Tn ACPI
                    248: Embedded Controller Boot Resource Table
                    249: .Pq Tn ECDT .
1.66      jruoho    250: .It Xr acpifan 4
                    251: .Tn ACPI
                    252: fans.
1.53      jruoho    253: .It Xr acpilid 4
1.9       kochi     254: .Tn ACPI
                    255: lid switches.
1.65      jruoho    256: .It Xr acpipmtr 4
                    257: .Tn ACPI
                    258: power meters.
1.53      jruoho    259: .It Xr acpismbus 4
1.38      pgoyette  260: .Tn ACPI
1.65      jruoho    261: SMBus via control method interface
1.53      jruoho    262: .Pq Tn CMI .
                    263: .It Xr acpitz 4
1.9       kochi     264: .Tn ACPI
                    265: thermal zones.
1.60      jruoho    266: .It Xr acpivga 4
                    267: .Tn ACPI
                    268: display adapter and output devices.
1.53      jruoho    269: .It Xr acpiwmi 4
1.45      jruoho    270: .Tn ACPI
                    271: support for Windows Management Instrumentation.
1.69      jruoho    272: .It Xr acpiwdrt 4
                    273: .Tn ACPI
                    274: watchdogs.
1.53      jruoho    275: .It Xr aibs 4
                    276: ASUSTeK voltage, temperature and fan sensors.
1.77      wiz       277: .It Xr asus 4
1.33      jruoho    278: ASUS laptop hotkeys.
1.53      jruoho    279: .It Xr attimer 4
1.15      cube      280: AT Timer.
1.53      jruoho    281: .It Xr com 4
1.9       kochi     282: NS8250-, NS16450-, and NS16550-based serial ports.
1.53      jruoho    283: .It Xr fdc 4
1.9       kochi     284: Floppy disk controllers.
1.73      jruoho    285: .It Xr fujbp 4
                    286: Fujitsu brightness and pointer.
                    287: .It Xr fujhk 4
                    288: Fujitsu hotkeys.
1.71      jruoho    289: .It Xr hpacel 4
                    290: HP 3D DriveGuard accelerometer.
1.54      jruoho    291: .It Xr hpet 4
1.53      jruoho    292: High Precision Event Timer
                    293: .Pq Tn HPET .
                    294: .It Xr hpqlb 4
1.33      jruoho    295: HP Quick Launch Buttons.
1.53      jruoho    296: .It Xr joy 4
1.13      xtraeme   297: Joystick/Game port interface.
1.53      jruoho    298: .It Xr lpt 4
1.9       kochi     299: Standard ISA parallel port interface.
1.53      jruoho    300: .It Xr mpu 4
1.13      xtraeme   301: Roland MPU-401 (compatible) MIDI UART.
1.53      jruoho    302: .It Xr pcppi 4
1.14      xtraeme   303: AT-style speaker sound.
1.79      nonaka    304: .It Xr sdhc 4
                    305: SD Host Controller.
1.53      jruoho    306: .It Xr thinkpad 4
1.33      jruoho    307: IBM/Lenovo ThinkPad laptop device driver.
1.53      jruoho    308: .It Xr ug 4
1.27      xtraeme   309: Abit uGuru Hardware monitor.
1.53      jruoho    310: .It Xr vald 4
1.50      jruoho    311: Toshiba Libretto device.
1.82    ! ryoon     312: .It Xr valz 4
        !           313: Toshiba Dynabook device.
1.53      jruoho    314: .It Xr wb 4
1.33      jruoho    315: Winbond W83L518D Integrated Media Reader.
1.53      jruoho    316: .It Xr wss 4
                    317: Windows Sound System-compatible sound cards
                    318: .It Xr ym 4
1.24      xtraeme   319: Yamaha OPL3-SA2 and OPL3-SA3 audio device driver.
1.9       kochi     320: .El
                    321: .Ss i386-dependent devices
1.53      jruoho    322: .Bl -tag -width "thinkpad(4) " -offset indent -compact
                    323: .It Xr pckbc 4
1.9       kochi     324: PC keyboard controllers.
1.53      jruoho    325: .It Xr sony 4
1.21      rpaulo    326: Sony Miscellaneous Controller
1.53      jruoho    327: .It Xr spic 4
1.9       kochi     328: Sony programmable I/O controller.
                    329: .El
1.35      jruoho    330: .Sh DEBUGGING
1.47      jruoho    331: Although the situation has become better over the years,
                    332: .Tn ACPI
                    333: is typically prone to various errors,
                    334: ranging from blatant flaws in the firmware to bugs in the implementation.
                    335: Before anything else, it is a good practice to upgrade the
                    336: .Tn BIOS
                    337: to the latest version available from the vendor.
                    338: .Pp
                    339: To ease the task of diagnosing and fixing different problems, the
1.35      jruoho    340: .Tn ACPICA
                    341: reference implementation provides a rich
                    342: facility of different debugging methods.
1.47      jruoho    343: In
                    344: .Nx
                    345: these are generally only available if the kernel has been compiled with the
                    346: .Tn ACPI_DEBUG
                    347: option.
1.56      jruoho    348: .Ss Verbose messages
                    349: The
                    350: .Tn ACPIVERBOSE
                    351: compile time option enables some verbose
                    352: debug messages printed during the system startup.
                    353: In a
                    354: .Tn MODULAR
                    355: (see
                    356: .Xr options 4 )
                    357: system, the information can be printed also at runtime,
                    358: regardless of the presence of
                    359: .Tn ACPIVERBOSE .
                    360: To print the messages,
                    361: .Xr modload 8
                    362: the
                    363: .Ic acpiverbose
                    364: module using the option
                    365: .Ar -b dump=true .
1.51      jruoho    366: .Ss Custom DSDT
1.47      jruoho    367: .Tn ACPI
                    368: interprets bytecode known as
                    369: .Tn ACPI
                    370: Machine Language
                    371: .Pq Tn AML ,
                    372: provided by the
                    373: .Tn BIOS
                    374: as a memory image during the system bootstrap.
                    375: Most of the
                    376: .Tn AML
                    377: relevant to
                    378: .Nm
                    379: is implemented in the so-called
                    380: Differentiated System Descriptor Table
                    381: .Pq Tn DSDT .
                    382: .Nx
                    383: provides support for overriding the default
                    384: .Tn DSDT
                    385: supplied by the
                    386: .Tn BIOS .
                    387: .Pp
                    388: The following steps can be used to override the
                    389: .Tn DSDT :
                    390: .Bl -enum -offset indent
                    391: .It
                    392: Dump the raw
                    393: .Tn DSDT
                    394: with
                    395: .Xr acpidump 8 .
                    396: .It
                    397: Disassemble the table with
                    398: .Xr iasl 8 .
                    399: .It
                    400: Modify the disassembled table.
                    401: .It
                    402: Compile the table with
                    403: .Xr iasl 8
                    404: using the option
                    405: .Ar \-tc .
                    406: .It
                    407: Either copy the
                    408: .Pq Pa *.hex
                    409: file to
                    410: .Bd -literal -offset indent
                    411: src/sys/dev/acpi/acpica/Osd/custom_dsdt.hex
                    412: .Ed
                    413: .Pp
                    414: or use the option
                    415: .Bd -literal -offset indent
                    416: ACPI_DSDT_FILE="/some/directory/custom_dsdt.hex"
                    417: .Ed
                    418: .Pp
                    419: in the kernel configuration file.
                    420: .It
                    421: Define
                    422: .Tn ACPI_DSDT_OVERRIDE
                    423: in the kernel configuration file and rebuild.
                    424: .El
1.51      jruoho    425: .Ss Debugger
1.50      jruoho    426: The
                    427: .Tn ACPICA
                    428: interpreter provides its own debugger for low-level debugging.
                    429: It can be used to display internal data structures and namespace objects,
                    430: and to debug the execution of control methods.
                    431: Single step and breakpoint functionality are available.
                    432: In
                    433: .Nx
                    434: this is integrated to the in-kernel
                    435: .Xr ddb 4 .
                    436: In order to enter the
                    437: .Tn ACPICA
                    438: debugger from
                    439: .Xr ddb 4 ,
                    440: use the command
                    441: .Ic call
                    442: with the argument
                    443: .Ic acpi_osd_debugger .
1.51      jruoho    444: .Ss Debug Output
1.35      jruoho    445: .Nx
1.52      jruoho    446: provides three
1.42      jruoho    447: .Xr sysctl 8
1.35      jruoho    448: variables that control the debug output at runtime.
                    449: The
1.48      jruoho    450: .Ic hw.acpi.debug.layer
1.52      jruoho    451: variable limits the output to a specific
1.35      jruoho    452: .Tn ACPI
                    453: layer and the
1.48      jruoho    454: .Ic hw.acpi.debug.level
1.52      jruoho    455: variable controls the debug level.
1.35      jruoho    456: Both
1.42      jruoho    457: .Xr sysctl 8
1.35      jruoho    458: variables are string literals.
1.52      jruoho    459: The third variable is
                    460: .Ic hw.acpi.debug.object .
                    461: This is a boolean that controls whether debug messages internal to the
                    462: .Tn AML
                    463: are enabled.
1.47      jruoho    464: .Pp
1.52      jruoho    465: For the first two variables, the possible values are:
1.35      jruoho    466: .Bl -column -offset indent \
                    467: "ACPI_RESOURCE_COMPONENT     " "ACPI_RESOURCE_COMPONENT     "
                    468: .It Sy LAYER Ta Sy LEVEL
                    469: .It Li ACPI_DEBUG_NONE Ta ACPI_DEBUG_NONE
1.41      wiz       470: .It Ta
1.35      jruoho    471: .It Li ACPI_UTILITIES Ta ACPI_LV_INIT
                    472: .It Li ACPI_HARDWARE Ta ACPI_LV_DEBUG_OBJECT
                    473: .It Li ACPI_EVENTS Ta ACPI_LV_INFO
                    474: .It Li ACPI_TABLES Ta ACPI_LV_ALL_EXCEPTIONS *
                    475: .It Li ACPI_NAMESPACE Ta
                    476: .It Li ACPI_PARSER Ta ACPI_LV_INIT_NAMES
                    477: .It Li ACPI_DISPATCHER Ta ACPI_LV_PARSE
                    478: .It Li ACPI_EXECUTER Ta ACPI_LV_LOAD
                    479: .It Li ACPI_RESOURCES Ta ACPI_LV_DISPATCH
                    480: .It Li ACPI_CA_DEBUGGER Ta ACPI_LV_EXEC
                    481: .It Li ACPI_OS_SERVICES Ta ACPI_LV_NAMES
                    482: .It Li ACPI_CA_DISASSEMBLER Ta ACPI_LV_OPREGION
                    483: .It Li ACPI_COMPILER Ta ACPI_LV_BFIELD
                    484: .It Li ACPI_TOOLS Ta ACPI_LV_TABLES
                    485: .It Li ACPI_EXAMPLE Ta ACPI_LV_VALUES
                    486: .It Li ACPI_DRIVER Ta ACPI_LV_OBJECTS
                    487: .It Li ACPI_ALL_COMPONENTS * Ta ACPI_LV_RESOURCES
1.41      wiz       488: .It Ta ACPI_LV_USER_REQUESTS
1.35      jruoho    489: .It Li ACPI_BUS_COMPONENT Ta ACPI_LV_PACKAGE
                    490: .It Li ACPI_ACAD_COMPONENT Ta ACPI_LV_VERBOSITY1 *
                    491: .It Li ACPI_BAT_COMPONENT Ta
                    492: .It Li ACPI_BUTTON_COMPONENT Ta ACPI_LV_ALLOCATIONS
                    493: .It Li APCI_EC_COMPONENT Ta ACPI_LV_FUNCTIONS
                    494: .It Li ACPI_LID_COMPONENT Ta ACPI_LV_OPTIMIZATIONS
                    495: .It Li ACPI_RESOURCE_COMPONENT Ta ACPI_LV_VERBOSITY2 *
                    496: .It Li ACPI_TZ_COMPONENT Ta
1.61      gsutre    497: .It Li ACPI_DISPLAY_COMPONENT Ta
1.35      jruoho    498: .It Li ACPI_ALL_DRIVERS * Ta ACPI_LV_MUTEX
1.41      wiz       499: .It Ta ACPI_LV_THREADS
                    500: .It Ta ACPI_LV_IO
                    501: .It Ta ACPI_LV_AML_INTERRUPTS
1.35      jruoho    502: .It Li "* This is a compound" Ta ACPI_LV_VERBOSITY3 *
                    503: .It Li "  constant, including" Ta
                    504: .It Li "  all previous elements." Ta ACPI_LV_AML_DISASSEMBLE
1.41      wiz       505: .It Ta ACPI_LV_VERBOSE_INFO
                    506: .It Ta ACPI_LV_FULL_TABLES
                    507: .It Ta ACPI_LV_EVENTS
                    508: .It Ta ACPI_LV_VERBOSE *
1.35      jruoho    509: .El
                    510: .Pp
                    511: In addition, there is
                    512: .Dv ACPI_DEBUG_DEFAULT
                    513: that is used by
                    514: .Tn ACPICA
1.37      wiz       515: as the default debug level.
                    516: It includes
1.35      jruoho    517: .Dv ACPI_LV_INIT
                    518: and
                    519: .Dv ACPI_LV_DEBUG_OBJECT .
                    520: .Pp
                    521: The debug layer can be divided into two groups:
                    522: the first one is specific to the
                    523: .Tn ACPICA
                    524: interpreter and the second one contains the internal
                    525: .Tn ACPI
                    526: components of
                    527: .Nx .
                    528: The constant
                    529: .Dv ACPI_ALL_DRIVERS
                    530: includes all
                    531: .Nx
                    532: specific parts.
                    533: .Pp
                    534: The
                    535: .Tn ACPICA
                    536: interpreter uses several debug levels internally,
                    537: but the
                    538: .Nx
                    539: specific parts are typically limited to
                    540: .Dv ACPI_LV_DEBUG_OBJECT
                    541: and
1.59      gsutre    542: .Dv ACPI_LV_INFO .
1.35      jruoho    543: The debug output can be stopped by setting
1.48      jruoho    544: .Ic hw.acpi.debug.level
1.35      jruoho    545: to
                    546: .Dv ACPI_DEBUG_NONE .
1.51      jruoho    547: .Ss Example
1.35      jruoho    548: As an example, a driver may have defined the component it belongs to and
                    549: the name of the module:
                    550: .Bd -literal -offset indent
                    551: #define _COMPONENT     ACPI_BUS_COMPONENT
                    552: ACPI_MODULE_NAME       ("acpi_example")
                    553: .Ed
                    554: .Pp
                    555: The driver may also utilize the debug facility:
                    556: .Bd -literal -offset indent
                    557: ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Failed to evaluate _STA\\n"));
                    558: .Ed
                    559: .Pp
                    560: With these options the debug message from the
                    561: .Dv ACPI_DEBUG_PRINT
                    562: macro is only visible when
1.48      jruoho    563: .Ic hw.acpi.debug.layer
1.35      jruoho    564: is either
                    565: .Dv ACPI_BUS_COMPONENT
                    566: or a compound constant including it, and
1.48      jruoho    567: .Ic hw.acpi.debug.level
1.35      jruoho    568: is
                    569: .Dv ACPI_LV_INFO
                    570: or some constant that includes it.
                    571: Finally, it can be noted that the
                    572: .Tn ACPI
                    573: implementation uses the prefix
                    574: .Dv ACPI_DB ,
                    575: whereas the debug level
1.42      jruoho    576: .Xr sysctl 8
1.35      jruoho    577: variable is always specified with the prefix
                    578: .Dv ACPI_LV .
1.52      jruoho    579: .Pp
                    580: Another example can be mentioned for the use of
                    581: .Ic hw.acpi.debug.object .
                    582: The following could appear in an
                    583: .Tn ASL
                    584: code:
                    585: .Bd -literal -offset indent
                    586: Method(_Q19, 0, NotSerialized)
                    587: {
                    588:        Store("_Q19 invoked", Debug)
                    589:        Notify(ACAD, 0x80)
                    590: }
                    591: .Ed
                    592: .Pp
                    593: When
                    594: .Ic hw.acpi.debug.object
                    595: is set to 1, the message stored to the debug object
                    596: is printed every time the method is called by the interpreter.
1.1       augustss  597: .Sh SEE ALSO
1.67      jruoho    598: .Xr ioapic 4 ,
1.26      wiz       599: .Xr acpidump 8 ,
1.47      jruoho    600: .Xr amldb 8 ,
                    601: .Xr iasl 8
1.9       kochi     602: .Rs
1.32      jruoho    603: .%A Hewlett-Packard Corporation
                    604: .%A Intel Corporation
                    605: .%A Microsoft Corporation
                    606: .%A Phoenix Technologies Ltd.
                    607: .%A Toshiba Corporation
                    608: .%T Advanced Configuration and Power Interface Specification
                    609: .%N Revision 4.0
                    610: .%D June 16, 2009
                    611: .%U http://www.acpi.info/spec.htm
1.9       kochi     612: .Re
                    613: .Rs
1.32      jruoho    614: .%A Intel Corporation
                    615: .%T ACPI Component Architecture,
                    616: .%T Programmer Reference,
                    617: .%T OS-Independent Subsystem, Debugger, and Utilities
                    618: .%N Revision 1.27
                    619: .%D January 20, 2010
                    620: .%U http://www.acpica.org/download/acpica-reference.pdf
1.9       kochi     621: .Re
1.34      jruoho    622: .Rs
1.57      jmcneill  623: .%A Len Brown
                    624: .%T ACPI in Linux - Myths vs. Reality
                    625: .%D June 27-30, 2007
1.60      jruoho    626: .%O Proceedings of the Linux Symposium
                    627: .%P 65-74
1.57      jmcneill  628: .%U http://www.linuxsymposium.org/archives/OLS/Reprints-2007/brown_1-Reprint.pdf
                    629: .Re
                    630: .Rs
1.34      jruoho    631: .%A Joerg Sonnenberger
                    632: .%A Jared D. McNeill
                    633: .%T Sleeping Beauty - NetBSD on Modern Laptops
                    634: .%D February 3, 2008
                    635: .%O Proceedings of AsiaBSDCon 2008
1.60      jruoho    636: .%P 127-134
                    637: .%U http://2008.asiabsdcon.org/papers/P9A-paper.pdf
1.34      jruoho    638: .Re
1.72      jruoho    639: .Rs
                    640: .%A Takanori Watanabe
                    641: .%T ACPI Implementation on FreeBSD
                    642: .%I USENIX Association
                    643: .%B Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
                    644: .%P 121-131
                    645: .%D June 10-15, 2002
                    646: .%U http://www.usenix.org/event/usenix02/tech/freenix/full_papers/watanabe/watanabe.pdf
                    647: .Re
1.1       augustss  648: .Sh HISTORY
                    649: The
                    650: .Nm
                    651: driver
                    652: appeared in
                    653: .Nx 1.6 .
1.68      jruoho    654: .Sh AUTHORS
                    655: .An -nosplit
                    656: Authors of the
                    657: .Nm
                    658: subsystem include
                    659: .An Charles M. Hannum ,
                    660: .An Frank van der Linden ,
                    661: .An Jared D. McNeill ,
                    662: .An Jason R. Thorpe ,
                    663: .An Joerg Sonnenberger ,
                    664: and
                    665: .An Jukka Ruohonen ,
                    666: among others.
1.1       augustss  667: .Sh BUGS
1.9       kochi     668: Most of the
1.1       augustss  669: .Tn ACPI
1.9       kochi     670: power management functionalities are not implemented.
1.78      mrg       671: .Pp
                    672: The
                    673: .Dv ACPI__DIS_IS_BROKEN
                    674: option should not be necessary.

CVSweb <webmaster@jp.NetBSD.org>