blob: 25426ae0bd8075dcfd2745833b870f0a8a73fff3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<table class="head">
<tr>
<td class="head-ltitle">APIC(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">APIC(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">apic</code> — <span class="Nd">Advanced
Programmable Interrupt Controller (APIC) driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">This driver is a mandatory part of amd64 kernel. To compile this
driver into i386 kernel, place the following line in your kernel
configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device apic</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.apic."><var class="Va">hint.apic.</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.apic.~2"><var class="Va">hint.apic.</var><var class="Ar">X</var><var class="Va">.disabled</var></dt>
<dd>Set this to 1 to disable APIC support, falling back to the legacy
PIC.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">There are two components in the Intel APIC system, the local APIC
(LAPIC) and the I/O APIC. There is one local APIC in each CPU in the system.
There is typically one I/O APIC for each peripheral bus in the system.</p>
<p class="Pp">Local APICs manage all external interrupts for a specific
processor. In addition, they are able to accept and generate inter-processor
interrupts (IPIs).</p>
<p class="Pp">I/O APICs contain a redirection table, which is used to route the
interrupts they receive from peripheral buses to one or more local
APICs.</p>
<p class="Pp">Each local APIC includes one 32-bit programmable timer. This
driver uses them to supply kernel with one event timer named
"LAPIC". Event timer provided by the driver supports both one-shot
and periodic modes. Because of local APIC nature it is per-CPU. The timer
frequency is not reported by the platform and so automatically measured by
the driver on the first use. Depending on CPU model this timer may stop in
C3 and deeper CPU sleep states. Driver automatically adjusts event timer
priority and reports it to prevent entering dangerous sleep states when it
is used.</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">atrtc(4)</a>, <a class="Xr">attimer(4)</a>,
<a class="Xr">eventtimers(4)</a>, <a class="Xr">hpet(4)</a></p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">June 19, 2020</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|