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 November 21, 2022 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._CR3 86Temperature to start critical suspend to RAM (S3). 87This value can be overridden by the user. 88.It Va hw.acpi.thermal.tz%d._HOT 89Temperature to start critical suspend to disk (S4). 90This value can be overridden by the user. 91.It Va hw.acpi.thermal.tz%d._CRT 92Temperature to start critical shutdown (S5). 93This value can be overridden by the user. 94.It Va hw.acpi.thermal.tz%d._ACx 95Temperatures at which to switch to the corresponding active cooling 96level. 97The lower the _ACx value, the higher the cooling power. 98.El 99.Pp 100All temperatures are printed in Celsius. 101Values can be set in Celsius (by providing a trailing 102.Qq C ) 103or Kelvin (by leaving off any trailing letter). 104When setting a value by 105.Xr sysctl 8 , 106do not specify a trailing decimal (i.e., 90C instead of 90.0C). 107.Sh NOTIFIES 108Notifies are passed to userland via 109.Xr devd 8 . 110See 111.Pa /etc/devd.conf 112and 113.Xr devd.conf 5 114for examples. 115The 116.Nm 117driver sends events with the following attributes: 118.Pp 119.Bl -tag -width "subsystem" -compact 120.It system 121.Li ACPI 122.It subsystem 123.Li Thermal 124.It type 125The fully qualified thermal zone object path as in the ASL. 126.It notify 127An integer designating the event: 128.Pp 129.Bl -tag -width indent -compact 130.It Li 0x80 131Current temperature has changed. 132.It Li 0x81 133One or more trip points (_ACx, _PSV) have changed. 134.It Li 0x82 135One or more device lists (_ALx, _PSL, _TZD) have changed. 136.It Li 0xcc 137Non-standard notify that the system will shutdown if the temperature 138stays above _CRT or _HOT for one more poll cycle. 139.El 140.El 141.Sh SEE ALSO 142.Xr acpi 4 , 143.Xr cpufreq 4 , 144.Xr acpidump 8 145.Sh AUTHORS 146.An -nosplit 147.An Michael Smith 148.Pp 149This manual page was written by 150.An Takanori Watanabe . 151