Deleted Added
full compact
acpi.4 (126098) acpi.4 (126517)
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.\"
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: head/share/man/man4/acpi.4 126098 2004-02-22 00:50:00Z njl $
26.\" $FreeBSD: head/share/man/man4/acpi.4 126517 2004-03-03 03:02:17Z njl $
27.\"
28.Dd July 2, 2001
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.Sh DESCRIPTION
39The
40.Nm
41driver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI
42standard.
43This support includes platform hardware discovery (superseding the
44PnP and PCI BIOS), as well as power management (superseding APM) and
45other features.
46ACPI core support is provided by the ACPI CA reference implementation
47from Intel.
48.Pp
49Note that the
50.Nm
51driver is automatically loaded by the bootloader, and should not normally
52be compiled into the kernel.
53.Sh ENVIRONMENT
54This support is still experimental, and thus there are many debugging
27.\"
28.Dd July 2, 2001
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.Sh DESCRIPTION
39The
40.Nm
41driver provides support for the Intel/Microsoft/Compaq/Toshiba ACPI
42standard.
43This support includes platform hardware discovery (superseding the
44PnP and PCI BIOS), as well as power management (superseding APM) and
45other features.
46ACPI core support is provided by the ACPI CA reference implementation
47from Intel.
48.Pp
49Note that the
50.Nm
51driver is automatically loaded by the bootloader, and should not normally
52be compiled into the kernel.
53.Sh ENVIRONMENT
54This support is still experimental, and thus there are many debugging
55and tuning options which are managed via the kernel environment
56space, and set in the
55and tuning options which are managed via the kernel environment.
56Tunables can be set at the
57.Xr loader 8
57.Xr loader 8
58before booting the kernel.
59Kernel environment variables may also be configured in the
60.Xr loader
61configuration file
62.Pa /boot/loader.conf
63or the device resource hints file
64.Pa /boot/device.hints .
58prompt before booting the kernel or stored in
59.Pa /boot/loader.conf .
65.Pp
66Debugging is separated between layers and levels, where a layer is
67a portion of the ACPI subsystem, and a level is a particular kind
68of debugging output.
69.Pp
70Both layers and levels are specified as a whitespace-separated list of
71tokens, with layers listed in
72.Va debug.acpi.layer
73and levels in
74.Va debug.acpi.level .
75The supported layers are:
76.Pp
77.Bl -item -offset indent -compact
78.It
79.Li ACPI_UTILITIES
80.It
81.Li ACPI_HARDWARE
82.It
83.Li ACPI_EVENTS
84.It
85.Li ACPI_TABLES
86.It
87.Li ACPI_NAMESPACE
88.It
89.Li ACPI_PARSER
90.It
91.Li ACPI_DISPATCHER
92.It
93.Li ACPI_EXECUTER
94.It
95.Li ACPI_RESOURCES
96.It
97.Li ACPI_CA_DEBUGGER
98.It
99.Li ACPI_OS_SERVICES
100.It
101.Li ACPI_CA_DISASSEMBLER
102.It
103.Li ACPI_ALL_COMPONENTS
104.It
60.Pp
61Debugging is separated between layers and levels, where a layer is
62a portion of the ACPI subsystem, and a level is a particular kind
63of debugging output.
64.Pp
65Both layers and levels are specified as a whitespace-separated list of
66tokens, with layers listed in
67.Va debug.acpi.layer
68and levels in
69.Va debug.acpi.level .
70The supported layers are:
71.Pp
72.Bl -item -offset indent -compact
73.It
74.Li ACPI_UTILITIES
75.It
76.Li ACPI_HARDWARE
77.It
78.Li ACPI_EVENTS
79.It
80.Li ACPI_TABLES
81.It
82.Li ACPI_NAMESPACE
83.It
84.Li ACPI_PARSER
85.It
86.Li ACPI_DISPATCHER
87.It
88.Li ACPI_EXECUTER
89.It
90.Li ACPI_RESOURCES
91.It
92.Li ACPI_CA_DEBUGGER
93.It
94.Li ACPI_OS_SERVICES
95.It
96.Li ACPI_CA_DISASSEMBLER
97.It
98.Li ACPI_ALL_COMPONENTS
99.It
105.Li ACPI_BUS
100.Li ACPI_AC_ADAPTER
106.It
101.It
107.Li ACPI_SYSTEM
102.Li ACPI_BATTERY
108.It
103.It
109.Li ACPI_POWER
104.Li ACPI_BUS
110.It
105.It
106.Li ACPI_BUTTON
107.It
111.Li ACPI_EC
112.It
108.Li ACPI_EC
109.It
113.Li ACPI_AC_ADAPTER
110.Li ACPI_FAN
114.It
111.It
115.Li ACPI_BATTERY
112.Li ACPI_POWER
116.It
113.It
117.Li ACPI_BUTTON
118.It
119.Li ACPI_PROCESSOR
120.It
121.Li ACPI_THERMAL
122.It
114.Li ACPI_PROCESSOR
115.It
116.Li ACPI_THERMAL
117.It
123.Li ACPI_FAN
118.Li ACPI_TIMER
124.It
125.Li ACPI_ALL_DRIVERS
126.El
127.Pp
128The supported levels are:
129.Pp
130.Bl -item -offset indent -compact
131.It
132.Li ACPI_LV_ERROR
133.It
134.Li ACPI_LV_WARN
135.It
136.Li ACPI_LV_INIT
137.It
138.Li ACPI_LV_DEBUG_OBJECT
139.It
140.Li ACPI_LV_INFO
141.It
142.Li ACPI_LV_ALL_EXCEPTIONS
143.It
144.Li ACPI_LV_INIT_NAMES
145.It
146.Li ACPI_LV_PARSE
147.It
148.Li ACPI_LV_LOAD
149.It
150.Li ACPI_LV_DISPATCH
151.It
152.Li ACPI_LV_EXEC
153.It
154.Li ACPI_LV_NAMES
155.It
156.Li ACPI_LV_OPREGION
157.It
158.Li ACPI_LV_BFIELD
159.It
160.Li ACPI_LV_TABLES
161.It
162.Li ACPI_LV_VALUES
163.It
164.Li ACPI_LV_OBJECTS
165.It
166.Li ACPI_LV_RESOURCES
167.It
168.Li ACPI_LV_USER_REQUESTS
169.It
170.Li ACPI_LV_PACKAGE
171.It
172.Li ACPI_LV_VERBOSITY1
173.It
174.Li ACPI_LV_ALLOCATIONS
175.It
176.Li ACPI_LV_FUNCTIONS
177.It
178.Li ACPI_LV_OPTIMIZATIONS
179.It
180.Li ACPI_LV_VERBOSITY2
181.It
182.Li ACPI_LV_ALL
183.It
184.Li ACPI_LV_MUTEX
185.It
186.Li ACPI_LV_THREADS
187.It
188.Li ACPI_LV_IO
189.It
190.Li ACPI_LV_INTERRUPTS
191.It
192.Li ACPI_LV_VERBOSITY3
193.It
194.Li ACPI_LV_AML_DISASSEMBLE
195.It
196.Li ACPI_LV_VERBOSE_INFO
197.It
198.Li ACPI_LV_FULL_TABLES
199.It
200.Li ACPI_LV_EVENTS
201.It
202.Li ACPI_LV_VERBOSE
203.El
204.Pp
205Selection of the appropriate layer and level values is important
206to avoid massive amounts of debugging output.
207Check the code to see which you need.
208.Pp
209Debugging output by the ACPI CA subsystem is prefixed with the
210module name in lowercase, followed by a source line number.
211Output from the
212.Fx Ns -local
213code follows the same format, but
214the module name is uppercased.
215.Pp
216To disable the
217.Nm
218driver completely, set the kernel environment variable
219.Va hint.acpi.0.disabled
220to 1.
221.Pp
222Some i386 machines totally fail to operate with some or all of ACPI disabled.
223Other i386 machines fail with ACPI enabled.
224Non-i386 platforms do not support operating systems which do not use ACPI.
225Disabling all or part of ACPI on non-i386 platforms may result in a
226non-functional system.
227.Pp
228The
229.Nm
230driver comprises a set of drivers, which may be selectively disabled
231in case of problems.
232To disable a sub-driver, list it in the kernel
233environment variable
119.It
120.Li ACPI_ALL_DRIVERS
121.El
122.Pp
123The supported levels are:
124.Pp
125.Bl -item -offset indent -compact
126.It
127.Li ACPI_LV_ERROR
128.It
129.Li ACPI_LV_WARN
130.It
131.Li ACPI_LV_INIT
132.It
133.Li ACPI_LV_DEBUG_OBJECT
134.It
135.Li ACPI_LV_INFO
136.It
137.Li ACPI_LV_ALL_EXCEPTIONS
138.It
139.Li ACPI_LV_INIT_NAMES
140.It
141.Li ACPI_LV_PARSE
142.It
143.Li ACPI_LV_LOAD
144.It
145.Li ACPI_LV_DISPATCH
146.It
147.Li ACPI_LV_EXEC
148.It
149.Li ACPI_LV_NAMES
150.It
151.Li ACPI_LV_OPREGION
152.It
153.Li ACPI_LV_BFIELD
154.It
155.Li ACPI_LV_TABLES
156.It
157.Li ACPI_LV_VALUES
158.It
159.Li ACPI_LV_OBJECTS
160.It
161.Li ACPI_LV_RESOURCES
162.It
163.Li ACPI_LV_USER_REQUESTS
164.It
165.Li ACPI_LV_PACKAGE
166.It
167.Li ACPI_LV_VERBOSITY1
168.It
169.Li ACPI_LV_ALLOCATIONS
170.It
171.Li ACPI_LV_FUNCTIONS
172.It
173.Li ACPI_LV_OPTIMIZATIONS
174.It
175.Li ACPI_LV_VERBOSITY2
176.It
177.Li ACPI_LV_ALL
178.It
179.Li ACPI_LV_MUTEX
180.It
181.Li ACPI_LV_THREADS
182.It
183.Li ACPI_LV_IO
184.It
185.Li ACPI_LV_INTERRUPTS
186.It
187.Li ACPI_LV_VERBOSITY3
188.It
189.Li ACPI_LV_AML_DISASSEMBLE
190.It
191.Li ACPI_LV_VERBOSE_INFO
192.It
193.Li ACPI_LV_FULL_TABLES
194.It
195.Li ACPI_LV_EVENTS
196.It
197.Li ACPI_LV_VERBOSE
198.El
199.Pp
200Selection of the appropriate layer and level values is important
201to avoid massive amounts of debugging output.
202Check the code to see which you need.
203.Pp
204Debugging output by the ACPI CA subsystem is prefixed with the
205module name in lowercase, followed by a source line number.
206Output from the
207.Fx Ns -local
208code follows the same format, but
209the module name is uppercased.
210.Pp
211To disable the
212.Nm
213driver completely, set the kernel environment variable
214.Va hint.acpi.0.disabled
215to 1.
216.Pp
217Some i386 machines totally fail to operate with some or all of ACPI disabled.
218Other i386 machines fail with ACPI enabled.
219Non-i386 platforms do not support operating systems which do not use ACPI.
220Disabling all or part of ACPI on non-i386 platforms may result in a
221non-functional system.
222.Pp
223The
224.Nm
225driver comprises a set of drivers, which may be selectively disabled
226in case of problems.
227To disable a sub-driver, list it in the kernel
228environment variable
234.Va debug.acpi.disable .
229.Va debug.acpi.disabled .
235Multiple entries can be listed, separated by a space.
236.Pp
237ACPI sub-devices and features that can be disabled:
238.Bl -tag -width sysresource
239.It Li all
240Disable all ACPI features and devices.
241.It Li bus
242.Pq Vt feature
243Probes and attaches subdevices.
244Disabling will avoid scanning the ACPI namespace entirely.
245.It Li children
246.Pq Vt feature
247Attaches standard ACPI sub-drivers and devices enumerated in the
248ACPI namespace.
249Disabling this has a similar effect to disabling
250.Dq Li bus ,
251except that the
252ACPI namespace will still be scanned.
253.It Li button
254.Pq Vt device
255Supports ACPI button devices (typically power and sleep buttons.)
256.It Li cmbat
257.Pq Vt device
258Control-method batteries device.
259.It Li cpu
260.Pq Vt device
261Supports CPU power-saving and speed-setting functions.
262.It Li ec
263.Pq Vt device
264Supports the ACPI Embedded Controller interface, used to communicate
265with embedded platform controllers.
266.It Li isa
267.Pq Vt device
268Supports an ISA bus bridge defined in the ACPI namespace,
269typically as a child of a PCI bus.
270.It Li lid
271.Pq Vt device
272Supports an ACPI laptop lid switch, which typically puts a
273system to sleep.
274.It Li pci
275.Pq Vt device
276Supports Host to PCI bridges.
277.It Li pci_link
278.Pq Vt feature
279Performs PCI interrupt routing.
280.It Li sysresource
281.Pq Vt device
282Pseudo-devices containing resources which ACPI claims.
283.It Li thermal
284.Pq Vt device
285Supports system cooling and heat management.
286.It Li timer
287.Pq Vt device
288Implements a timecounter using the ACPI fixed-frequency timer.
289.El
290.Pp
291It is also possible to avoid portions of the ACPI namespace which
292may be causing problems, by listing the full path of the root of
293the region to be avoided in the kernel environment variable
294.Va debug.acpi.avoid .
295The object and all of its children will be ignored during the
296bus/children scan of the namespace.
297The ACPI CA code will still
298know about the avoided region.
299.Sh OVERRIDING YOUR BIOS BYTECODE
300ACPI interprets bytecode named AML, ACPI Machine Language, provided by the BIOS
301vendor as a memory image at boot time.
302Sometimes, the AML code contains
303a problem that does not appear in the Microsoft implementation.
304So we provide a way to override it with your own AML code.
305.Pp
306In order to load your AML code,
307you must edit
308.Pa /boot/loader.conf
309and
310include the following lines.
311.Bd -literal -offset indent
312acpi_dsdt_load="YES"
313acpi_dsdt_name="/boot/acpi_dsdt.aml" #You may change the name.
314.Ed
315.Pp
316In order to prepare your AML code, you will need the
317.Xr acpidump 8
318and
319.Xr iasl 1
320utilities and some ACPI knowledge.
321.Sh TUNABLES
322.Bl -tag -width indent
323.It Va acpi_dsdt_load
324Enables loading of a custom ACPI DSDT.
325.It Va acpi_dsdt_name
326Name of the DSDT table to load, if loading is enabled.
230Multiple entries can be listed, separated by a space.
231.Pp
232ACPI sub-devices and features that can be disabled:
233.Bl -tag -width sysresource
234.It Li all
235Disable all ACPI features and devices.
236.It Li bus
237.Pq Vt feature
238Probes and attaches subdevices.
239Disabling will avoid scanning the ACPI namespace entirely.
240.It Li children
241.Pq Vt feature
242Attaches standard ACPI sub-drivers and devices enumerated in the
243ACPI namespace.
244Disabling this has a similar effect to disabling
245.Dq Li bus ,
246except that the
247ACPI namespace will still be scanned.
248.It Li button
249.Pq Vt device
250Supports ACPI button devices (typically power and sleep buttons.)
251.It Li cmbat
252.Pq Vt device
253Control-method batteries device.
254.It Li cpu
255.Pq Vt device
256Supports CPU power-saving and speed-setting functions.
257.It Li ec
258.Pq Vt device
259Supports the ACPI Embedded Controller interface, used to communicate
260with embedded platform controllers.
261.It Li isa
262.Pq Vt device
263Supports an ISA bus bridge defined in the ACPI namespace,
264typically as a child of a PCI bus.
265.It Li lid
266.Pq Vt device
267Supports an ACPI laptop lid switch, which typically puts a
268system to sleep.
269.It Li pci
270.Pq Vt device
271Supports Host to PCI bridges.
272.It Li pci_link
273.Pq Vt feature
274Performs PCI interrupt routing.
275.It Li sysresource
276.Pq Vt device
277Pseudo-devices containing resources which ACPI claims.
278.It Li thermal
279.Pq Vt device
280Supports system cooling and heat management.
281.It Li timer
282.Pq Vt device
283Implements a timecounter using the ACPI fixed-frequency timer.
284.El
285.Pp
286It is also possible to avoid portions of the ACPI namespace which
287may be causing problems, by listing the full path of the root of
288the region to be avoided in the kernel environment variable
289.Va debug.acpi.avoid .
290The object and all of its children will be ignored during the
291bus/children scan of the namespace.
292The ACPI CA code will still
293know about the avoided region.
294.Sh OVERRIDING YOUR BIOS BYTECODE
295ACPI interprets bytecode named AML, ACPI Machine Language, provided by the BIOS
296vendor as a memory image at boot time.
297Sometimes, the AML code contains
298a problem that does not appear in the Microsoft implementation.
299So we provide a way to override it with your own AML code.
300.Pp
301In order to load your AML code,
302you must edit
303.Pa /boot/loader.conf
304and
305include the following lines.
306.Bd -literal -offset indent
307acpi_dsdt_load="YES"
308acpi_dsdt_name="/boot/acpi_dsdt.aml" #You may change the name.
309.Ed
310.Pp
311In order to prepare your AML code, you will need the
312.Xr acpidump 8
313and
314.Xr iasl 1
315utilities and some ACPI knowledge.
316.Sh TUNABLES
317.Bl -tag -width indent
318.It Va acpi_dsdt_load
319Enables loading of a custom ACPI DSDT.
320.It Va acpi_dsdt_name
321Name of the DSDT table to load, if loading is enabled.
327.It Va debug.acpi.disable
322.It Va debug.acpi.disabled
328Selectively disables portions of ACPI for debugging purposes.
329.It Va hint.acpi.0.disabled
330Disables all of ACPI.
331.It Va hw.acpi.ec.poll_timeout
332Delay in milliseconds to wait for the EC to respond.
333Try increasing this number if you get the error
334.Er AE_NO_HARDWARE_RESPONSE .
335.It Va hw.acpi.reset_video
336Enables calling the VESA reset BIOS vector on the resume path.
337Some graphic chips have problems such as LCD white-out after resume.
338Try setting this to 0 if this causes problems for you.
339.It Va hw.acpi.osname
340Some systems' ASL may have problems because they look for names
341of Microsoft operating systems.
342This tunable overrides the value of the
343.Qq Li \e_OS
344object from its default of
345.Qq Li FreeBSD .
346.It Va hw.acpi.pci.link.%d.%d.%d.irq
347Override the interrupt to use.
348.It Va hw.acpi.verbose
349Turn on verbose debugging information about what ACPI is doing.
350.El
351.Sh SYSCTLS
352.Bl -tag -width indent
353.It Va hw.acpi.cpu.throttle_max
354Maximum value for CPU throttling, equal to 100% of the clock rate.
355.It Va hw.acpi.cpu.throttle_state
356Get or set the current throttling state, from 1 to
357.Va hw.acpi.cpu.throttle_max .
358This scales back the CPU clock rate and the corresponding power consumption.
359.It Va hw.acpi.cpu.cx_history
360Debugging information listing all sleep states and the number of
361long and short sleeps for each one.
362The counters are reset when
363.Va hw.acpi.cpu.cx_lowest
364is modified.
365.It Va hw.acpi.cpu.cx_lowest
366Zero-based index of the lowest CPU idle state to use.
367A scheduling algorithm will select between 0...index for the state
368to use during the next sleep.
369To enable ACPI CPU idling control,
370.Va machdep.cpu_idle_hlt
371must be set to 1.
372.It Va hw.acpi.cpu.cx_supported
373List of supported CPU idle states and their transition latency
374in microseconds.
375Each state has a type, C1-3.
376C1 is equivalent to the ia32 HLT instruction, C2 provides a deeper
377sleep with the same semantics, and C3 provides the deepest sleep
378but additionally requires bus mastering to be disabled.
379Deeper sleeps provide more power savings but increased transition
380latency when an interrupt occurs.
381.El
382.Sh COMPATIBILITY
383ACPI is only found and supported on i386/ia32, ia64, and amd64.
384.Sh SEE ALSO
385.Xr kenv 1 ,
386.Xr acpi_thermal 4 ,
387.Xr device.hints 5 ,
388.Xr loader.conf 5 ,
389.Xr acpiconf 8 ,
390.Xr acpidump 8 ,
391.Xr config 8 ,
392.Xr iasl 8
393.Rs
394.%A "Compaq Computer Corporation"
395.%A "Intel Corporation"
396.%A "Microsoft Corporation"
397.%A "Phoenix Technologies Ltd."
398.%A "Toshiba Corporation"
399.%D August 25, 2003
400.%T "Advanced Configuration and Power Interface Specification"
401.%O http://acpi.info/spec.htm
402.Re
403.Sh AUTHORS
404.An -nosplit
405The ACPI CA subsystem is developed and maintained by
406Intel Architecture Labs.
407.Pp
408The following people made notable contributions to the ACPI subsystem
409in
410.Fx :
411.An Michael Smith ,
412.An Takanori Watanabe Aq takawata@jp.FreeBSD.org ,
413.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org ,
414.An Munehiro Matsuda ,
415.An Nate Lawson ,
416the ACPI-jp mailing list at
417.Aq acpi-jp@jp.FreeBSD.org ,
418and many other contributors.
419.Pp
420This manual page was written by
421.An Michael Smith Aq msmith@FreeBSD.org .
422.Sh BUGS
423If the
424.Nm
425driver is loaded as a module when it is already linked as part of the
426kernel, odd things may happen.
323Selectively disables portions of ACPI for debugging purposes.
324.It Va hint.acpi.0.disabled
325Disables all of ACPI.
326.It Va hw.acpi.ec.poll_timeout
327Delay in milliseconds to wait for the EC to respond.
328Try increasing this number if you get the error
329.Er AE_NO_HARDWARE_RESPONSE .
330.It Va hw.acpi.reset_video
331Enables calling the VESA reset BIOS vector on the resume path.
332Some graphic chips have problems such as LCD white-out after resume.
333Try setting this to 0 if this causes problems for you.
334.It Va hw.acpi.osname
335Some systems' ASL may have problems because they look for names
336of Microsoft operating systems.
337This tunable overrides the value of the
338.Qq Li \e_OS
339object from its default of
340.Qq Li FreeBSD .
341.It Va hw.acpi.pci.link.%d.%d.%d.irq
342Override the interrupt to use.
343.It Va hw.acpi.verbose
344Turn on verbose debugging information about what ACPI is doing.
345.El
346.Sh SYSCTLS
347.Bl -tag -width indent
348.It Va hw.acpi.cpu.throttle_max
349Maximum value for CPU throttling, equal to 100% of the clock rate.
350.It Va hw.acpi.cpu.throttle_state
351Get or set the current throttling state, from 1 to
352.Va hw.acpi.cpu.throttle_max .
353This scales back the CPU clock rate and the corresponding power consumption.
354.It Va hw.acpi.cpu.cx_history
355Debugging information listing all sleep states and the number of
356long and short sleeps for each one.
357The counters are reset when
358.Va hw.acpi.cpu.cx_lowest
359is modified.
360.It Va hw.acpi.cpu.cx_lowest
361Zero-based index of the lowest CPU idle state to use.
362A scheduling algorithm will select between 0...index for the state
363to use during the next sleep.
364To enable ACPI CPU idling control,
365.Va machdep.cpu_idle_hlt
366must be set to 1.
367.It Va hw.acpi.cpu.cx_supported
368List of supported CPU idle states and their transition latency
369in microseconds.
370Each state has a type, C1-3.
371C1 is equivalent to the ia32 HLT instruction, C2 provides a deeper
372sleep with the same semantics, and C3 provides the deepest sleep
373but additionally requires bus mastering to be disabled.
374Deeper sleeps provide more power savings but increased transition
375latency when an interrupt occurs.
376.El
377.Sh COMPATIBILITY
378ACPI is only found and supported on i386/ia32, ia64, and amd64.
379.Sh SEE ALSO
380.Xr kenv 1 ,
381.Xr acpi_thermal 4 ,
382.Xr device.hints 5 ,
383.Xr loader.conf 5 ,
384.Xr acpiconf 8 ,
385.Xr acpidump 8 ,
386.Xr config 8 ,
387.Xr iasl 8
388.Rs
389.%A "Compaq Computer Corporation"
390.%A "Intel Corporation"
391.%A "Microsoft Corporation"
392.%A "Phoenix Technologies Ltd."
393.%A "Toshiba Corporation"
394.%D August 25, 2003
395.%T "Advanced Configuration and Power Interface Specification"
396.%O http://acpi.info/spec.htm
397.Re
398.Sh AUTHORS
399.An -nosplit
400The ACPI CA subsystem is developed and maintained by
401Intel Architecture Labs.
402.Pp
403The following people made notable contributions to the ACPI subsystem
404in
405.Fx :
406.An Michael Smith ,
407.An Takanori Watanabe Aq takawata@jp.FreeBSD.org ,
408.An Mitsuru IWASAKI Aq iwasaki@jp.FreeBSD.org ,
409.An Munehiro Matsuda ,
410.An Nate Lawson ,
411the ACPI-jp mailing list at
412.Aq acpi-jp@jp.FreeBSD.org ,
413and many other contributors.
414.Pp
415This manual page was written by
416.An Michael Smith Aq msmith@FreeBSD.org .
417.Sh BUGS
418If the
419.Nm
420driver is loaded as a module when it is already linked as part of the
421kernel, odd things may happen.