summaryrefslogtreecommitdiffstats
path: root/share/man/man4/man4.i386/apm.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/man4.i386/apm.4')
-rw-r--r--share/man/man4/man4.i386/apm.4158
1 files changed, 158 insertions, 0 deletions
diff --git a/share/man/man4/man4.i386/apm.4 b/share/man/man4/man4.i386/apm.4
new file mode 100644
index 0000000..6d7b524
--- /dev/null
+++ b/share/man/man4/man4.i386/apm.4
@@ -0,0 +1,158 @@
+.\" LP (Laptop Package)
+.\"
+.\" Copyright (c) 1994 by HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
+.\"
+.\" 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.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd November 1, 1994
+.Dt APM 4 i386
+.Os
+.Sh NAME
+.Nm apm
+.Nd APM BIOS interface
+.Sh SYNOPSIS
+.Cd device apm
+.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
+Tatsumi Hosokawa <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.
OpenPOWER on IntegriCloud