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.\" 286b6a920eSNate Lawson.Dd February 13, 2005 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 3509f84dd1SRuslan Ermilov.Cd "device acpi" 36b6695bd0SMike Smith.Pp 3709f84dd1SRuslan Ermilov.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. 48d1f717d1SMike Smith.Pp 49d1f717d1SMike SmithNote that the 50d1f717d1SMike Smith.Nm 512010c542SRuslan Ermilovdriver is automatically loaded by the 522010c542SRuslan Ermilov.Xr loader 8 , 532010c542SRuslan Ermilovand should only be 54edd84e48SNate Lawsoncompiled into the kernel on platforms where ACPI is mandatory. 55edd84e48SNate Lawson.Sh SYSCTLS 56edd84e48SNate LawsonThe 57edd84e48SNate Lawson.Nm 58edd84e48SNate Lawsondriver is intended to provide power management without user intervention. 59edd84e48SNate LawsonThus, some of these sysctls are controlled automatically by the 602010c542SRuslan Ermilov.Pa power_profile 612010c542SRuslan Ermilov.Xr rc 8 622010c542SRuslan Ermilovscript, which can be configured via 63edd84e48SNate Lawson.Xr rc.conf 5 . 642010c542SRuslan ErmilovIf values are specified manually, they may be overridden. 65edd84e48SNate Lawson.Bl -tag -width indent 66edd84e48SNate Lawson.It Va hw.acpi.cpu.cx_usage 67edd84e48SNate LawsonDebugging information listing the percent of total usage for each sleep state. 68edd84e48SNate LawsonThe values are reset when 69edd84e48SNate Lawson.Va hw.acpi.cpu.cx_lowest 70edd84e48SNate Lawsonis modified. 71edd84e48SNate Lawson.It Va hw.acpi.cpu.cx_lowest 72edd84e48SNate LawsonLowest Cx state to use for idling the CPU. 73edd84e48SNate LawsonA scheduling algorithm will select states between C1 and this setting 74edd84e48SNate Lawsonas system load dictates. 75edd84e48SNate LawsonTo enable ACPI CPU idling control, 76edd84e48SNate Lawson.Va machdep.cpu_idle_hlt 77edd84e48SNate Lawsonmust be set to 1. 78edd84e48SNate Lawson.It Va hw.acpi.cpu.cx_supported 79edd84e48SNate LawsonList of supported CPU idle states and their transition latency 80edd84e48SNate Lawsonin microseconds. 81edd84e48SNate LawsonEach state has a type (e.g., C2). 82edd84e48SNate LawsonC1 is equivalent to the ia32 HLT instruction, C2 provides a deeper 83edd84e48SNate Lawsonsleep with the same semantics, and C3 provides the deepest sleep 84edd84e48SNate Lawsonbut additionally requires bus mastering to be disabled. 85edd84e48SNate LawsonStates greater than C3 provide even more power savings with the same 86edd84e48SNate Lawsonsemantics as the C3 state. 87edd84e48SNate LawsonDeeper sleeps provide more power savings but increased transition 88edd84e48SNate Lawsonlatency when an interrupt occurs. 89edd84e48SNate Lawson.El 90edd84e48SNate Lawson.Sh TUNABLES 913184cf5aSNate LawsonTunables can be set at the 9287b6284aSRuslan Ermilov.Xr loader 8 933184cf5aSNate Lawsonprompt before booting the kernel or stored in 943184cf5aSNate Lawson.Pa /boot/loader.conf . 95edd84e48SNate Lawson.Bl -tag -width indent 96edd84e48SNate Lawson.It Va acpi_dsdt_load 97edd84e48SNate LawsonEnables loading of a custom ACPI DSDT. 98edd84e48SNate Lawson.It Va acpi_dsdt_name 99edd84e48SNate LawsonName of the DSDT table to load, if loading is enabled. 100edd84e48SNate Lawson.It Va debug.acpi.disabled 101edd84e48SNate LawsonSelectively disables portions of ACPI for debugging purposes. 10247bc6a5eSNate Lawson.It Va debug.acpi.quirks 10347bc6a5eSNate LawsonOverride any automatic quirks completely. 104edd84e48SNate Lawson.It Va hint.acpi.0.disabled 105edd84e48SNate LawsonSet this to 1 to disable all of ACPI. 106edd84e48SNate LawsonIf ACPI has been disabled on your system due to a blacklist entry for your 107edd84e48SNate LawsonBIOS, you can set this to 0 to re-enable ACPI for testing. 108edd84e48SNate Lawson.It Va hw.acpi.ec.poll_timeout 109edd84e48SNate LawsonDelay in milliseconds to wait for the EC to respond. 110edd84e48SNate LawsonTry increasing this number if you get the error 1112010c542SRuslan Ermilov.Qq Li AE_NO_HARDWARE_RESPONSE . 11247bc6a5eSNate Lawson.It Va hw.acpi.host_mem_start 11347bc6a5eSNate LawsonOverride the assumed memory starting address for PCI host bridges. 114edd84e48SNate Lawson.It Va hw.acpi.pci.link.%d.%d.%d.irq 115edd84e48SNate LawsonOverride the interrupt to use. 116edd84e48SNate Lawson.It Va hw.acpi.reset_video 117edd84e48SNate LawsonEnables calling the VESA reset BIOS vector on the resume path. 118edd84e48SNate LawsonSome graphic chips have problems such as LCD white-out after resume. 119edd84e48SNate LawsonTry setting this to 0 if this causes problems for you. 120edd84e48SNate Lawson.It Va hw.acpi.serialize_methods 121edd84e48SNate LawsonAllow override of whether methods execute in parallel or not. 1222010c542SRuslan ErmilovEnable this for serial behavior, which fixes 1232010c542SRuslan Ermilov.Qq Li AE_ALREADY_EXISTS 1242010c542SRuslan Ermiloverrors for 1252010c542SRuslan ErmilovAML that really cannot handle parallel method execution. 126edd84e48SNate LawsonIt is off by default since this breaks recursive methods and some IBMs use 127edd84e48SNate Lawsonsuch code. 128edd84e48SNate Lawson.It Va hw.acpi.verbose 129edd84e48SNate LawsonTurn on verbose debugging information about what ACPI is doing. 130b6695bd0SMike Smith.El 131edd84e48SNate Lawson.Sh DISABLING ACPI 132edd84e48SNate LawsonSince ACPI support on different platforms varies greatly, there are many 133edd84e48SNate Lawsondebugging and tuning options available. 134b6695bd0SMike Smith.Pp 13507e2d046SMark SantcroosFor machines known not to work with 13607e2d046SMark Santcroos.Nm 13755c71dc9SMark Santcroosenabled, there is a BIOS blacklist. 13855c71dc9SMark SantcroosCurrently, the blacklist only controls whether 13907e2d046SMark Santcroos.Nm 14055c71dc9SMark Santcroosshould be disabled or not. 14155c71dc9SMark SantcroosIn the future, it will have more granularity to control features (the 14255c71dc9SMark Santcroosinfrastructure for that is already there). 14307e2d046SMark Santcroos.Pp 14407e2d046SMark SantcroosTo enable 14507e2d046SMark Santcroos.Nm 14655c71dc9SMark Santcroos(for debugging purposes, etc.) on machines that are on the blacklist, set the 14755c71dc9SMark Santcrooskernel environment variable 14807e2d046SMark Santcroos.Va hint.acpi.0.disabled 14955c71dc9SMark Santcroosto 0. 15055c71dc9SMark SantcroosBefore trying this, consider updating your BIOS to a more recent version that 15155c71dc9SMark Santcroosmay be compatible with ACPI. 15207e2d046SMark Santcroos.Pp 1534e3148f4SWarner LoshTo disable the 1544e3148f4SWarner Losh.Nm 1554e3148f4SWarner Loshdriver completely, set the kernel environment variable 1564e3148f4SWarner Losh.Va hint.acpi.0.disabled 157d865f9efSWes Petersto 1. 158d865f9efSWes Peters.Pp 1594e3148f4SWarner LoshSome i386 machines totally fail to operate with some or all of ACPI disabled. 1604e3148f4SWarner LoshOther i386 machines fail with ACPI enabled. 161edd84e48SNate LawsonDisabling all or part of ACPI on non-i386 platforms (i.e., platforms where 162edd84e48SNate LawsonACPI support is mandatory) may result in a non-functional system. 1634e3148f4SWarner Losh.Pp 164b6695bd0SMike SmithThe 165b6695bd0SMike Smith.Nm 166b6695bd0SMike Smithdriver comprises a set of drivers, which may be selectively disabled 167b6695bd0SMike Smithin case of problems. 168b6695bd0SMike SmithTo disable a sub-driver, list it in the kernel 169b6695bd0SMike Smithenvironment variable 1703184cf5aSNate Lawson.Va debug.acpi.disabled . 17137c51fd9SNate LawsonMultiple entries can be listed, separated by a space. 172b6695bd0SMike Smith.Pp 173b6695bd0SMike SmithACPI sub-devices and features that can be disabled: 1742010c542SRuslan Ermilov.Bl -tag -width ".Li sysresource" 17537c51fd9SNate Lawson.It Li all 176e821c364SNate LawsonDisable all ACPI features and devices. 17718974fe8SNate Lawson.It Li acad 17818974fe8SNate Lawson.Pq Vt device 17918974fe8SNate LawsonSupports AC adapter. 18087b6284aSRuslan Ermilov.It Li bus 181b6695bd0SMike Smith.Pq Vt feature 182b6695bd0SMike SmithProbes and attaches subdevices. 183b6695bd0SMike SmithDisabling will avoid scanning the ACPI namespace entirely. 18487b6284aSRuslan Ermilov.It Li children 185b6695bd0SMike Smith.Pq Vt feature 186b6695bd0SMike SmithAttaches standard ACPI sub-drivers and devices enumerated in the 187b6695bd0SMike SmithACPI namespace. 188b6695bd0SMike SmithDisabling this has a similar effect to disabling 18987b6284aSRuslan Ermilov.Dq Li bus , 190b6695bd0SMike Smithexcept that the 191b6695bd0SMike SmithACPI namespace will still be scanned. 19287b6284aSRuslan Ermilov.It Li button 193b6695bd0SMike Smith.Pq Vt device 194bf7f20c2SRuslan ErmilovSupports ACPI button devices (typically power and sleep buttons). 19537c51fd9SNate Lawson.It Li cmbat 19637c51fd9SNate Lawson.Pq Vt device 19737c51fd9SNate LawsonControl-method batteries device. 19837c51fd9SNate Lawson.It Li cpu 19937c51fd9SNate Lawson.Pq Vt device 20037c51fd9SNate LawsonSupports CPU power-saving and speed-setting functions. 20187b6284aSRuslan Ermilov.It Li ec 202b6695bd0SMike Smith.Pq Vt device 20337c51fd9SNate LawsonSupports the ACPI Embedded Controller interface, used to communicate 20437c51fd9SNate Lawsonwith embedded platform controllers. 20587b6284aSRuslan Ermilov.It Li isa 206b6695bd0SMike Smith.Pq Vt device 207b6695bd0SMike SmithSupports an ISA bus bridge defined in the ACPI namespace, 208b6695bd0SMike Smithtypically as a child of a PCI bus. 20987b6284aSRuslan Ermilov.It Li lid 210b6695bd0SMike Smith.Pq Vt device 211b6695bd0SMike SmithSupports an ACPI laptop lid switch, which typically puts a 212b6695bd0SMike Smithsystem to sleep. 2134e376d58SNate Lawson.It Li quirks 2144e376d58SNate Lawson.Pq Vt feature 215bf7f20c2SRuslan ErmilovDo not honor quirks. 2164e376d58SNate LawsonQuirks automatically disable ACPI functionality based on the XSDT table's 2174e376d58SNate LawsonOEM vendor name and revision date. 21887b6284aSRuslan Ermilov.It Li pci 219b6695bd0SMike Smith.Pq Vt device 220b6695bd0SMike SmithSupports Host to PCI bridges. 22137c51fd9SNate Lawson.It Li pci_link 222e821c364SNate Lawson.Pq Vt feature 22337c51fd9SNate LawsonPerforms PCI interrupt routing. 22437c51fd9SNate Lawson.It Li sysresource 22537c51fd9SNate Lawson.Pq Vt device 22637c51fd9SNate LawsonPseudo-devices containing resources which ACPI claims. 22787b6284aSRuslan Ermilov.It Li thermal 228b6695bd0SMike Smith.Pq Vt device 229b6695bd0SMike SmithSupports system cooling and heat management. 23087b6284aSRuslan Ermilov.It Li timer 231b6695bd0SMike Smith.Pq Vt device 232b6695bd0SMike SmithImplements a timecounter using the ACPI fixed-frequency timer. 233401cdd95STom Rhodes.It Li video 234401cdd95STom Rhodes.Pq Vt device 235401cdd95STom RhodesSupports acpi_video which may conflict with agp device. 236b6695bd0SMike Smith.El 237b6695bd0SMike Smith.Pp 238b6695bd0SMike SmithIt is also possible to avoid portions of the ACPI namespace which 239b6695bd0SMike Smithmay be causing problems, by listing the full path of the root of 240b6695bd0SMike Smiththe region to be avoided in the kernel environment variable 241b6695bd0SMike Smith.Va debug.acpi.avoid . 242b6695bd0SMike SmithThe object and all of its children will be ignored during the 24387b6284aSRuslan Ermilovbus/children scan of the namespace. 244401b484bSNate LawsonThe ACPI CA code will still know about the avoided region. 245edd84e48SNate Lawson.Sh DEBUGGING OUTPUT 246edd84e48SNate LawsonTo enable debugging output, 247edd84e48SNate Lawson.Nm 248edd84e48SNate Lawsonmust be compiled with 2492010c542SRuslan Ermilov.Cd "options ACPI_DEBUG" . 250edd84e48SNate LawsonDebugging output is separated between layers and levels, where a layer is 251edd84e48SNate Lawsona component of the ACPI subsystem, and a level is a particular kind 252edd84e48SNate Lawsonof debugging output. 253edd84e48SNate Lawson.Pp 254edd84e48SNate LawsonBoth layers and levels are specified as a whitespace-separated list of 255edd84e48SNate Lawsontokens, with layers listed in 256edd84e48SNate Lawson.Va debug.acpi.layer 257edd84e48SNate Lawsonand levels in 258edd84e48SNate Lawson.Va debug.acpi.level . 259401b484bSNate Lawson.Pp 260401b484bSNate LawsonThe first set of layers is for ACPI-CA components, and the second is for 261401b484bSNate Lawson.Fx 262401b484bSNate Lawsondrivers. 263401b484bSNate LawsonThe ACPI-CA layer descriptions include the prefix for the files they 264401b484bSNate Lawsonrefer to. 265edd84e48SNate LawsonThe supported layers are: 266edd84e48SNate Lawson.Pp 2672010c542SRuslan Ermilov.Bl -tag -compact -width ".Li ACPI_CA_DISASSEMBLER" 268edd84e48SNate Lawson.It Li ACPI_UTILITIES 269401b484bSNate LawsonUtility ("ut") functions 270edd84e48SNate Lawson.It Li ACPI_HARDWARE 271401b484bSNate LawsonHardware access ("hw") 272edd84e48SNate Lawson.It Li ACPI_EVENTS 273401b484bSNate LawsonEvent and GPE ("ev") 274edd84e48SNate Lawson.It Li ACPI_TABLES 275401b484bSNate LawsonTable access ("tb") 276edd84e48SNate Lawson.It Li ACPI_NAMESPACE 277401b484bSNate LawsonNamespace evaluation ("ns") 278edd84e48SNate Lawson.It Li ACPI_PARSER 279401b484bSNate LawsonAML parser ("ps") 280edd84e48SNate Lawson.It Li ACPI_DISPATCHER 281401b484bSNate LawsonInternal representation of interpreter state ("ds") 282edd84e48SNate Lawson.It Li ACPI_EXECUTER 283401b484bSNate LawsonExecute AML methods ("ex") 284edd84e48SNate Lawson.It Li ACPI_RESOURCES 285401b484bSNate LawsonResource parsing ("rs") 286edd84e48SNate Lawson.It Li ACPI_CA_DEBUGGER 287401b484bSNate LawsonDebugger implementation ("db", "dm") 288edd84e48SNate Lawson.It Li ACPI_OS_SERVICES 289401b484bSNate LawsonUsermode support routines ("os") 290edd84e48SNate Lawson.It Li ACPI_CA_DISASSEMBLER 291401b484bSNate LawsonDisassembler implementation (unused) 292edd84e48SNate Lawson.It Li ACPI_ALL_COMPONENTS 293edd84e48SNate LawsonAll the above ACPI-CA components 294edd84e48SNate Lawson.It Li ACPI_AC_ADAPTER 295edd84e48SNate LawsonAC adapter driver 296edd84e48SNate Lawson.It Li ACPI_BATTERY 297edd84e48SNate LawsonControl-method battery driver 298edd84e48SNate Lawson.It Li ACPI_BUS 299edd84e48SNate LawsonACPI, ISA, and PCI bus drivers 300edd84e48SNate Lawson.It Li ACPI_BUTTON 301edd84e48SNate LawsonPower and sleep button driver 302edd84e48SNate Lawson.It Li ACPI_EC 303edd84e48SNate LawsonEmbedded controller driver 304edd84e48SNate Lawson.It Li ACPI_FAN 305edd84e48SNate LawsonFan driver 306edd84e48SNate Lawson.It Li ACPI_OEM 307edd84e48SNate LawsonPlatform-specific driver for hotkeys, LED, etc. 308edd84e48SNate Lawson.It Li ACPI_POWER 309edd84e48SNate LawsonPower resource driver 310edd84e48SNate Lawson.It Li ACPI_PROCESSOR 311edd84e48SNate LawsonCPU driver 312edd84e48SNate Lawson.It Li ACPI_THERMAL 313edd84e48SNate LawsonThermal zone driver 314edd84e48SNate Lawson.It Li ACPI_TIMER 315edd84e48SNate LawsonTimer driver 316edd84e48SNate Lawson.It Li ACPI_ALL_DRIVERS 317edd84e48SNate LawsonAll the above 318edd84e48SNate Lawson.Fx 319edd84e48SNate LawsonACPI drivers 320edd84e48SNate Lawson.El 321edd84e48SNate Lawson.Pp 322edd84e48SNate LawsonThe supported levels are: 323edd84e48SNate Lawson.Pp 3242010c542SRuslan Ermilov.Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE" 325edd84e48SNate Lawson.It Li ACPI_LV_ERROR 326401b484bSNate LawsonFatal error conditions 327edd84e48SNate Lawson.It Li ACPI_LV_WARN 328401b484bSNate LawsonWarnings and potential problems 329edd84e48SNate Lawson.It Li ACPI_LV_INIT 330401b484bSNate LawsonInitialization progress 331edd84e48SNate Lawson.It Li ACPI_LV_DEBUG_OBJECT 332401b484bSNate LawsonStores to objects 333edd84e48SNate Lawson.It Li ACPI_LV_INFO 334401b484bSNate LawsonGeneral information and progress 335edd84e48SNate Lawson.It Li ACPI_LV_ALL_EXCEPTIONS 336401b484bSNate LawsonAll the previous levels 337edd84e48SNate Lawson.It Li ACPI_LV_INIT_NAMES 338edd84e48SNate Lawson.It Li ACPI_LV_PARSE 339edd84e48SNate Lawson.It Li ACPI_LV_LOAD 340edd84e48SNate Lawson.It Li ACPI_LV_DISPATCH 341edd84e48SNate Lawson.It Li ACPI_LV_EXEC 342edd84e48SNate Lawson.It Li ACPI_LV_NAMES 343edd84e48SNate Lawson.It Li ACPI_LV_OPREGION 344edd84e48SNate Lawson.It Li ACPI_LV_BFIELD 345edd84e48SNate Lawson.It Li ACPI_LV_TABLES 346edd84e48SNate Lawson.It Li ACPI_LV_VALUES 347edd84e48SNate Lawson.It Li ACPI_LV_OBJECTS 348edd84e48SNate Lawson.It Li ACPI_LV_RESOURCES 349edd84e48SNate Lawson.It Li ACPI_LV_USER_REQUESTS 350edd84e48SNate Lawson.It Li ACPI_LV_PACKAGE 351edd84e48SNate Lawson.It Li ACPI_LV_VERBOSITY1 352401b484bSNate LawsonAll the previous levels 353edd84e48SNate Lawson.It Li ACPI_LV_ALLOCATIONS 354edd84e48SNate Lawson.It Li ACPI_LV_FUNCTIONS 355edd84e48SNate Lawson.It Li ACPI_LV_OPTIMIZATIONS 356edd84e48SNate Lawson.It Li ACPI_LV_VERBOSITY2 357edd84e48SNate Lawson.It Li ACPI_LV_ALL 358edd84e48SNate Lawson.It Li ACPI_LV_MUTEX 359edd84e48SNate Lawson.It Li ACPI_LV_THREADS 360edd84e48SNate Lawson.It Li ACPI_LV_IO 361edd84e48SNate Lawson.It Li ACPI_LV_INTERRUPTS 362edd84e48SNate Lawson.It Li ACPI_LV_VERBOSITY3 363401b484bSNate LawsonAll the previous levels 364edd84e48SNate Lawson.It Li ACPI_LV_AML_DISASSEMBLE 365edd84e48SNate Lawson.It Li ACPI_LV_VERBOSE_INFO 366edd84e48SNate Lawson.It Li ACPI_LV_FULL_TABLES 367edd84e48SNate Lawson.It Li ACPI_LV_EVENTS 368edd84e48SNate Lawson.It Li ACPI_LV_VERBOSE 369401b484bSNate LawsonAll levels after 370401b484bSNate Lawson.Qq Li ACPI_LV_VERBOSITY3 371edd84e48SNate Lawson.El 372edd84e48SNate Lawson.Pp 373edd84e48SNate LawsonSelection of the appropriate layer and level values is important 374edd84e48SNate Lawsonto avoid massive amounts of debugging output. 375401b484bSNate LawsonFor example, the following configuration is a good way to gather initial 376401b484bSNate Lawsoninformation. 377401b484bSNate LawsonIt enables debug output for both ACPI-CA and the 378401b484bSNate Lawson.Nm 379401b484bSNate Lawsondriver, printing basic information about errors, warnings, and progress. 380401b484bSNate Lawson.Bd -literal -offset indent 381401b484bSNate Lawsondebug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" 382401b484bSNate Lawsondebug.acpi.level="ACPI_LV_ALL_EXCEPTIONS" 383401b484bSNate Lawson.Ed 384edd84e48SNate Lawson.Pp 385edd84e48SNate LawsonDebugging output by the ACPI CA subsystem is prefixed with the 386edd84e48SNate Lawsonmodule name in lowercase, followed by a source line number. 387edd84e48SNate LawsonOutput from the 388edd84e48SNate Lawson.Fx Ns -local 389edd84e48SNate Lawsoncode follows the same format, but 390edd84e48SNate Lawsonthe module name is uppercased. 391f0da5f56STakanori Watanabe.Sh OVERRIDING YOUR BIOS BYTECODE 392287460e8SNate LawsonACPI interprets bytecode named AML 393287460e8SNate Lawson(ACPI Machine Language) 394287460e8SNate Lawsonprovided by the BIOS vendor as a memory image at boot time. 395287460e8SNate LawsonSometimes, the AML code contains a bug that does not appear when parsed 396287460e8SNate Lawsonby the Microsoft implementation. 397287460e8SNate Lawson.Fx 398287460e8SNate Lawsonprovides a way to override it with your own AML code to work around 399287460e8SNate Lawsonor debug such problems. 400287460e8SNate LawsonNote that all AML in your DSDT and any SSDT tables is overridden. 401f0da5f56STakanori Watanabe.Pp 402287460e8SNate LawsonIn order to load your AML code, you must edit 403f0da5f56STakanori Watanabe.Pa /boot/loader.conf 404287460e8SNate Lawsonand include the following lines. 405f0da5f56STakanori Watanabe.Bd -literal -offset indent 406f0da5f56STakanori Watanabeacpi_dsdt_load="YES" 407287460e8SNate Lawsonacpi_dsdt_name="/boot/acpi_dsdt.aml" # You may change this name. 408f0da5f56STakanori Watanabe.Ed 409f0da5f56STakanori Watanabe.Pp 410a627f55aSRuslan ErmilovIn order to prepare your AML code, you will need the 411a627f55aSRuslan Ermilov.Xr acpidump 8 412a627f55aSRuslan Ermilovand 4132010c542SRuslan Ermilov.Xr iasl 8 414297835bcSNate Lawsonutilities and some ACPI knowledge. 415b6695bd0SMike Smith.Sh COMPATIBILITY 4166b74f9b7SNate LawsonACPI is only found and supported on i386/ia32, ia64, and amd64. 417b6695bd0SMike Smith.Sh SEE ALSO 4185413d9e0SWes Peters.Xr kenv 1 , 419673fbcacSRuslan Ermilov.Xr acpi_thermal 4 , 4205413d9e0SWes Peters.Xr device.hints 5 , 421f0da5f56STakanori Watanabe.Xr loader.conf 5 , 422f64a0a56SRobert Watson.Xr acpiconf 8 , 423f0da5f56STakanori Watanabe.Xr acpidump 8 , 424297835bcSNate Lawson.Xr config 8 , 425297835bcSNate Lawson.Xr iasl 8 426f0da5f56STakanori Watanabe.Rs 427a627f55aSRuslan Ermilov.%A "Compaq Computer Corporation" 428a627f55aSRuslan Ermilov.%A "Intel Corporation" 429a627f55aSRuslan Ermilov.%A "Microsoft Corporation" 430a627f55aSRuslan Ermilov.%A "Phoenix Technologies Ltd." 431a627f55aSRuslan Ermilov.%A "Toshiba Corporation" 432c25a3f8aSNate Lawson.%D August 25, 2003 433f0da5f56STakanori Watanabe.%T "Advanced Configuration and Power Interface Specification" 434f0da5f56STakanori Watanabe.%O http://acpi.info/spec.htm 435f0da5f56STakanori Watanabe.Re 43687b6284aSRuslan Ermilov.Sh AUTHORS 43787b6284aSRuslan Ermilov.An -nosplit 438b6695bd0SMike SmithThe ACPI CA subsystem is developed and maintained by 439b6695bd0SMike SmithIntel Architecture Labs. 440b6695bd0SMike Smith.Pp 441b6695bd0SMike SmithThe following people made notable contributions to the ACPI subsystem 442b6695bd0SMike Smithin 443b6695bd0SMike Smith.Fx : 444718a5d6aSNate Lawson.An Michael Smith , 44587b6284aSRuslan Ermilov.An Takanori Watanabe Aq takawata@jp.FreeBSD.org , 44687b6284aSRuslan Ermilov.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org , 447b6695bd0SMike Smith.An Munehiro Matsuda , 448718a5d6aSNate Lawson.An Nate Lawson , 449b6695bd0SMike Smiththe ACPI-jp mailing list at 45087b6284aSRuslan Ermilov.Aq acpi-jp@jp.FreeBSD.org , 451b6695bd0SMike Smithand many other contributors. 452b6695bd0SMike Smith.Pp 453b6695bd0SMike SmithThis manual page was written by 45487b6284aSRuslan Ermilov.An Michael Smith Aq msmith@FreeBSD.org . 455b6695bd0SMike Smith.Sh BUGS 456d1f717d1SMike SmithIf the 457d1f717d1SMike Smith.Nm 458d1f717d1SMike Smithdriver is loaded as a module when it is already linked as part of the 459d1f717d1SMike Smithkernel, odd things may happen. 460