168fb0c66SYONETANI Tomokazu.\" 268fb0c66SYONETANI Tomokazu.\" Copyright (c) 2001 Michael Smith 368fb0c66SYONETANI Tomokazu.\" All rights reserved. 468fb0c66SYONETANI Tomokazu.\" 568fb0c66SYONETANI Tomokazu.\" Redistribution and use in source and binary forms, with or without 668fb0c66SYONETANI Tomokazu.\" modification, are permitted provided that the following conditions 768fb0c66SYONETANI Tomokazu.\" are met: 868fb0c66SYONETANI Tomokazu.\" 1. Redistributions of source code must retain the above copyright 968fb0c66SYONETANI Tomokazu.\" notice, this list of conditions and the following disclaimer. 1068fb0c66SYONETANI Tomokazu.\" 2. Redistributions in binary form must reproduce the above copyright 1168fb0c66SYONETANI Tomokazu.\" notice, this list of conditions and the following disclaimer in the 1268fb0c66SYONETANI Tomokazu.\" documentation and/or other materials provided with the distribution. 1368fb0c66SYONETANI Tomokazu.\" 1468fb0c66SYONETANI Tomokazu.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1568fb0c66SYONETANI Tomokazu.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1668fb0c66SYONETANI Tomokazu.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1768fb0c66SYONETANI Tomokazu.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1868fb0c66SYONETANI Tomokazu.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1968fb0c66SYONETANI Tomokazu.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2068fb0c66SYONETANI Tomokazu.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2168fb0c66SYONETANI Tomokazu.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2268fb0c66SYONETANI Tomokazu.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2368fb0c66SYONETANI Tomokazu.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2468fb0c66SYONETANI Tomokazu.\" SUCH DAMAGE. 2568fb0c66SYONETANI Tomokazu.\" 2668fb0c66SYONETANI Tomokazu.\" $FreeBSD: src/share/man/man4/acpi.4,v 1.50 2005/02/23 07:23:35 trhodes Exp $ 27*0961d6d8SMatthew Dillon.\" $DragonFly: src/share/man/man4/acpi.4,v 1.4 2005/11/07 18:26:37 dillon Exp $ 2868fb0c66SYONETANI Tomokazu.\" 2968fb0c66SYONETANI Tomokazu.Dd February 13, 2005 3068fb0c66SYONETANI Tomokazu.Dt ACPI 4 31494e572fSJeroen Ruigrok/asmodai.Dx 3268fb0c66SYONETANI Tomokazu.Sh NAME 3368fb0c66SYONETANI Tomokazu.Nm acpi 3468fb0c66SYONETANI Tomokazu.Nd Advanced Configuration and Power Management support 3568fb0c66SYONETANI Tomokazu.Sh SYNOPSIS 3668fb0c66SYONETANI Tomokazu.Cd "device acpi" 3768fb0c66SYONETANI Tomokazu.Pp 3868fb0c66SYONETANI Tomokazu.Cd "options ACPI_DEBUG" 3968fb0c66SYONETANI Tomokazu.Sh DESCRIPTION 4068fb0c66SYONETANI TomokazuThe 4168fb0c66SYONETANI Tomokazu.Nm 4268fb0c66SYONETANI Tomokazudriver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI 4368fb0c66SYONETANI Tomokazustandard. 4468fb0c66SYONETANI TomokazuThis support includes platform hardware discovery (superseding the 4568fb0c66SYONETANI TomokazuPnP and PCI BIOS), as well as power management (superseding APM) and 4668fb0c66SYONETANI Tomokazuother features. 4768fb0c66SYONETANI TomokazuACPI core support is provided by the ACPI CA reference implementation 4868fb0c66SYONETANI Tomokazufrom Intel. 4968fb0c66SYONETANI Tomokazu.Pp 5068fb0c66SYONETANI TomokazuNote that the 5168fb0c66SYONETANI Tomokazu.Nm 5268fb0c66SYONETANI Tomokazudriver is automatically loaded by the 5368fb0c66SYONETANI Tomokazu.Xr loader 8 , 5468fb0c66SYONETANI Tomokazuand should only be 5568fb0c66SYONETANI Tomokazucompiled into the kernel on platforms where ACPI is mandatory. 5668fb0c66SYONETANI Tomokazu.Sh SYSCTLS 5768fb0c66SYONETANI TomokazuThe 5868fb0c66SYONETANI Tomokazu.Nm 5968fb0c66SYONETANI Tomokazudriver is intended to provide power management without user intervention. 6068fb0c66SYONETANI TomokazuThus, some of these sysctls are controlled automatically by the 6168fb0c66SYONETANI Tomokazu.Pa power_profile 6268fb0c66SYONETANI Tomokazu.Xr rc 8 6368fb0c66SYONETANI Tomokazuscript, which can be configured via 6468fb0c66SYONETANI Tomokazu.Xr rc.conf 5 . 6568fb0c66SYONETANI TomokazuIf values are specified manually, they may be overridden. 6668fb0c66SYONETANI Tomokazu.Bl -tag -width indent 6768fb0c66SYONETANI Tomokazu.It Va hw.acpi.cpu.cx_usage 6868fb0c66SYONETANI TomokazuDebugging information listing the percent of total usage for each sleep state. 6968fb0c66SYONETANI TomokazuThe values are reset when 7068fb0c66SYONETANI Tomokazu.Va hw.acpi.cpu.cx_lowest 7168fb0c66SYONETANI Tomokazuis modified. 7268fb0c66SYONETANI Tomokazu.It Va hw.acpi.cpu.cx_lowest 7368fb0c66SYONETANI TomokazuLowest Cx state to use for idling the CPU. 7468fb0c66SYONETANI TomokazuA scheduling algorithm will select states between C1 and this setting 7568fb0c66SYONETANI Tomokazuas system load dictates. 7668fb0c66SYONETANI TomokazuTo enable ACPI CPU idling control, 7768fb0c66SYONETANI Tomokazu.Va machdep.cpu_idle_hlt 7868fb0c66SYONETANI Tomokazumust be set to 1. 7968fb0c66SYONETANI Tomokazu.It Va hw.acpi.cpu.cx_supported 8068fb0c66SYONETANI TomokazuList of supported CPU idle states and their transition latency 8168fb0c66SYONETANI Tomokazuin microseconds. 8268fb0c66SYONETANI TomokazuEach state has a type (e.g., C2). 8368fb0c66SYONETANI TomokazuC1 is equivalent to the ia32 HLT instruction, C2 provides a deeper 8468fb0c66SYONETANI Tomokazusleep with the same semantics, and C3 provides the deepest sleep 8568fb0c66SYONETANI Tomokazubut additionally requires bus mastering to be disabled. 8668fb0c66SYONETANI TomokazuStates greater than C3 provide even more power savings with the same 8768fb0c66SYONETANI Tomokazusemantics as the C3 state. 8868fb0c66SYONETANI TomokazuDeeper sleeps provide more power savings but increased transition 8968fb0c66SYONETANI Tomokazulatency when an interrupt occurs. 9068fb0c66SYONETANI Tomokazu.El 9168fb0c66SYONETANI Tomokazu.Sh TUNABLES 9268fb0c66SYONETANI TomokazuTunables can be set at the 9368fb0c66SYONETANI Tomokazu.Xr loader 8 9468fb0c66SYONETANI Tomokazuprompt before booting the kernel or stored in 9568fb0c66SYONETANI Tomokazu.Pa /boot/loader.conf . 9668fb0c66SYONETANI Tomokazu.Bl -tag -width indent 9768fb0c66SYONETANI Tomokazu.It Va acpi_dsdt_load 9868fb0c66SYONETANI TomokazuEnables loading of a custom ACPI DSDT. 9968fb0c66SYONETANI Tomokazu.It Va acpi_dsdt_name 10068fb0c66SYONETANI TomokazuName of the DSDT table to load, if loading is enabled. 10168fb0c66SYONETANI Tomokazu.It Va debug.acpi.disabled 102*0961d6d8SMatthew DillonSelectively disables portions of ACPI that are enabled by default, for 103*0961d6d8SMatthew Dillondebugging purposes. 104*0961d6d8SMatthew Dillon.It Va debug.acpi.enabled 105*0961d6d8SMatthew DillonSelectively enables portions of ACPI that are disabled by default, for 106*0961d6d8SMatthew Dillondebugging purposes. 10768fb0c66SYONETANI Tomokazu.It Va debug.acpi.quirks 10868fb0c66SYONETANI TomokazuOverride any automatic quirks completely. 10968fb0c66SYONETANI Tomokazu.It Va hint.acpi.0.disabled 11068fb0c66SYONETANI TomokazuSet this to 1 to disable all of ACPI. 11168fb0c66SYONETANI TomokazuIf ACPI has been disabled on your system due to a blacklist entry for your 11268fb0c66SYONETANI TomokazuBIOS, you can set this to 0 to re-enable ACPI for testing. 11368fb0c66SYONETANI Tomokazu.It Va hw.acpi.ec.poll_timeout 11468fb0c66SYONETANI TomokazuDelay in milliseconds to wait for the EC to respond. 11568fb0c66SYONETANI TomokazuTry increasing this number if you get the error 11668fb0c66SYONETANI Tomokazu.Qq Li AE_NO_HARDWARE_RESPONSE . 11768fb0c66SYONETANI Tomokazu.It Va hw.acpi.host_mem_start 11868fb0c66SYONETANI TomokazuOverride the assumed memory starting address for PCI host bridges. 11968fb0c66SYONETANI Tomokazu.It Va hw.acpi.pci.link.%d.%d.%d.irq 12068fb0c66SYONETANI TomokazuOverride the interrupt to use. 12168fb0c66SYONETANI Tomokazu.It Va hw.acpi.reset_video 12268fb0c66SYONETANI TomokazuEnables calling the VESA reset BIOS vector on the resume path. 12368fb0c66SYONETANI TomokazuSome graphic chips have problems such as LCD white-out after resume. 12468fb0c66SYONETANI TomokazuTry setting this to 0 if this causes problems for you. 12568fb0c66SYONETANI Tomokazu.It Va hw.acpi.serialize_methods 12668fb0c66SYONETANI TomokazuAllow override of whether methods execute in parallel or not. 12768fb0c66SYONETANI TomokazuEnable this for serial behavior, which fixes 12868fb0c66SYONETANI Tomokazu.Qq Li AE_ALREADY_EXISTS 12968fb0c66SYONETANI Tomokazuerrors for 13068fb0c66SYONETANI TomokazuAML that really cannot handle parallel method execution. 13168fb0c66SYONETANI TomokazuIt is off by default since this breaks recursive methods and some IBMs use 13268fb0c66SYONETANI Tomokazusuch code. 13368fb0c66SYONETANI Tomokazu.It Va hw.acpi.verbose 13468fb0c66SYONETANI TomokazuTurn on verbose debugging information about what ACPI is doing. 13568fb0c66SYONETANI Tomokazu.El 13668fb0c66SYONETANI Tomokazu.Sh DISABLING ACPI 13768fb0c66SYONETANI TomokazuSince ACPI support on different platforms varies greatly, there are many 13868fb0c66SYONETANI Tomokazudebugging and tuning options available. 13968fb0c66SYONETANI Tomokazu.Pp 14068fb0c66SYONETANI TomokazuFor machines known not to work with 14168fb0c66SYONETANI Tomokazu.Nm 14268fb0c66SYONETANI Tomokazuenabled, there is a BIOS blacklist. 14368fb0c66SYONETANI TomokazuCurrently, the blacklist only controls whether 14468fb0c66SYONETANI Tomokazu.Nm 14568fb0c66SYONETANI Tomokazushould be disabled or not. 14668fb0c66SYONETANI TomokazuIn the future, it will have more granularity to control features (the 14768fb0c66SYONETANI Tomokazuinfrastructure for that is already there). 14868fb0c66SYONETANI Tomokazu.Pp 14968fb0c66SYONETANI TomokazuTo enable 15068fb0c66SYONETANI Tomokazu.Nm 15168fb0c66SYONETANI Tomokazu(for debugging purposes, etc.) on machines that are on the blacklist, set the 15268fb0c66SYONETANI Tomokazukernel environment variable 15368fb0c66SYONETANI Tomokazu.Va hint.acpi.0.disabled 15468fb0c66SYONETANI Tomokazuto 0. 15568fb0c66SYONETANI TomokazuBefore trying this, consider updating your BIOS to a more recent version that 15668fb0c66SYONETANI Tomokazumay be compatible with ACPI. 15768fb0c66SYONETANI Tomokazu.Pp 15868fb0c66SYONETANI TomokazuTo disable the 15968fb0c66SYONETANI Tomokazu.Nm 16068fb0c66SYONETANI Tomokazudriver completely, set the kernel environment variable 16168fb0c66SYONETANI Tomokazu.Va hint.acpi.0.disabled 16268fb0c66SYONETANI Tomokazuto 1. 16368fb0c66SYONETANI Tomokazu.Pp 16468fb0c66SYONETANI TomokazuSome i386 machines totally fail to operate with some or all of ACPI disabled. 16568fb0c66SYONETANI TomokazuOther i386 machines fail with ACPI enabled. 16668fb0c66SYONETANI TomokazuDisabling all or part of ACPI on non-i386 platforms (i.e., platforms where 16768fb0c66SYONETANI TomokazuACPI support is mandatory) may result in a non-functional system. 16868fb0c66SYONETANI Tomokazu.Pp 16968fb0c66SYONETANI TomokazuThe 17068fb0c66SYONETANI Tomokazu.Nm 17168fb0c66SYONETANI Tomokazudriver comprises a set of drivers, which may be selectively disabled 17268fb0c66SYONETANI Tomokazuin case of problems. 17368fb0c66SYONETANI TomokazuTo disable a sub-driver, list it in the kernel 17468fb0c66SYONETANI Tomokazuenvironment variable 17568fb0c66SYONETANI Tomokazu.Va debug.acpi.disabled . 17668fb0c66SYONETANI TomokazuMultiple entries can be listed, separated by a space. 17768fb0c66SYONETANI Tomokazu.Pp 17868fb0c66SYONETANI TomokazuACPI sub-devices and features that can be disabled: 17968fb0c66SYONETANI Tomokazu.Bl -tag -width ".Li sysresource" 18068fb0c66SYONETANI Tomokazu.It Li all 18168fb0c66SYONETANI TomokazuDisable all ACPI features and devices. 18268fb0c66SYONETANI Tomokazu.It Li acad 18368fb0c66SYONETANI Tomokazu.Pq Vt device 18468fb0c66SYONETANI TomokazuSupports AC adapter. 18568fb0c66SYONETANI Tomokazu.It Li bus 18668fb0c66SYONETANI Tomokazu.Pq Vt feature 18768fb0c66SYONETANI TomokazuProbes and attaches subdevices. 18868fb0c66SYONETANI TomokazuDisabling will avoid scanning the ACPI namespace entirely. 18968fb0c66SYONETANI Tomokazu.It Li children 19068fb0c66SYONETANI Tomokazu.Pq Vt feature 19168fb0c66SYONETANI TomokazuAttaches standard ACPI sub-drivers and devices enumerated in the 19268fb0c66SYONETANI TomokazuACPI namespace. 19368fb0c66SYONETANI TomokazuDisabling this has a similar effect to disabling 19468fb0c66SYONETANI Tomokazu.Dq Li bus , 19568fb0c66SYONETANI Tomokazuexcept that the 19668fb0c66SYONETANI TomokazuACPI namespace will still be scanned. 19768fb0c66SYONETANI Tomokazu.It Li button 19868fb0c66SYONETANI Tomokazu.Pq Vt device 19968fb0c66SYONETANI TomokazuSupports ACPI button devices (typically power and sleep buttons). 20068fb0c66SYONETANI Tomokazu.It Li cmbat 20168fb0c66SYONETANI Tomokazu.Pq Vt device 20268fb0c66SYONETANI TomokazuControl-method batteries device. 20368fb0c66SYONETANI Tomokazu.It Li cpu 20468fb0c66SYONETANI Tomokazu.Pq Vt device 20568fb0c66SYONETANI TomokazuSupports CPU power-saving and speed-setting functions. 20668fb0c66SYONETANI Tomokazu.It Li ec 20768fb0c66SYONETANI Tomokazu.Pq Vt device 20868fb0c66SYONETANI TomokazuSupports the ACPI Embedded Controller interface, used to communicate 20968fb0c66SYONETANI Tomokazuwith embedded platform controllers. 21068fb0c66SYONETANI Tomokazu.It Li isa 21168fb0c66SYONETANI Tomokazu.Pq Vt device 21268fb0c66SYONETANI TomokazuSupports an ISA bus bridge defined in the ACPI namespace, 21368fb0c66SYONETANI Tomokazutypically as a child of a PCI bus. 21468fb0c66SYONETANI Tomokazu.It Li lid 21568fb0c66SYONETANI Tomokazu.Pq Vt device 21668fb0c66SYONETANI TomokazuSupports an ACPI laptop lid switch, which typically puts a 21768fb0c66SYONETANI Tomokazusystem to sleep. 21868fb0c66SYONETANI Tomokazu.It Li quirks 21968fb0c66SYONETANI Tomokazu.Pq Vt feature 22068fb0c66SYONETANI TomokazuDo not honor quirks. 22168fb0c66SYONETANI TomokazuQuirks automatically disable ACPI functionality based on the XSDT table's 22268fb0c66SYONETANI TomokazuOEM vendor name and revision date. 22368fb0c66SYONETANI Tomokazu.It Li pci 22468fb0c66SYONETANI Tomokazu.Pq Vt device 22568fb0c66SYONETANI TomokazuSupports Host to PCI bridges. 22668fb0c66SYONETANI Tomokazu.It Li pci_link 22768fb0c66SYONETANI Tomokazu.Pq Vt feature 22868fb0c66SYONETANI TomokazuPerforms PCI interrupt routing. 22968fb0c66SYONETANI Tomokazu.It Li sysresource 23068fb0c66SYONETANI Tomokazu.Pq Vt device 23168fb0c66SYONETANI TomokazuPseudo-devices containing resources which ACPI claims. 23268fb0c66SYONETANI Tomokazu.It Li thermal 23368fb0c66SYONETANI Tomokazu.Pq Vt device 23468fb0c66SYONETANI TomokazuSupports system cooling and heat management. 23568fb0c66SYONETANI Tomokazu.It Li timer 23668fb0c66SYONETANI Tomokazu.Pq Vt device 23768fb0c66SYONETANI TomokazuImplements a timecounter using the ACPI fixed-frequency timer. 23868fb0c66SYONETANI Tomokazu.It Li video 23968fb0c66SYONETANI Tomokazu.Pq Vt device 24068fb0c66SYONETANI TomokazuSupports acpi_video which may conflict with agp device. 24168fb0c66SYONETANI Tomokazu.El 24268fb0c66SYONETANI Tomokazu.Pp 24368fb0c66SYONETANI TomokazuIt is also possible to avoid portions of the ACPI namespace which 24468fb0c66SYONETANI Tomokazumay be causing problems, by listing the full path of the root of 24568fb0c66SYONETANI Tomokazuthe region to be avoided in the kernel environment variable 2467beeeb16SYONETANI Tomokazu.Va debug.acpi.avoid.paths , 2477beeeb16SYONETANI Tomokazuor 24868fb0c66SYONETANI Tomokazu.Va debug.acpi.avoid . 2497beeeb16SYONETANI TomokazuThe latter also disables initialization of ACPI namespace as a 2507beeeb16SYONETANI Tomokazuworkaround for systems where not doing so crashes interpreter. 25168fb0c66SYONETANI TomokazuThe object and all of its children will be ignored during the 25268fb0c66SYONETANI Tomokazubus/children scan of the namespace. 25368fb0c66SYONETANI TomokazuThe ACPI CA code will still know about the avoided region. 25468fb0c66SYONETANI Tomokazu.Sh DEBUGGING OUTPUT 25568fb0c66SYONETANI TomokazuTo enable debugging output, 25668fb0c66SYONETANI Tomokazu.Nm 25768fb0c66SYONETANI Tomokazumust be compiled with 25868fb0c66SYONETANI Tomokazu.Cd "options ACPI_DEBUG" . 25968fb0c66SYONETANI TomokazuDebugging output is separated between layers and levels, where a layer is 26068fb0c66SYONETANI Tomokazua component of the ACPI subsystem, and a level is a particular kind 26168fb0c66SYONETANI Tomokazuof debugging output. 26268fb0c66SYONETANI Tomokazu.Pp 26368fb0c66SYONETANI TomokazuBoth layers and levels are specified as a whitespace-separated list of 26468fb0c66SYONETANI Tomokazutokens, with layers listed in 26568fb0c66SYONETANI Tomokazu.Va debug.acpi.layer 26668fb0c66SYONETANI Tomokazuand levels in 26768fb0c66SYONETANI Tomokazu.Va debug.acpi.level . 26868fb0c66SYONETANI Tomokazu.Pp 26968fb0c66SYONETANI TomokazuThe first set of layers is for ACPI-CA components, and the second is for 270494e572fSJeroen Ruigrok/asmodai.Dx 27168fb0c66SYONETANI Tomokazudrivers. 27268fb0c66SYONETANI TomokazuThe ACPI-CA layer descriptions include the prefix for the files they 27368fb0c66SYONETANI Tomokazurefer to. 27468fb0c66SYONETANI TomokazuThe supported layers are: 27568fb0c66SYONETANI Tomokazu.Pp 27668fb0c66SYONETANI Tomokazu.Bl -tag -compact -width ".Li ACPI_CA_DISASSEMBLER" 27768fb0c66SYONETANI Tomokazu.It Li ACPI_UTILITIES 27868fb0c66SYONETANI TomokazuUtility ("ut") functions 27968fb0c66SYONETANI Tomokazu.It Li ACPI_HARDWARE 28068fb0c66SYONETANI TomokazuHardware access ("hw") 28168fb0c66SYONETANI Tomokazu.It Li ACPI_EVENTS 28268fb0c66SYONETANI TomokazuEvent and GPE ("ev") 28368fb0c66SYONETANI Tomokazu.It Li ACPI_TABLES 28468fb0c66SYONETANI TomokazuTable access ("tb") 28568fb0c66SYONETANI Tomokazu.It Li ACPI_NAMESPACE 28668fb0c66SYONETANI TomokazuNamespace evaluation ("ns") 28768fb0c66SYONETANI Tomokazu.It Li ACPI_PARSER 28868fb0c66SYONETANI TomokazuAML parser ("ps") 28968fb0c66SYONETANI Tomokazu.It Li ACPI_DISPATCHER 29068fb0c66SYONETANI TomokazuInternal representation of interpreter state ("ds") 29168fb0c66SYONETANI Tomokazu.It Li ACPI_EXECUTER 29268fb0c66SYONETANI TomokazuExecute AML methods ("ex") 29368fb0c66SYONETANI Tomokazu.It Li ACPI_RESOURCES 29468fb0c66SYONETANI TomokazuResource parsing ("rs") 29568fb0c66SYONETANI Tomokazu.It Li ACPI_CA_DEBUGGER 29668fb0c66SYONETANI TomokazuDebugger implementation ("db", "dm") 29768fb0c66SYONETANI Tomokazu.It Li ACPI_OS_SERVICES 29868fb0c66SYONETANI TomokazuUsermode support routines ("os") 29968fb0c66SYONETANI Tomokazu.It Li ACPI_CA_DISASSEMBLER 30068fb0c66SYONETANI TomokazuDisassembler implementation (unused) 30168fb0c66SYONETANI Tomokazu.It Li ACPI_ALL_COMPONENTS 30268fb0c66SYONETANI TomokazuAll the above ACPI-CA components 30368fb0c66SYONETANI Tomokazu.It Li ACPI_AC_ADAPTER 30468fb0c66SYONETANI TomokazuAC adapter driver 30568fb0c66SYONETANI Tomokazu.It Li ACPI_BATTERY 30668fb0c66SYONETANI TomokazuControl-method battery driver 30768fb0c66SYONETANI Tomokazu.It Li ACPI_BUS 30868fb0c66SYONETANI TomokazuACPI, ISA, and PCI bus drivers 30968fb0c66SYONETANI Tomokazu.It Li ACPI_BUTTON 31068fb0c66SYONETANI TomokazuPower and sleep button driver 31168fb0c66SYONETANI Tomokazu.It Li ACPI_EC 31268fb0c66SYONETANI TomokazuEmbedded controller driver 31368fb0c66SYONETANI Tomokazu.It Li ACPI_FAN 31468fb0c66SYONETANI TomokazuFan driver 31568fb0c66SYONETANI Tomokazu.It Li ACPI_OEM 31668fb0c66SYONETANI TomokazuPlatform-specific driver for hotkeys, LED, etc. 31768fb0c66SYONETANI Tomokazu.It Li ACPI_POWER 31868fb0c66SYONETANI TomokazuPower resource driver 31968fb0c66SYONETANI Tomokazu.It Li ACPI_PROCESSOR 32068fb0c66SYONETANI TomokazuCPU driver 32168fb0c66SYONETANI Tomokazu.It Li ACPI_THERMAL 32268fb0c66SYONETANI TomokazuThermal zone driver 32368fb0c66SYONETANI Tomokazu.It Li ACPI_TIMER 32468fb0c66SYONETANI TomokazuTimer driver 32568fb0c66SYONETANI Tomokazu.It Li ACPI_ALL_DRIVERS 32668fb0c66SYONETANI TomokazuAll the above 327494e572fSJeroen Ruigrok/asmodai.Dx 32868fb0c66SYONETANI TomokazuACPI drivers 32968fb0c66SYONETANI Tomokazu.El 33068fb0c66SYONETANI Tomokazu.Pp 33168fb0c66SYONETANI TomokazuThe supported levels are: 33268fb0c66SYONETANI Tomokazu.Pp 33368fb0c66SYONETANI Tomokazu.Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE" 33468fb0c66SYONETANI Tomokazu.It Li ACPI_LV_ERROR 33568fb0c66SYONETANI TomokazuFatal error conditions 33668fb0c66SYONETANI Tomokazu.It Li ACPI_LV_WARN 33768fb0c66SYONETANI TomokazuWarnings and potential problems 33868fb0c66SYONETANI Tomokazu.It Li ACPI_LV_INIT 33968fb0c66SYONETANI TomokazuInitialization progress 34068fb0c66SYONETANI Tomokazu.It Li ACPI_LV_DEBUG_OBJECT 34168fb0c66SYONETANI TomokazuStores to objects 34268fb0c66SYONETANI Tomokazu.It Li ACPI_LV_INFO 34368fb0c66SYONETANI TomokazuGeneral information and progress 34468fb0c66SYONETANI Tomokazu.It Li ACPI_LV_ALL_EXCEPTIONS 34568fb0c66SYONETANI TomokazuAll the previous levels 34668fb0c66SYONETANI Tomokazu.It Li ACPI_LV_INIT_NAMES 34768fb0c66SYONETANI Tomokazu.It Li ACPI_LV_PARSE 34868fb0c66SYONETANI Tomokazu.It Li ACPI_LV_LOAD 34968fb0c66SYONETANI Tomokazu.It Li ACPI_LV_DISPATCH 35068fb0c66SYONETANI Tomokazu.It Li ACPI_LV_EXEC 35168fb0c66SYONETANI Tomokazu.It Li ACPI_LV_NAMES 35268fb0c66SYONETANI Tomokazu.It Li ACPI_LV_OPREGION 35368fb0c66SYONETANI Tomokazu.It Li ACPI_LV_BFIELD 35468fb0c66SYONETANI Tomokazu.It Li ACPI_LV_TABLES 35568fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VALUES 35668fb0c66SYONETANI Tomokazu.It Li ACPI_LV_OBJECTS 35768fb0c66SYONETANI Tomokazu.It Li ACPI_LV_RESOURCES 35868fb0c66SYONETANI Tomokazu.It Li ACPI_LV_USER_REQUESTS 35968fb0c66SYONETANI Tomokazu.It Li ACPI_LV_PACKAGE 36068fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VERBOSITY1 36168fb0c66SYONETANI TomokazuAll the previous levels 36268fb0c66SYONETANI Tomokazu.It Li ACPI_LV_ALLOCATIONS 36368fb0c66SYONETANI Tomokazu.It Li ACPI_LV_FUNCTIONS 36468fb0c66SYONETANI Tomokazu.It Li ACPI_LV_OPTIMIZATIONS 36568fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VERBOSITY2 36668fb0c66SYONETANI Tomokazu.It Li ACPI_LV_ALL 36768fb0c66SYONETANI Tomokazu.It Li ACPI_LV_MUTEX 36868fb0c66SYONETANI Tomokazu.It Li ACPI_LV_THREADS 36968fb0c66SYONETANI Tomokazu.It Li ACPI_LV_IO 37068fb0c66SYONETANI Tomokazu.It Li ACPI_LV_INTERRUPTS 37168fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VERBOSITY3 37268fb0c66SYONETANI TomokazuAll the previous levels 37368fb0c66SYONETANI Tomokazu.It Li ACPI_LV_AML_DISASSEMBLE 37468fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VERBOSE_INFO 37568fb0c66SYONETANI Tomokazu.It Li ACPI_LV_FULL_TABLES 37668fb0c66SYONETANI Tomokazu.It Li ACPI_LV_EVENTS 37768fb0c66SYONETANI Tomokazu.It Li ACPI_LV_VERBOSE 37868fb0c66SYONETANI TomokazuAll levels after 37968fb0c66SYONETANI Tomokazu.Qq Li ACPI_LV_VERBOSITY3 38068fb0c66SYONETANI Tomokazu.El 38168fb0c66SYONETANI Tomokazu.Pp 38268fb0c66SYONETANI TomokazuSelection of the appropriate layer and level values is important 38368fb0c66SYONETANI Tomokazuto avoid massive amounts of debugging output. 38468fb0c66SYONETANI TomokazuFor example, the following configuration is a good way to gather initial 38568fb0c66SYONETANI Tomokazuinformation. 38668fb0c66SYONETANI TomokazuIt enables debug output for both ACPI-CA and the 38768fb0c66SYONETANI Tomokazu.Nm 38868fb0c66SYONETANI Tomokazudriver, printing basic information about errors, warnings, and progress. 38968fb0c66SYONETANI Tomokazu.Bd -literal -offset indent 39068fb0c66SYONETANI Tomokazudebug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" 39168fb0c66SYONETANI Tomokazudebug.acpi.level="ACPI_LV_ALL_EXCEPTIONS" 39268fb0c66SYONETANI Tomokazu.Ed 39368fb0c66SYONETANI Tomokazu.Pp 39468fb0c66SYONETANI TomokazuDebugging output by the ACPI CA subsystem is prefixed with the 39568fb0c66SYONETANI Tomokazumodule name in lowercase, followed by a source line number. 39668fb0c66SYONETANI TomokazuOutput from the 397494e572fSJeroen Ruigrok/asmodai.Dx Ns -local 39868fb0c66SYONETANI Tomokazucode follows the same format, but 39968fb0c66SYONETANI Tomokazuthe module name is uppercased. 40068fb0c66SYONETANI Tomokazu.Sh OVERRIDING YOUR BIOS BYTECODE 40168fb0c66SYONETANI TomokazuACPI interprets bytecode named AML 40268fb0c66SYONETANI Tomokazu(ACPI Machine Language) 40368fb0c66SYONETANI Tomokazuprovided by the BIOS vendor as a memory image at boot time. 40468fb0c66SYONETANI TomokazuSometimes, the AML code contains a bug that does not appear when parsed 40568fb0c66SYONETANI Tomokazuby the Microsoft implementation. 406494e572fSJeroen Ruigrok/asmodai.Dx 40768fb0c66SYONETANI Tomokazuprovides a way to override it with your own AML code to work around 40868fb0c66SYONETANI Tomokazuor debug such problems. 40968fb0c66SYONETANI TomokazuNote that all AML in your DSDT and any SSDT tables is overridden. 41068fb0c66SYONETANI Tomokazu.Pp 41168fb0c66SYONETANI TomokazuIn order to load your AML code, you must edit 41268fb0c66SYONETANI Tomokazu.Pa /boot/loader.conf 41368fb0c66SYONETANI Tomokazuand include the following lines. 41468fb0c66SYONETANI Tomokazu.Bd -literal -offset indent 41568fb0c66SYONETANI Tomokazuacpi_dsdt_load="YES" 41668fb0c66SYONETANI Tomokazuacpi_dsdt_name="/boot/acpi_dsdt.aml" # You may change this name. 41768fb0c66SYONETANI Tomokazu.Ed 41868fb0c66SYONETANI Tomokazu.Pp 41968fb0c66SYONETANI TomokazuIn order to prepare your AML code, you will need the 42068fb0c66SYONETANI Tomokazu.Xr acpidump 8 42168fb0c66SYONETANI Tomokazuand 42268fb0c66SYONETANI Tomokazu.Xr iasl 8 42368fb0c66SYONETANI Tomokazuutilities and some ACPI knowledge. 42468fb0c66SYONETANI Tomokazu.Sh COMPATIBILITY 42568fb0c66SYONETANI TomokazuACPI is only found and supported on i386/ia32, ia64, and amd64. 42668fb0c66SYONETANI Tomokazu.Sh SEE ALSO 42768fb0c66SYONETANI Tomokazu.Xr kenv 1 , 42868fb0c66SYONETANI Tomokazu.Xr acpi_thermal 4 , 42968fb0c66SYONETANI Tomokazu.Xr device.hints 5 , 43068fb0c66SYONETANI Tomokazu.Xr loader.conf 5 , 43168fb0c66SYONETANI Tomokazu.Xr acpiconf 8 , 43268fb0c66SYONETANI Tomokazu.Xr acpidump 8 , 43368fb0c66SYONETANI Tomokazu.Xr config 8 , 43468fb0c66SYONETANI Tomokazu.Xr iasl 8 43568fb0c66SYONETANI Tomokazu.Rs 43668fb0c66SYONETANI Tomokazu.%A "Compaq Computer Corporation" 43768fb0c66SYONETANI Tomokazu.%A "Intel Corporation" 43868fb0c66SYONETANI Tomokazu.%A "Microsoft Corporation" 43968fb0c66SYONETANI Tomokazu.%A "Phoenix Technologies Ltd." 44068fb0c66SYONETANI Tomokazu.%A "Toshiba Corporation" 44168fb0c66SYONETANI Tomokazu.%D August 25, 2003 44268fb0c66SYONETANI Tomokazu.%T "Advanced Configuration and Power Interface Specification" 44368fb0c66SYONETANI Tomokazu.%O http://acpi.info/spec.htm 44468fb0c66SYONETANI Tomokazu.Re 44568fb0c66SYONETANI Tomokazu.Sh AUTHORS 44668fb0c66SYONETANI Tomokazu.An -nosplit 44768fb0c66SYONETANI TomokazuThe ACPI CA subsystem is developed and maintained by 44868fb0c66SYONETANI TomokazuIntel Architecture Labs. 44968fb0c66SYONETANI Tomokazu.Pp 45068fb0c66SYONETANI TomokazuThe following people made notable contributions to the ACPI subsystem 45168fb0c66SYONETANI Tomokazuin 452494e572fSJeroen Ruigrok/asmodai.Dx : 45368fb0c66SYONETANI Tomokazu.An Michael Smith , 45468fb0c66SYONETANI Tomokazu.An Takanori Watanabe Aq takawata@jp.FreeBSD.org , 45568fb0c66SYONETANI Tomokazu.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org , 45668fb0c66SYONETANI Tomokazu.An Munehiro Matsuda , 45768fb0c66SYONETANI Tomokazu.An Nate Lawson , 45868fb0c66SYONETANI Tomokazuthe ACPI-jp mailing list at 45968fb0c66SYONETANI Tomokazu.Aq acpi-jp@jp.FreeBSD.org , 46068fb0c66SYONETANI Tomokazuand many other contributors. 46168fb0c66SYONETANI Tomokazu.Pp 46268fb0c66SYONETANI TomokazuThis manual page was written by 46368fb0c66SYONETANI Tomokazu.An Michael Smith Aq msmith@FreeBSD.org . 46468fb0c66SYONETANI Tomokazu.Sh BUGS 46568fb0c66SYONETANI TomokazuIf the 46668fb0c66SYONETANI Tomokazu.Nm 46768fb0c66SYONETANI Tomokazudriver is loaded as a module when it is already linked as part of the 46868fb0c66SYONETANI Tomokazukernel, odd things may happen. 469