aboutsummaryrefslogtreecommitdiff
path: root/share/man/man4/attimer.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/attimer.4')
-rw-r--r--share/man/man4/attimer.477
1 files changed, 77 insertions, 0 deletions
diff --git a/share/man/man4/attimer.4 b/share/man/man4/attimer.4
new file mode 100644
index 000000000000..751b9ea1a203
--- /dev/null
+++ b/share/man/man4/attimer.4
@@ -0,0 +1,77 @@
+.\" Copyright (c) 2010 Alexander Motin <mav@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd September 14, 2010
+.Dt ATTIMER 4
+.Os
+.Sh NAME
+.Nm attimer
+.Nd i8254 Programmable Interval Timer (AT Timer) driver
+.Sh SYNOPSIS
+This driver is a mandatory part of x86 kernels.
+.Pp
+The following tunables are settable from the
+.Xr loader 8 :
+.Bl -ohang
+.It Va hint.attimer. Ns Ar X Ns Va .clock
+controls event timers functionality support. Setting to 0, disables it.
+Default value is 1.
+.It Va hint.attimer. Ns Ar X Ns Va .timecounter
+controls time counter functionality support. Setting to 0, disables it.
+Default value is 1.
+.It Va hw.i8254.freq
+allows to override default counter frequency.
+The same value is also available in run-time via
+.Va machdep.i8254_freq
+sysctl.
+.El
+.Sh DESCRIPTION
+This driver uses i8254 Programmable Interval Timer (AT Timer) hardware
+to supply kernel with one time counter and one event timer, and generate
+sound tones for system speaker.
+This hardware includes three channels.
+Each channel includes 16bit counter, counting down with known,
+platform-dependent frequency.
+Counters can operate in several different modes, including periodic and
+one-shot.
+Output of each channel has platform-defined wiring: one channel is wired
+to the interrupt controller and may be used as event timer, one channel is
+wired to speaker and used to generate sound tones, and one timer is reserved
+for platform purposes.
+.Pp
+Driver uses single hardware channel to provide both time counter and event
+timer functionality.
+To make it possible, respective counter must be running in periodic more.
+As result, one-shot event timer mode supported only when time counter
+functionality is disabled.
+.Pp
+Event timer provided by the driver is irrelevant to CPU power states.
+.Sh SEE ALSO
+.Xr apic 4 ,
+.Xr atrtc 4 ,
+.Xr eventtimers 4 ,
+.Xr hpet 4 ,
+.Xr timecounters 4