xref: /dflybsd-src/share/man/man4/acpi.4 (revision b4ddbe789819885eb6f829ae1760b9844c29eb07)
1.\"
2.\" Copyright (c) 2001 Michael Smith
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD: src/share/man/man4/acpi.4,v 1.61.8.1 2009/04/15 03:14:26 kensmith Exp $
27.\"
28.Dd July 25, 2024
29.Dt ACPI 4
30.Os
31.Sh NAME
32.Nm acpi
33.Nd Advanced Configuration and Power Management support
34.Sh SYNOPSIS
35.Cd "device acpi"
36.Pp
37.Cd "options ACPI_DEBUG"
38.Cd "options DDB"
39.Sh DESCRIPTION
40The
41.Nm
42driver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI
43standard.
44This support includes platform hardware discovery (superseding the
45PnP and PCI BIOS), as well as power management (superseding APM) and
46other features.
47ACPI core support is provided by the ACPICA reference implementation
48from Intel.
49.Pp
50The
51.Nm
52driver is usually compiled into the kernel, and it is automatically loaded
53by the
54.Xr loader 8
55if it is not in the kernel configuration file.
56The loader menu provides a menu item to boot without ACPI.
57See also
58.Sx DISABLING ACPI
59below.
60.Sh SYSCTL VARIABLES
61The
62.Nm
63driver is intended to provide power management without user intervention.
64If the default settings are not optimal, the following sysctls can be
65used to modify or monitor
66.Nm
67behavior.
68.Bl -tag -width indent
69.It Va debug.acpi.enable_debug_objects
70Enable dumping Debug objects without
71.Cd "options ACPI_DEBUG" .
72Default is 0, ignore Debug objects.
73.It Va hw.acpi.acline
74AC line state (1 means online, 0 means on battery power).
75.It Va hw.acpi.cpu.cx_usage
76Debugging information listing the percent of total usage for each sleep state.
77The values are reset when
78.Va hw.acpi.cpu.cx_lowest
79is modified.
80.It Va hw.acpi.cpu.cx_lowest
81Lowest Cx state to use for idling the CPU.
82A scheduling algorithm will select states between
83.Li C1
84and this setting
85as system load dictates.
86To enable ACPI CPU idling control,
87.Va machdep.cpu_idle_hlt
88must be set to 2 (the default value).
89.It Va hw.acpi.cpu.cx_supported
90List of supported CPU idle states and their transition latency
91in microseconds.
92Each state has a type (e.g.,
93.Li C2 ) .
94.Li C1
95is equivalent to the ia32
96.Li HLT
97instruction,
98.Li C2
99provides a deeper
100sleep with the same semantics, and
101.Li C3
102provides the deepest sleep
103but additionally requires bus mastering to be disabled.
104States greater than
105.Li C3
106provide even more power savings with the same
107semantics as the
108.Li C3
109state.
110Deeper sleeps provide more power savings but increased transition
111latency when an interrupt occurs.
112.It Va hw.acpi.disable_on_reboot
113Disable ACPI during the reboot process.
114Most systems reboot fine with ACPI still enabled, but some require
115exiting to legacy mode first.
116Default is 0, leave ACPI enabled.
117.It Va hw.acpi.handle_reboot
118Use the ACPI Reset Register capability to reboot the system.
119Default is 0, use legacy reboot support.
120Some newer systems require use of this register, while some only work
121with legacy rebooting support.
122.It Va hw.acpi.lid_switch_state
123Suspend state
124.Pq Li S1 Ns \[en] Ns Li S5
125to enter when the lid switch (i.e., a notebook screen) is closed.
126Default is
127.Dq Li NONE
128(do nothing).
129.It Va hw.acpi.power_button_state
130Suspend state
131.Pq Li S1 Ns \[en] Ns Li S5
132to enter when the power button is pressed.
133Default is
134.Li S5
135(power-off nicely).
136.It Va hw.acpi.reset_video
137Reset the video adapter from real mode during the resume path.
138Some systems need this help, others have display problems if it is enabled.
139Default is 0 (disabled).
140.It Va hw.acpi.s4bios
141Indicate whether the system supports
142.Li S4BIOS .
143This means that the BIOS can handle all the functions of suspending the
144system to disk.
145Otherwise, the OS is responsible for suspending to disk
146.Pq Li S4OS .
147Most current systems do not support
148.Li S4BIOS .
149.It Va hw.acpi.sleep_button_state
150Suspend state
151.Pq Li S1 Ns \[en] Ns Li S5
152to enter when the sleep button is pressed.
153This is usually a special function button on the keyboard.
154Default is
155.Li S3
156(suspend-to-RAM).
157.It Va hw.acpi.sleep_delay
158Wait this number of seconds between preparing the system to suspend and
159actually entering the suspend state.
160Default is 1 second.
161.It Va hw.acpi.supported_sleep_state
162Suspend states
163.Pq Li S1 Ns \[en] Ns Li S5
164supported by the BIOS.
165.Bl -tag -width indent
166.It Li S1
167Quick suspend to RAM.
168The CPU enters a lower power state, but most peripherals are left running.
169.It Li S2
170Lower power state than
171.Li S1 ,
172but with the same basic characteristics.
173Not supported by many systems.
174.It Li S3
175Suspend to RAM.
176Most devices are powered off, and the system stops running except for
177memory refresh.
178.It Li S4
179Suspend to disk.
180All devices are powered off, and the system stops running.
181When resuming, the system starts as if from a cold power on.
182Not yet supported by
183.Fx
184unless
185.Li S4BIOS
186is available.
187.It Li S5
188System shuts down cleanly and powers off.
189.El
190.It Va hw.acpi.verbose
191Enable verbose printing from the various ACPI subsystems.
192.El
193.Sh LOADER TUNABLES
194Tunables can be set at the
195.Xr loader 8
196prompt before booting the kernel or stored in
197.Pa /boot/loader.conf .
198Many of these tunables also have a matching
199.Xr sysctl 8
200entry for access after boot.
201.Bl -tag -width indent
202.It Va acpi_dsdt_load
203Enables loading of a custom ACPI DSDT.
204.It Va acpi_dsdt_name
205Name of the DSDT table to load, if loading is enabled.
206It is relative to
207.Pa /boot/kernel .
208.It Va debug.acpi.allow_method_calls
209If set, the
210.Xr acpicall 8
211utility can be used to directly call ACPI methods for debugging and
212tweaking purposes.
213.It Va debug.acpi.disabled
214Selectively disables portions of ACPI that are enabled by default, for
215debugging purposes.
216.It Va debug.acpi.enabled
217Selectively enables portions of ACPI that are disabled by default, for
218debugging purposes.
219.It Va debug.acpi.facs_addr32
220Favor 32-bit FACS table addresses over the 64-bit addresses.
221.It Va debug.acpi.fadt_addr32
222Favor 32-bit FADT register addresses over the 64-bit addresses.
223.It Va debug.acpi.ignore_xsdt
224Ignore the XSDT, forcing the use of the RSDT.
225.It Va debug.acpi.interpreter_slack
226Enable less strict ACPI implementations.
227Default is 1, ignore common BIOS mistakes.
228.It Va debug.acpi.max_threads
229Specify the number of task threads that are started on boot.
230Limiting this to 1 may help work around various BIOSes that cannot
231handle parallel requests.
232The default value is 3.
233.It Va debug.acpi.quirks
234Override any automatic quirks completely.
235.It Va debug.acpi.resume_beep
236Beep the PC speaker on resume.
237This can help diagnose suspend/resume problems.
238Default is 0 (disabled).
239.It Va hint.acpi.0.disabled
240Set this to 1 to disable all of ACPI.
241If ACPI has been disabled on your system due to a blacklist entry for your
242BIOS, you can set this to 0 to re-enable ACPI for testing.
243.It Va hw.acpi.ec.poll_timeout
244Delay in milliseconds to wait for the EC to respond.
245Try increasing this number if you get the error
246.Qq Li AE_NO_HARDWARE_RESPONSE .
247.It Va hw.acpi.host_mem_start
248Override the assumed memory starting address for PCI host bridges.
249.It Va hw.acpi.install_interface , hw.acpi.remove_interface
250Install or remove OS interface(s) to control the return value of the
251.Ql _OSI
252query method.
253When an OS interface is specified in
254.Va hw.acpi.install_interface ,
255the
256.Li _OSI
257query for the interface returns it is
258.Em supported .
259Conversely, when an OS interface is specified in
260.Va hw.acpi.remove_interface ,
261the
262.Li _OSI
263query returns it is
264.Em not supported .
265Multiple interfaces can be specified in a comma-separated list and
266any leading white spaces will be ignored.
267For example,
268.Qq Li FreeBSD, Linux
269is a valid list of two interfaces
270.Qq Li FreeBSD
271and
272.Qq Li Linux .
273.It Va hw.acpi.override_isa_irq_polarity (x86)
274Forces active-lo polarity for edge-triggered ISA interrupts.
275Some older systems incorrectly specify active-lo polarity for ISA
276interrupts and this override fixes those systems.
277This override is enabled by default on systems with Intel CPUs,
278but can be enabled or disabled by setting the tunable explicitly.
279.It Va hw.acpi.reset_video
280Enables calling the VESA reset BIOS vector on the resume path.
281This can fix some graphics cards that have problems such as LCD white-out
282after resume.
283Default is 0 (disabled).
284.It Va hw.acpi.auto_serialize_methods
285Auto-serialization of control methods to proactively prevent problems with
286ill-behaved reentrant control methods that create named ACPI objects.
287Default is 1 (enabled).
288.It Va hw.acpi.verbose
289Turn on verbose debugging information about what ACPI is doing.
290.It Va hw.pci.link.%s.%d.irq
291Override the interrupt to use for this link and index.
292This capability should be used carefully, and only if a device is not
293working with
294.Nm
295enabled.
296.Qq %s
297is the name of the link (e.g., LNKA).
298.Qq %d
299is the resource index when the link supports multiple IRQs.
300Most PCI links only have one IRQ resource, so the below form should be used.
301.It Va hw.pci.link.%s.irq
302Override the interrupt to use.
303This capability should be used carefully, and only if a device is not
304working with
305.Nm
306enabled.
307.Qq %s
308is the name of the link (e.g., LNKA).
309.El
310.Sh DISABLING ACPI
311Since ACPI support on different platforms varies greatly, there are many
312debugging and tuning options available.
313.Pp
314For machines known not to work with
315.Nm
316enabled, there is a BIOS blacklist.
317Currently, the blacklist only controls whether
318.Nm
319should be disabled or not.
320In the future, it will have more granularity to control features (the
321infrastructure for that is already there).
322.Pp
323To enable
324.Nm
325(for debugging purposes, etc.) on machines that are on the blacklist, set the
326kernel environment variable
327.Va hint.acpi.0.disabled
328to 0.
329Before trying this, consider updating your BIOS to a more recent version that
330may be compatible with ACPI.
331.Pp
332To disable the
333.Nm
334driver completely, set the kernel environment variable
335.Va hint.acpi.0.disabled
336to 1.
337.Pp
338Disabling all or part of ACPI may result in a non-functional system.
339.Pp
340The
341.Nm
342driver comprises a set of drivers, which may be selectively disabled
343in case of problems.
344To disable a sub-driver, list it in the kernel
345environment variable
346.Va debug.acpi.disabled .
347Multiple entries can be listed, separated by a space.
348.Pp
349ACPI sub-devices and features that can be disabled:
350.Bl -tag -width ".Li sysresource"
351.It Li all
352Disable all ACPI features and devices.
353.It Li acad
354.Pq Vt device
355Supports AC adapter.
356.It Li bus
357.Pq Vt feature
358Probes and attaches subdevices.
359Disabling will avoid scanning the ACPI namespace entirely.
360.It Li children
361.Pq Vt feature
362Attaches standard ACPI sub-drivers and devices enumerated in the
363ACPI namespace.
364Disabling this has a similar effect to disabling
365.Dq Li bus ,
366except that the
367ACPI namespace will still be scanned.
368.It Li button
369.Pq Vt device
370Supports ACPI button devices (typically power and sleep buttons).
371.It Li cmbat
372.Pq Vt device
373Control-method batteries device.
374.It Li cpu
375.Pq Vt device
376Supports CPU power-saving and speed-setting functions.
377.It Li cpu_cst
378.Pq Vt device
379Supports CPU power-saving.
380Disabling
381.Dq Li cpu
382will also disable this device.
383.It Li cpu_pst
384.Pq Vt device
385Supports CPU speed-setting.
386Disabling
387.Dq Li cpu
388will also disable this device.
389.It Li dock
390.Pq Vt device
391Docking station device.
392.It Li ec
393.Pq Vt device
394Supports the ACPI Embedded Controller interface, used to communicate
395with embedded platform controllers.
396.It Li hpet
397.Pq Vt feature
398Supports the High Precision Event Timer.
399.It Li isa
400.Pq Vt device
401Supports an ISA bus bridge defined in the ACPI namespace,
402typically as a child of a PCI bus.
403.It Li lid
404.Pq Vt device
405Supports an ACPI laptop lid switch, which typically puts a
406system to sleep.
407.It Li quirks
408.Pq Vt feature
409Do not honor quirks.
410Quirks automatically disable ACPI functionality based on the XSDT table's
411OEM vendor name and revision date.
412.It Li pci
413.Pq Vt device
414Supports Host to PCI bridges.
415.It Li pci_link
416.Pq Vt feature
417Performs PCI interrupt routing.
418.It Li sysresource
419.Pq Vt device
420Pseudo-devices containing resources which ACPI claims.
421.It Li thermal
422.Pq Vt device
423Supports system cooling and heat management.
424.It Li timer
425.Pq Vt device
426Implements a timecounter using the ACPI fixed-frequency timer.
427.It Li video
428.Pq Vt device
429Supports
430.Xr acpi_video 4
431which may conflict with
432.Xr agp 4
433device.
434.El
435.Pp
436.\"The
437.\".Nm
438.\"driver comprises a set of drivers,
439.\"which may be selectively enabled in case of testing.
440.\"To enable a sub-driver,
441.\"list it in the kernel environment variable
442.\".Va debug.acpi.enabled .
443.\"Multiple entries can be listed,
444.\"separated by a space.
445.\".Pp
446.\"ACPI sub-devices and features that can be enabled:
447.\".Bl -tag -width ".Li sysresource"
448.\"[...]
449.\".El
450.\".Pp
451It is also possible to avoid portions of the ACPI namespace which
452may be causing problems, by listing the full path of the root of
453the region to be avoided in the kernel environment variable
454.Va debug.acpi.avoid .
455The object and all of its children will be ignored during the
456bus/children scan of the namespace.
457The ACPICA code will still know about the avoided region.
458.Sh DEBUGGING OUTPUT
459To enable debugging output,
460.Nm
461must be compiled with
462.Cd "options ACPI_DEBUG" .
463Debugging output is separated between layers and levels, where a layer is
464a component of the ACPI subsystem, and a level is a particular kind
465of debugging output.
466.Pp
467Both layers and levels are specified as a whitespace-separated list of
468tokens, with layers listed in
469.Va debug.acpi.layer
470and levels in
471.Va debug.acpi.level .
472.Pp
473The first set of layers is for ACPICA components, and the second is for
474.Dx
475drivers.
476The ACPICA layer descriptions include the prefix for the files they
477refer to.
478The supported layers are:
479.Pp
480.Bl -tag -compact -width ".Li ACPI_CA_DISASSEMBLER"
481.It Li ACPI_UTILITIES
482Utility ("ut") functions
483.It Li ACPI_HARDWARE
484Hardware access ("hw")
485.It Li ACPI_EVENTS
486Event and GPE ("ev")
487.It Li ACPI_TABLES
488Table access ("tb")
489.It Li ACPI_NAMESPACE
490Namespace evaluation ("ns")
491.It Li ACPI_PARSER
492AML parser ("ps")
493.It Li ACPI_DISPATCHER
494Internal representation of interpreter state ("ds")
495.It Li ACPI_EXECUTER
496Execute AML methods ("ex")
497.It Li ACPI_RESOURCES
498Resource parsing ("rs")
499.It Li ACPI_CA_DEBUGGER
500Debugger implementation ("db", "dm")
501.It Li ACPI_OS_SERVICES
502Usermode support routines ("os")
503.It Li ACPI_CA_DISASSEMBLER
504Disassembler implementation (unused)
505.It Li ACPI_ALL_COMPONENTS
506All the above ACPICA components
507.It Li ACPI_AC_ADAPTER
508AC adapter driver
509.It Li ACPI_BATTERY
510Control-method battery driver
511.It Li ACPI_BUS
512ACPI, ISA, and PCI bus drivers
513.It Li ACPI_BUTTON
514Power and sleep button driver
515.It Li ACPI_EC
516Embedded controller driver
517.It Li ACPI_FAN
518Fan driver
519.It Li ACPI_OEM
520Platform-specific driver for hotkeys, LED, etc.
521.It Li ACPI_POWERRES
522Power resource driver
523.It Li ACPI_PROCESSOR
524CPU driver
525.It Li ACPI_THERMAL
526Thermal zone driver
527.It Li ACPI_TIMER
528Timer driver
529.It Li ACPI_ALL_DRIVERS
530All the above
531.Dx
532ACPI drivers
533.El
534.Pp
535The supported levels are:
536.Pp
537.Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE"
538.It Li ACPI_LV_INIT
539Initialization progress
540.It Li ACPI_LV_DEBUG_OBJECT
541Stores to objects
542.It Li ACPI_LV_INFO
543General information and progress
544.It Li ACPI_LV_REPAIR
545Repair a common problem with predefined methods
546.It Li ACPI_LV_ALL_EXCEPTIONS
547All the previous levels
548.It Li ACPI_LV_PARSE
549.It Li ACPI_LV_DISPATCH
550.It Li ACPI_LV_EXEC
551.It Li ACPI_LV_NAMES
552.It Li ACPI_LV_OPREGION
553.It Li ACPI_LV_BFIELD
554.It Li ACPI_LV_TABLES
555.It Li ACPI_LV_VALUES
556.It Li ACPI_LV_OBJECTS
557.It Li ACPI_LV_RESOURCES
558.It Li ACPI_LV_USER_REQUESTS
559.It Li ACPI_LV_PACKAGE
560.It Li ACPI_LV_EVALUATION
561.It Li ACPI_LV_VERBOSITY1
562All the previous levels
563.It Li ACPI_LV_ALLOCATIONS
564.It Li ACPI_LV_FUNCTIONS
565.It Li ACPI_LV_OPTIMIZATIONS
566.It Li ACPI_LV_VERBOSITY2
567All the previous levels
568.It Li ACPI_LV_ALL
569Alias for
570.Qq Li ACPI_LV_VERBOSITY2
571.It Li ACPI_LV_MUTEX
572.It Li ACPI_LV_THREADS
573.It Li ACPI_LV_IO
574.It Li ACPI_LV_INTERRUPTS
575.It Li ACPI_LV_VERBOSITY3
576All the previous levels
577.It Li ACPI_LV_AML_DISASSEMBLE
578.It Li ACPI_LV_VERBOSE_INFO
579.It Li ACPI_LV_FULL_TABLES
580.It Li ACPI_LV_EVENTS
581.It Li ACPI_LV_VERBOSE
582All levels after
583.Qq Li ACPI_LV_VERBOSITY3
584.It Li ACPI_LV_INIT_NAMES
585Needs to be specified separately
586.It Li ACPI_LV_LOAD
587Needs to be specified separately
588.El
589.Pp
590Selection of the appropriate layer and level values is important
591to avoid massive amounts of debugging output.
592For example, the following configuration is a good way to gather initial
593information.
594It enables debug output for both ACPICA and the
595.Nm
596driver, printing basic information about errors, warnings, and progress.
597.Bd -literal -offset indent
598debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
599debug.acpi.level="ACPI_LV_ALL_EXCEPTIONS"
600.Ed
601.Pp
602Debugging output by the ACPICA subsystem is prefixed with the
603module name in lowercase, followed by a source line number.
604Output from the
605.Dx Ns -local
606code follows the same format, but
607the module name is uppercased.
608.Sh OVERRIDING YOUR BIOS BYTECODE
609ACPI interprets bytecode named AML
610(ACPI Machine Language)
611provided by the BIOS vendor as a memory image at boot time.
612Sometimes, the AML code contains a bug that does not appear when parsed
613by the Microsoft implementation.
614.Dx
615provides a way to override it with your own AML code to work around
616or debug such problems.
617Note that all AML in your DSDT and any SSDT tables is overridden.
618.Pp
619In order to load your AML code, copy it to
620.Pa /boot/kernel/acpi_dsdt.aml
621and add the following line to
622.Pa /boot/loader.conf .
623.Bd -literal -offset indent
624acpi_dsdt_load="YES"
625.Ed
626.Pp
627In order to prepare your AML code, you will need the
628.Xr acpidump 8
629and
630.Xr iasl 8
631utilities and some ACPI knowledge.
632.Sh SEE ALSO
633.Xr kenv 1 ,
634.Xr acpi_asus 4 ,
635.Xr acpi_dock 4 ,
636.Xr acpi_fujitsu 4 ,
637.Xr acpi_hp 4 ,
638.Xr acpi_panasonic 4 ,
639.Xr acpi_sony 4 ,
640.Xr acpi_thermal 4 ,
641.Xr acpi_thinkpad 4 ,
642.Xr acpi_toshiba 4 ,
643.Xr acpi_video 4 ,
644.Xr aibs 4 ,
645.Xr loader.conf 5 ,
646.Xr acpibin 8 ,
647.Xr acpicall 8 ,
648.Xr acpiconf 8 ,
649.Xr acpidump 8 ,
650.Xr acpiexec 8 ,
651.Xr acpixtract 8 ,
652.Xr iasl 8
653.Rs
654.%A "Hewlett-Packard Corporation"
655.%A "Intel Corporation"
656.%A "Microsoft Corporation"
657.%A "Phoenix Technologies Ltd."
658.%A "Toshiba Corporation"
659.%D November 13, 2013
660.%T "Advanced Configuration and Power Interface Specification"
661.%U http://acpi.info/spec.htm
662.Re
663.Sh AUTHORS
664.An -nosplit
665The ACPICA subsystem is developed and maintained by
666Intel Architecture Labs.
667.Pp
668The following people made notable contributions to the ACPI subsystem
669in
670.Dx :
671.An Michael Smith ,
672.An Takanori Watanabe Aq Mt takawata@jp.FreeBSD.org ,
673.An Mitsuru IWASAKI Aq Mt iwasaki@jp.FreeBSD.org ,
674.An Munehiro Matsuda ,
675.An Nate Lawson ,
676the ACPI-jp mailing list at
677.Aq Mt acpi-jp@jp.FreeBSD.org ,
678and many other contributors.
679.Pp
680This manual page was written by
681.An Michael Smith Aq Mt msmith@FreeBSD.org .
682.Sh BUGS
683Many BIOS versions have serious bugs that may cause system instability,
684break suspend/resume, or prevent devices from operating properly due to
685IRQ routing problems.
686Upgrade your BIOS to the latest version available from the vendor before
687deciding it is a problem with
688.Nm .
689.\".Pp
690.\"The
691.\".Nm
692.\"CPU idle power management drive conflicts with the local APIC (LAPIC)
693.\"timer.
694.\"Disable APIC mode with
695.\".Va hint.apic.0.disabled
696.\"or do not use the
697.\".Li C2
698.\"and
699.\".Li C3
700.\"states if APIC mode is enabled.
701