FreeBSD manual
download PDF document: i8254.0.pdf
ATTIMER(4) FreeBSD Kernel Interfaces Manual ATTIMER(4)
NAME
attimer - i8254 Programmable Interval Timer (AT Timer) driver
SYNOPSIS
This driver is a mandatory part of x86 kernels.
The following tunables are settable from the loader(8):
hint.attimer.X.clock
controls support for the event timer functionality. Setting this value
to 0 disables it. The default value is 1.
hint.attimer.X.timecounter
controls support for the time counter functionality. Setting this value
to 0 disables it. The default value is 1.
hw.i8254.freq
allows overriding the default counter frequency. The same value is also
available at run-time via the machdep.i8254_freq sysctl.
DESCRIPTION
This driver uses i8254 Programmable Interval Timer (AT Timer) hardware to
supply the kernel with one timecounter and one event timer, and to
generate sound tones for the system speaker. This hardware includes
three channels. Each channel includes a 16 bit counter which decreases
with a known, platform-dependent frequency. Counters can operate in
several different modes, including periodic and one-shot. The 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 the speaker and used to generate sound tones, and one timer is
reserved for platform purposes.
The attimer driver uses a single hardware channel to provide both time
counter and event timer functionality. To make this possible, the
respective counter must be running in periodic mode. As a result, the
one-shot event timer mode is supported only when time counter
functionality is disabled.
The event timer provided by the driver is irrelevant to CPU power states.
SEE ALSO
apic(4), atrtc(4), eventtimers(4), hpet(4), timecounters(4)
FreeBSD 14.0-RELEASE-p11 May 26, 2014 FreeBSD 14.0-RELEASE-p11