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.\" $FreeBSD$ 26.\" 27.Dd November 21, 2022 28.Dt ACPI_THERMAL 4 29.Os 30.Sh NAME 31.Nm acpi_thermal 32.Nd ACPI thermal management subsystem 33.Sh SYNOPSIS 34.Cd "device acpi" 35.Sh DESCRIPTION 36The 37.Nm 38driver provides the thermal management features of the ACPI module. 39This driver has a 40.Xr sysctl 8 41interface and a 42.Xr devd 8 43notification interface. 44The sysctls export properties of each ACPI thermal zone object. 45.Pp 46There can be multiple thermal zones in a system. 47For example, each CPU and the enclosure could all be separate thermal 48zones, each with its own setpoints and cooling devices. 49Thermal zones are numbered sequentially in the order they appear in 50the AML. 51.Pp 52The 53.Nm 54driver also activates the active cooling system according to 55each thermal zone's setpoints. 56.Sh SYSCTL VARIABLES 57.Bl -tag -width indent 58.It Va hw.acpi.thermal.min_runtime 59Number of seconds to continue active cooling once started. 60A new active cooling level will not be selected until this interval expires. 61.It Va hw.acpi.thermal.polling_rate 62Number of seconds between polling the current temperature. 63.It Va hw.acpi.thermal.user_override 64If set to 1, allow user override of various setpoints (below). 65The original values for these settings are obtained from the BIOS and 66system overheating and possible damage could occur if changed. 67Default is 0 (no override). 68.It Va hw.acpi.thermal.tz%d.active 69Current active cooling system state. 70If this is non-negative, the appropriate _AC%d object is running. 71Set this value to the desired active cooling level to force 72the corresponding fan object to the appropriate level. 73.It Va hw.acpi.thermal.tz%d.passive_cooling 74If set to 1, passive cooling is enabled. 75It does cooling without fans using 76.Xr cpufreq 4 77as the mechanism for controlling CPU speed. 78Default is enabled for tz0 where it is available. 79.It Va hw.acpi.thermal.tz%d.thermal_flags 80Current thermal zone status. 81These are bit-masked values. 82.It Va hw.acpi.thermal.tz%d.temperature 83Current temperature for this zone. 84.It Va hw.acpi.thermal.tz%d._PSV 85Temperature to start passive cooling by throttling down CPU, etc. 86This value can be overridden by the user. 87.It Va hw.acpi.thermal.tz%d._CR3 88Temperature to start critical suspend to RAM (S3). 89This value can be overridden by the user. 90.It Va hw.acpi.thermal.tz%d._HOT 91Temperature to start critical suspend to disk (S4). 92This value can be overridden by the user. 93.It Va hw.acpi.thermal.tz%d._CRT 94Temperature to start critical shutdown (S5). 95This value can be overridden by the user. 96.It Va hw.acpi.thermal.tz%d._ACx 97Temperatures at which to switch to the corresponding active cooling 98level. 99The lower the _ACx value, the higher the cooling power. 100.El 101.Pp 102All temperatures are printed in Celsius. 103Values can be set in Celsius (by providing a trailing 104.Qq C ) 105or Kelvin (by leaving off any trailing letter). 106When setting a value by 107.Xr sysctl 8 , 108do not specify a trailing decimal (i.e., 90C instead of 90.0C). 109.Sh NOTIFIES 110Notifies are passed to userland via 111.Xr devd 8 . 112See 113.Pa /etc/devd.conf 114and 115.Xr devd.conf 5 116for examples. 117The 118.Nm 119driver sends events with the following attributes: 120.Pp 121.Bl -tag -width "subsystem" -compact 122.It system 123.Li ACPI 124.It subsystem 125.Li Thermal 126.It type 127The fully qualified thermal zone object path as in the ASL. 128.It notify 129An integer designating the event: 130.Pp 131.Bl -tag -width indent -compact 132.It Li 0x80 133Current temperature has changed. 134.It Li 0x81 135One or more trip points (_ACx, _PSV) have changed. 136.It Li 0x82 137One or more device lists (_ALx, _PSL, _TZD) have changed. 138.It Li 0xcc 139Non-standard notify that the system will shutdown if the temperature 140stays above _CRT or _HOT for one more poll cycle. 141.El 142.El 143.Sh SEE ALSO 144.Xr acpi 4 , 145.Xr cpufreq 4 , 146.Xr acpidump 8 147.Sh AUTHORS 148.An -nosplit 149.An Michael Smith 150.Pp 151This manual page was written by 152.An Takanori Watanabe . 153