mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
apm.4: Trim down to describing the compat interface exposed by acpi(4)
Reviewed by: ziaee, imp Differential Revision: https://reviews.freebsd.org/D59938
This commit is contained in:
1 parent
247503fedb
commit
e10eb35d25
5 files changed
+59
-161
No files matched your search
@@ -51,6 +51,9 @@
|
||||
# xargs -n1 | sort | uniq -d;
|
||||
# done
|
||||
|
||||
# 20260930: apm(4) not i386-specific
|
||||
OLD_FILES+=usr/share/man/man4/i386/apm.4.gz
|
||||
|
||||
# 20260930: apmd(8) removed
|
||||
OLD_FILES+=etc/apmd.conf
|
||||
OLD_FILES+=etc/rc.d/apmd
|
||||
|
||||
@@ -57,6 +57,7 @@ MAN= aac.4 \
|
||||
${_bxe.4} \
|
||||
${_aout.4} \
|
||||
${_apic.4} \
|
||||
${_apm.4} \
|
||||
aq.4 \
|
||||
arcmsr.4 \
|
||||
arswitch.4 \
|
||||
@@ -875,6 +876,7 @@ _acpi_wmi.4= acpi_wmi.4
|
||||
_aesni.4= aesni.4
|
||||
_aout.4= aout.4
|
||||
_apic.4= apic.4
|
||||
_apm.4= apm.4
|
||||
_atrtc.4= atrtc.4
|
||||
_attimer.4= attimer.4
|
||||
_aibs.4= aibs.4
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
.\" LP (Laptop Package)
|
||||
.\"
|
||||
.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <[email protected]>
|
||||
.\"
|
||||
.\" 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 September 30, 2026
|
||||
.Dt APM 4 amd64
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm apm
|
||||
.Nd power management interface
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is an interface to power management on i386 and amd64.
|
||||
This interface was originally designed to support the Advanced Power Management
|
||||
(APM) BIOS extension on i386.
|
||||
However, the interface is now implemented by
|
||||
.Xr acpi 4.
|
||||
.Pp
|
||||
.Nm
|
||||
exports an application interface as a character device.
|
||||
Applications such as
|
||||
.Xr apm 8
|
||||
can control APM, or retrieve APM status information via this interface.
|
||||
The following
|
||||
.Xr ioctl 2
|
||||
commands are defined in
|
||||
.In machine/apm_bios.h :
|
||||
.Bl -tag -width 4n -offset indent
|
||||
.It Sy APMIO_SUSPEND
|
||||
Suspend system (typically using S3).
|
||||
.It Sy APMIO_GETINFO
|
||||
Get power management information.
|
||||
.It Sy APMIO_STANDBY
|
||||
Suspend system (typically using S1).
|
||||
.It Sy APMIO_GETPWSTATUS
|
||||
Get per battery information.
|
||||
.El
|
||||
.Sh FILES
|
||||
.Bl -tag -width "/dev/apm" -compact
|
||||
.It Pa /dev/apm
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr apm 8 ,
|
||||
.Xr zzz 8
|
||||
.Sh AUTHORS
|
||||
.An Tatsumi Hosokawa Aq Mt [email protected]
|
||||
@@ -1,5 +1,4 @@
|
||||
MAN= apm.4 \
|
||||
CPU_ELAN.4 \
|
||||
MAN= CPU_ELAN.4 \
|
||||
glxiic.4 \
|
||||
glxsb.4 \
|
||||
longrun.4 \
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
.\" LP (Laptop Package)
|
||||
.\"
|
||||
.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <[email protected]>
|
||||
.\"
|
||||
.\" 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 [email protected]
|
||||
.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.
|
||||
Reference in new issue
Block a user