1.\" Copyright (c) 2003 Takanori Watanabe. 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.Dd March 17, 2007 26.Dt ACPI_THERMAL 4 27.Os 28.Sh NAME 29.Nm acpi_thermal 30.Nd ACPI thermal management subsystem 31.Sh SYNOPSIS 32.Cd "device acpi" 33.Sh DESCRIPTION 34The 35.Nm 36driver provides the thermal management features of the ACPI module. 37This driver has a 38.Xr sysctl 8 39interface and a 40.Xr devd 8 41notification interface. 42The sysctls export properties of each ACPI thermal zone object. 43.Pp 44There can be multiple thermal zones in a system. 45For example, each CPU and the enclosure could all be separate thermal 46zones, each with its own setpoints and cooling devices. 47Thermal zones are numbered sequentially in the order they appear in 48the AML. 49.Pp 50The 51.Nm 52driver also activates the active cooling system according to 53each thermal zone's setpoints. 54.Sh SYSCTL VARIABLES 55.Bl -tag -width indent 56.It Va hw.acpi.thermal.min_runtime 57Number of seconds to continue active cooling once started. 58A new active cooling level will not be selected until this interval expires. 59.It Va hw.acpi.thermal.polling_rate 60Number of seconds between polling the current temperature. 61.It Va hw.acpi.thermal.user_override 62If set to 1, allow user override of various setpoints (below). 63The original values for these settings are obtained from the BIOS and 64system overheating and possible damage could occur if changed. 65Default is 0 (no override). 66.It Va hw.acpi.thermal.tz%d.active 67Current active cooling system state. 68If this is non-negative, the appropriate _AC%d object is running. 69Set this value to the desired active cooling level to force 70the corresponding fan object to the appropriate level. 71.It Va hw.acpi.thermal.tz%d.passive_cooling 72If set to 1, passive cooling is enabled. 73It does cooling without fans using 74.Xr cpufreq 4 75as the mechanism for controlling CPU speed. 76Default is enabled for tz0 where it is available. 77.It Va hw.acpi.thermal.tz%d.thermal_flags 78Current thermal zone status. 79These are bit-masked values. 80.It Va hw.acpi.thermal.tz%d.temperature 81Current temperature for this zone. 82.It Va hw.acpi.thermal.tz%d._PSV 83Temperature to start passive cooling by throttling down CPU, etc. 84This value can be overridden by the user. 85.It Va hw.acpi.thermal.tz%d._HOT 86Temperature to start critical suspend to disk (S4). 87This value can be overridden by the user. 88.It Va hw.acpi.thermal.tz%d._CRT 89Temperature to start critical shutdown (S5). 90This value can be overridden by the user. 91.It Va hw.acpi.thermal.tz%d._ACx 92Temperatures at which to switch to the corresponding active cooling 93level. 94The lower the _ACx value, the higher the cooling power. 95.El 96.Pp 97All temperatures are printed in Celsius. 98Values can be set in Celsius (by providing a trailing 99.Qq C ) 100or Kelvin (by leaving off any trailing letter). 101When setting a value by 102.Xr sysctl 8 , 103do not specify a trailing decimal (i.e., 90C instead of 90.0C). 104.Sh NOTIFIES 105Notifies are passed to userland via 106.Xr devd 8 . 107See 108.Pa /etc/devd.conf 109and 110.Xr devd.conf 5 111for examples. 112The 113.Nm 114driver sends events with the following attributes: 115.Pp 116.Bl -tag -width "subsystem" -compact 117.It system 118.Li ACPI 119.It subsystem 120.Li Thermal 121.It type 122The fully qualified thermal zone object path as in the ASL. 123.It notify 124An integer designating the event: 125.Pp 126.Bl -tag -width indent -compact 127.It Li 0x80 128Current temperature has changed. 129.It Li 0x81 130One or more trip points (_ACx, _PSV) have changed. 131.It Li 0x82 132One or more device lists (_ALx, _PSL, _TZD) have changed. 133.It Li 0xcc 134Non-standard notify that the system will shutdown if the temperature 135stays above _CRT or _HOT for one more poll cycle. 136.El 137.El 138.Sh SEE ALSO 139.Xr acpi 4 , 140.Xr cpufreq 4 , 141.Xr acpidump 8 142.Sh AUTHORS 143.An -nosplit 144.An Michael Smith 145.Pp 146This manual page was written by 147.An Takanori Watanabe . 148