diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -655,7 +655,8 @@ xpt.4 \ zero.4 -MLINKS= ads111x.4 ads1013.4 \ +MLINKS= acpi.4 apm.4 +MLINKS+=ads111x.4 ads1013.4 \ ads111x.4 ads1014.4 \ ads111x.4 ads1015.4 \ ads111x.4 ads1113.4 \ diff --git a/share/man/man4/acpi.4 b/share/man/man4/acpi.4 --- a/share/man/man4/acpi.4 +++ b/share/man/man4/acpi.4 @@ -340,7 +340,7 @@ Multiple entries can be listed, separated by a space. .Pp ACPI sub-devices and features that can be disabled: -.Bl -tag -width ".Li sysresource" +.Bl -tag -width "sysresource" .It Li all Disable all ACPI features and devices. .It Li acad @@ -445,7 +445,7 @@ refer to. The supported layers are: .Pp -.Bl -tag -compact -width ".Li ACPI_CA_DISASSEMBLER" +.Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" .It Li ACPI_UTILITIES Utility ("ut") functions .It Li ACPI_HARDWARE @@ -502,7 +502,7 @@ .Pp The supported levels are: .Pp -.Bl -tag -compact -width ".Li ACPI_LV_AML_DISASSEMBLE" +.Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" .It Li ACPI_LV_INIT Initialization progress .It Li ACPI_LV_DEBUG_OBJECT @@ -594,6 +594,87 @@ and .Xr iasl 8 utilities and some ACPI knowledge. +.Sh APM INTERFACE +.Nm +exports a legacy APM-BIOS application interface as a character device. +Applications +can control APM, or retrieve APM status information via this interface. +.Nm +exports the following interfaces. +These symbols are defined in +.In x86/include/apm_bios.h . +.Pp +.Bl -tag -compact -width "ACPI_LV_AML_DISASSEMBLE" +.It Dv APMIO_SUSPEND +Suspend system +.It Dv APMIO_GET +Get power management information +.It Dv APMIO_ENABLE +.It Dv APMIO_DISABLE +Enable / Disable power management +.It Dv APMIO_GETPWSTATUS +Get per battery information +.It Dv APMIO_HALTCPU +.It Dv APMIO_NOTHALTCPU +Control execution of HLT in the kernel context switch routine +.Pp +Some APM implementations execute the HLT +(Halt CPU until an interrupt occurs) +instruction in the +.Dq Em Idle CPU +call, while others do not. +Thus enabling this may result in +redundant HLT executions because +.Dq Em Idle CPU +is called from the kernel context switch routine +that inherently executes HLT. +This may reduce peak system performance. +.Pp +Also the system hangs up if HLT instruction is disabled in the kernel +context switch routine, and if the APM implementation of the machine +does not execute HLT in +.Dq Em Idle CPU . +On some implementations that do not support CPU clock slowdown, +APM might not execute HLT. +.Nm +disables +.Dv APMIO_NOTHALTCPU +operation on such machines. +.Pp +The current version of +.Nm +does not call +.Dq Em Idle CPU +from the kernel context switch routine if clock slowdown is not supported, +and it executes HLT instruction by default. +Therefore, there is +no need to use these two operations in most cases. +.El +.Pp +These interfaces are used by +.Xr apm 8 . +.Pp +.It +The +.Nm +APM-BIOS interface also polls and handles the following events: +.Bl -column "xxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxx" "xxxxxxxx" +.It Sy "Name" Ta Sy "Action" Ta Sy "Description" +.It Dv "PMEV_STANDBYREQ" Ta No "suspend system" Ta "standby request" +.It Dv "PMEV_SUSPENDREQ" Ta No "suspend system" Ta "suspend request" +.It Dv "PMEV_USERSUSPENDREQ" Ta No "suspend system" Ta "user suspend request" +.It Dv "PMEV_CRITSUSPEND" Ta No "suspend system" Ta "critical suspend request" +.It Dv "PMEV_NORMRESUME" Ta No "resume system" Ta "normal resume" +.It Dv "PMEV_CRITRESUME" Ta No "resume system" Ta "critical resume" +.It Dv "PMEV_STANDBYRESUME" Ta No "resume system" Ta "standby resume" +.It Dv "PMEV_BATTERYLOW" Ta No "notify message" Ta "battery low" +.It Dv "PMEV_UPDATETIME" Ta No "adjust clock" Ta "update time" +.El +.Sh FILES +.Bl -tag -compact +.It Pa /dev/acpi +.It Pa /dev/apm +.El .Sh COMPATIBILITY ACPI is only found and supported on i386/ia32 and amd64. .Sh SEE ALSO diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile --- a/share/man/man4/man4.i386/Makefile +++ b/share/man/man4/man4.i386/Makefile @@ -1,5 +1,4 @@ -MAN= apm.4 \ - CPU_ELAN.4 \ +MAN= CPU_ELAN.4 \ glxiic.4 \ glxsb.4 \ longrun.4 \ diff --git a/share/man/man4/man4.i386/apm.4 b/share/man/man4/man4.i386/apm.4 deleted file mode 100644 --- a/share/man/man4/man4.i386/apm.4 +++ /dev/null @@ -1,159 +0,0 @@ -.\" LP (Laptop Package) -.\" -.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi -.\" -.\" This software may be used, modified, copied, and distributed, in -.\" both source and binary form provided that the above copyright and -.\" these terms are retained. Under no circumstances is the author -.\" responsible for the proper functioning of this software, nor does -.\" the author assume any responsibility for damages incurred with its -.\" use. -.\" -.Dd November 1, 1994 -.Dt APM 4 i386 -.Os -.Sh NAME -.Nm apm -.Nd APM BIOS interface -.Sh SYNOPSIS -.Cd device apm -.Sh DEPRECATION NOTICE -This driver is scheduled for removal prior to the release of -.Fx 13.0 . -.Sh DESCRIPTION -.Nm -is an interface to the Intel / Microsoft APM (Advanced Power Management) BIOS -on laptop PCs. -.Pp -.Nm -provides the following power management functions. -.Bl -enum -offset indent -.It -When the system wakes up from suspended mode, -.Nm -adjusts the system clock to RTC. -.It -When the system wakes up from suspended mode, -.Nm -passes a message to -.Xr syslogd 8 -comprising of system wakeup time and elapsed time during suspended mode. -.It -.Nm -slows CPU clock when there are no system activities (runnable processes, -interrupts, etc.). -This function is available only on systems whose APM -supports CPU idling. -.It -.Nm -exports an application interface as a character device. -Applications -can control APM, or retrieve APM status information via this interface. -.Nm -exports the following interfaces. -These symbols are defined in -.In machine/apm_bios.h . -.Bl -tag -width 4n -offset indent -.It Sy APMIO_SUSPEND -Suspend system. -.It Sy APMIO_GET -Get power management information. -.It Sy APMIO_ENABLE -.It Sy APMIO_DISABLE -Enable / Disable power management. -.It Sy APMIO_HALTCPU -.It Sy APMIO_NOTHALTCPU -Control execution of HLT in the kernel context switch routine. -.It Sy APMIO_GETPWSTATUS -Get per battery information. -.Pp -Some APM implementations execute the HLT -(Halt CPU until an interrupt occurs) -instruction in the -.Dq Em Idle CPU -call, while others do not. -Thus enabling this may result in -redundant HLT executions because -.Dq Em Idle CPU -is called from the kernel context switch routine that inherently executes -HLT. -This may reduce peak system performance. -.Pp -Also the system hangs up if HLT instruction is disabled in the kernel -context switch routine, and if the APM implementation of the machine -does not execute HLT in -.Dq Em Idle CPU . -On some implementations that do not support CPU clock slowdown, APM -might not execute HLT. -.Nm -disables -.Sy APMIO_NOTHALTCPU -operation on such machines. -.Pp -The current version of -.Nm -does not call -.Dq Em Idle CPU -from the kernel context switch routine if clock slowdown is not supported, -and it executes HLT instruction by default. -Therefore, there is -no need to use these two operations in most cases. -.El -.Pp -These interfaces are used by -.Xr apm 8 . -.It -.Nm -polls APM events and handles the following events. -.Bl -column "xxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxx" "xxxxxxxx" -.It Sy "Name" Ta Sy "Action" Ta Sy "Description" -.It Dv "PMEV_STANDBYREQ" Ta No "suspend system" Ta "standby request" -.It Dv "PMEV_SUSPENDREQ" Ta No "suspend system" Ta "suspend request" -.It Dv "PMEV_USERSUSPENDREQ" Ta No "suspend system" Ta "user suspend request" -.It Dv "PMEV_CRITSUSPEND" Ta No "suspend system" Ta "critical suspend request" -.It Dv "PMEV_NORMRESUME" Ta No "resume system" Ta "normal resume" -.It Dv "PMEV_CRITRESUME" Ta No "resume system" Ta "critical resume" -.It Dv "PMEV_STANDBYRESUME" Ta No "resume system" Ta "standby resume" -.It Dv "PMEV_BATTERYLOW" Ta No "notify message" Ta "battery low" -.It Dv "PMEV_UPDATETIME" Ta No "adjust clock" Ta "update time" -.El -.El -.Sh SEE ALSO -.Xr apm 8 , -.Xr zzz 8 -.Sh AUTHORS -.An Tatsumi Hosokawa Aq Mt hosokawa@jp.FreeBSD.org -.Sh BUGS -WARNING! -Many, if not most, of the implementations of APM-bios in laptops -today are buggy. -You may be putting your LCD-display and batteries at -a risk by using this interface. -(The reason this is not a problem for -MS-Windows is that they use the real-mode interface.) -If you see any -weird behavior from your system with this code in use, unplug the -power and batteries ASAP, if not immediately, and disable this code. -.Pp -We are very interested in getting this code working, so please send your -observations of any anomalous behavior to us. -.Pp -When -.Nm -is active, calling the BIOS setup routine by using hot-keys, -may cause serious trouble when resuming the system. -BIOS setup programs should be called during bootstrap, or from DOS. -.Pp -Some APM implementations cannot handle events such as pushing the -power button or closing the cover. -On such implementations, the system -.Ar must -be suspended -.Ar only -by using -.Xr apm 8 -or -.Xr zzz 8 . -.Pp -Disk spin-down, LCD backlight control, and power on demand have not -been supported on the current version. diff --git a/usr.sbin/apm/apm.8 b/usr.sbin/apm/apm.8 --- a/usr.sbin/apm/apm.8 +++ b/usr.sbin/apm/apm.8 @@ -73,9 +73,6 @@ call executes both CPU clock slowdown and HLT instruction, .Fl h Cm false is necessary to prevent the system from reducing its peak performance. -See -.Xr apm 4 -for details. .It Fl l Display the remaining battery percentage. If your laptop does not @@ -121,7 +118,7 @@ If multiple display options are given, the values are displayed one per line in the order given here. .Sh SEE ALSO -.Xr apm 4 , +.Xr acpi 4 , .Xr zzz 8 .Sh AUTHORS .An Tatsumi Hosokawa Aq Mt hosokawa@jp.FreeBSD.org diff --git a/usr.sbin/apmd/apmd.8 b/usr.sbin/apmd/apmd.8 --- a/usr.sbin/apmd/apmd.8 +++ b/usr.sbin/apmd/apmd.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 28, 1999 +.Dd November 11, 2025 .Dt APMD 8 i386 .Os .Sh NAME @@ -297,7 +297,7 @@ #} .Ed .Sh SEE ALSO -.Xr apm 4 , +.Xr acpi 4 , .Xr apm 8 .Sh HISTORY The diff --git a/usr.sbin/powerd/powerd.8 b/usr.sbin/powerd/powerd.8 --- a/usr.sbin/powerd/powerd.8 +++ b/usr.sbin/powerd/powerd.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd February 25, 2023 +.Dd November 12, 2025 .Dt POWERD 8 .Os .Sh NAME @@ -140,7 +140,6 @@ .El .Sh SEE ALSO .Xr acpi 4 , -.Xr apm 4 , .Xr cpufreq 4 , .Xr rc.conf 5 .Sh HISTORY diff --git a/usr.sbin/zzz/zzz.8 b/usr.sbin/zzz/zzz.8 --- a/usr.sbin/zzz/zzz.8 +++ b/usr.sbin/zzz/zzz.8 @@ -22,12 +22,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 13, 2003 +.Dd November 12, 2025 .Dt ZZZ 8 .Os .Sh NAME .Nm zzz -.Nd suspend an ACPI or APM system +.Nd suspend an ACPI system .Sh SYNOPSIS .Nm .Sh DESCRIPTION @@ -55,7 +55,6 @@ will be issued. .Sh SEE ALSO .Xr acpi 4 , -.Xr apm 4 , .Xr acpiconf 8 , .Xr apm 8 .Sh AUTHORS