diff options
Diffstat (limited to 'share/man/man4/man4.i386/apm.4')
-rw-r--r-- | share/man/man4/man4.i386/apm.4 | 146 |
1 files changed, 146 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..fbb8997 --- /dev/null +++ b/share/man/man4/man4.i386/apm.4 @@ -0,0 +1,146 @@ +.\" 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. +.Dd November 1, 1994 +.Dt APM 4 +.Os +.Sh NAME +.Nm apm +.Nd APM BIOS interface +.Sh SYNOPSIS +.Cd options APM +.Cd device apm0 at isa? +.Sh DESCRIPTION +.Nm apm +is an interface to the Intel / Microsoft APM (Advanced Power Management) BIOS +on laptop PCs. +.Pp +.Nm apm +provides the following power management functions. +.Bl -enum -offset indent +.It +When the system wakes up from suspended mode, +.Nm apm +adjusts the system clock to RTC. +.It +When the system wakes up from suspended mode, +.Nm apm +passes a message to +.Xr syslogd 8 +comprising of system wakeup time and elapsed time during suspended mode. +.It +.Nm apm +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 apm +exports an application interface as a character device. Applications +can control APM, or retrieve APM status information via this interface. +.Nm apm +exports the following interfaces. These symbols are defined in +.Dq Pa /usr/include/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. +.Pp +Some APM implementations execute the HLT +.Pq Halt CPU until an interrupt occurs +instruction in the +.Dq Pa Idle CPU +call, while others do not. Thus enabling this may result in +redundant HLT executions because +.Dq Pa 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 Pa Idle CPU. +On some implementations that do not support CPU clock slowdown, APM +might not execute HLT. +.Nm apm +disables +.Sy APMIO_NOTHALTCPU +operation on such machines. +.Pp +The current version of +.Nm apm +does not call +.Dq Pa 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 +and +.Xr apmconf 8 . +.It +.Nm apm +polls APM events and handles the following events. +.Bl -column PMEV_POWERSTATECHANGEXXX "suspend system xxxxx" +.It Sy "Name " "Action " "Description" +.It Dv "PMEV_STANDBYREQ " No "suspend system " "standby request" +.It Dv "PMEV_SUSPENDREQ " No "suspend system " "suspend request" +.It Dv "PMEV_USERSUSPENDREQ " No "suspend system " "user suspend request" +.It Dv "PMEV_CRITSUSPEND " No "suspend system " "critical suspend request" +.It Dv "PMEV_NORMRESUME " No "resume system " "normal resume" +.It Dv "PMEV_CRITRESUME " No "resume system " "critical resume" +.It Dv "PMEV_STANDBYRESUME " No "resume system " "standby resume" +.It Dv "PMEV_BATTERYLOW " No "notify message " "battery low" +.It Dv "PMEV_UPDATETIME " No "adjust clock " "update time" +.El +.El +.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 isn't a problem for +MS-windows is that they use the real-mode interface.) If you see any +weird behaviour from your system with this code in use, unplug the +power and batteries ASAP, if not imidiately, and disable this code. +.Pp +We are very interested in getting this code working, so please send you +observations of any anormalous behaviour to us. +.Pp +When +.Nm apm +is active, calling the BIOS setup routine by using hotkeys, +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 spindown, LCD backlight control, and power on demand have not +been supported on the current version. +.Sh SEE ALSO +.Xr apm 8 , +.Xr zzz 8 , +.Xr apmconf 8 +.Sh AUTHOR +HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp> (Keio Univ., Japan) |