ATTIMER(4)
π ATTIMER(4) β the i8254 Programmable Interval Timer (AT Timer) driver, bestie edition
okay so we're diving into the attimer man page from section 4 (that's kernel interfaces, iykyk) and honestly? it's giving hardware girlie. let's get into it π
β¨ NAME β¨
attimer β the i8254 Programmable Interval Timer (AT Timer) driver. that's it, that's the name, she's iconic π
πΈ SYNOPSIS πΈ
real talk: this driver is a mandatory part of x86 kernels. like, you can't just opt out. she's required, she's booked, she's booked and busy π
the following tunables are settable from the loader(8):
hint.attimer.X.clockβ this one controls support for the event timer functionality. set it to0and it's disabled, no cap. the default value is1.hint.attimer.X.timecounterβ and this one controls support for the time counter functionality. set it to0to disable it. default value is1again, bestie, she's consistent β¨hw.i8254.freqβ this lets you override the default counter frequency. and guess what, the same value is also available at run-time via themachdep.i8254_freqsysctl. two ways to peek, slay π
π DESCRIPTION π
okay so here's the tea β
this driver uses the 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. multitasking queen, truly π
this hardware includes three channels. each channel includes a 16 bit counter which decreases with a known, platform-dependent frequency. and the counters can operate in several different modes, including periodic and one-shot β versatile much? π
now the output of each channel has platform-defined wiring, and the way it's set up is:
- 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. and as a result of that whole situation, the one-shot event timer mode is supported only when time counter functionality is disabled. read that again, it matters, fr fr π
also important: the event timer provided by the driver is irrelevant to CPU power states. like, not related at all, don't @ me π
π¦ SEE ALSO π¦
go read those too, they're the friend group π«Ά
and that's the whole vibe, bestie π this one came from Debian, dated May 26, 2014 β vintage but still serving. stay nerdy, stay hydrated, and may your counters always be periodic β¨π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2010 Alexander Motin <mav@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms