diff options
Diffstat (limited to 'static/freebsd/man4/hpet.4 3.html')
| -rw-r--r-- | static/freebsd/man4/hpet.4 3.html | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/static/freebsd/man4/hpet.4 3.html b/static/freebsd/man4/hpet.4 3.html new file mode 100644 index 00000000..f3988d55 --- /dev/null +++ b/static/freebsd/man4/hpet.4 3.html @@ -0,0 +1,90 @@ +<table class="head"> + <tr> + <td class="head-ltitle">HPET(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">HPET(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">hpet</code> — <span class="Nd">High + Precision Event Timer driver</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp">To compile this driver into the kernel, place the following lines + in your kernel configuration file:</p> +<div class="Bd Pp Bd-indent"><code class="Cd">device acpi</code></div> +<p class="Pp">The following tunables are settable from the + <a class="Xr">loader(8)</a>:</p> +<dl class="Bl-ohang"> + <dt id="hint.hpet."><var class="Va">hint.hpet.</var><var class="Ar">X</var><var class="Va">.allowed_irqs</var></dt> + <dd>is a 32bit mask. Each set bit allows driver to use respective IRQ, if BIOS + also set respective capability bit in comparator's configuration register. + Default value is 0xffff0000, except some known broken hardware.</dd> + <dt id="hint.hpet.~2"><var class="Va">hint.hpet.</var><var class="Ar">X</var><var class="Va">.clock</var></dt> + <dd>controls event timers functionality support. Setting to 0, disables it. + Default value is 1.</dd> + <dt id="hint.hpet.~3"><var class="Va">hint.hpet.</var><var class="Ar">X</var><var class="Va">.legacy_route</var></dt> + <dd>controls "LegacyReplacement Route" mode. If enabled, HPET will + steal IRQ0 of i8254 timer and IRQ8 of RTC. Before using it, make sure that + respective drivers are not using interrupts, by setting also: + <div class="Bd Pp Li"> + <pre>hint.attimer.0.clock=0 +hint.atrtc.0.clock=0</pre> + </div> + Default value is 0.</dd> + <dt id="hint.hpet.~4"><var class="Va">hint.hpet.</var><var class="Ar">X</var><var class="Va">.per_cpu</var></dt> + <dd>controls how much per-CPU event timers should driver attempt to register. + This functionality requires every comparator in a group to have own + unshared IRQ, so it depends on hardware capabilities and interrupts + configuration. Default value is 1.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">This driver uses High Precision Event Timer hardware (part of the + chipset, usually enumerated via ACPI) to supply kernel with one time counter + and several (usually from 3 to 8) event timers. This hardware includes + single main counter with known increment frequency (10MHz or more), and + several programmable comparators (optionally with automatic reload feature). + When value of the main counter matches current value of any comparator, + interrupt can be generated. Depending on hardware capabilities and + configuration, interrupt can be delivered as regular I/O APIC interrupt (ISA + or PCI) in range from 0 to 31, or as Front Side Bus interrupt, alike to PCI + MSI interrupts, or in so called "LegacyReplacement Route" HPET can + steal IRQ0 of i8254 and IRQ8 of the RTC. Interrupt can be either edge- or + level-triggered. In last case they could be safely shared with PCI IRQs. + Driver prefers to use FSB interrupts, if supported, to avoid sharing. If it + is not possible, it uses single sharable IRQ from PCI range. Other modes + (LegacyReplacement and ISA IRQs) require special care to setup, but could be + configured manually via device hints.</p> +<p class="Pp">Event timers provided by the driver support both one-shot an + periodic modes and irrelevant to CPU power states.</p> +<p class="Pp">Depending on hardware capabilities and configuration, driver can + expose each comparator as separate event timer or group them into one or + several per-CPU event timers. In last case interrupt of every of those + comparators within group is bound to specific CPU core. This is possible + only when each of these comparators has own unsharable IRQ.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">acpi(4)</a>, <a class="Xr">apic(4)</a>, + <a class="Xr">atrtc(4)</a>, <a class="Xr">attimer(4)</a>, + <a class="Xr">eventtimers(4)</a>, <a class="Xr">timecounters(4)</a></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The <code class="Nm">hpet</code> driver first appeared in + <span class="Ux">FreeBSD 6.3</span>. Support for event timers was added in + <span class="Ux">FreeBSD 9.0</span>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">September 14, 2010</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
