Module Name: src Committed By: jruoho Date: Mon Jun 6 16:52:16 UTC 2011
Modified Files: src/distrib/sets/lists/man: mi src/share/man/man4/man4.x86: Makefile Added Files: src/share/man/man4/man4.x86: apic.4 Removed Files: src/share/man/man4/man4.x86: ioapic.4 Log Message: Instead of ioapic(4), make MLINKS { lapic(4), ioapic(4) } to apic(4). To generate a diff of this commit: cvs rdiff -u -r1.1318 -r1.1319 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.9 -r1.10 src/share/man/man4/man4.x86/Makefile cvs rdiff -u -r0 -r1.1 src/share/man/man4/man4.x86/apic.4 cvs rdiff -u -r1.4 -r0 src/share/man/man4/man4.x86/ioapic.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/man/mi diff -u src/distrib/sets/lists/man/mi:1.1318 src/distrib/sets/lists/man/mi:1.1319 --- src/distrib/sets/lists/man/mi:1.1318 Sat Jun 4 18:27:39 2011 +++ src/distrib/sets/lists/man/mi Mon Jun 6 16:52:15 2011 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1318 2011/06/04 18:27:39 jruoho Exp $ +# $NetBSD: mi,v 1.1319 2011/06/06 16:52:15 jruoho Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -1792,6 +1792,7 @@ ./usr/share/man/cat4/x68k/pow.0 man-sys-catman .cat ./usr/share/man/cat4/x68k/vs.0 man-sys-catman .cat ./usr/share/man/cat4/x86/amdpcib.0 man-sys-catman .cat +./usr/share/man/cat4/x86/apic.0 man-sys-catman .cat ./usr/share/man/cat4/x86/balloon.0 man-sys-catman .cat ./usr/share/man/cat4/x86/coretemp.0 man-sys-catman .cat ./usr/share/man/cat4/x86/est.0 man-sys-catman .cat @@ -1799,6 +1800,7 @@ ./usr/share/man/cat4/x86/hpet.0 man-sys-catman .cat ./usr/share/man/cat4/x86/ichlpcib.0 man-sys-catman .cat ./usr/share/man/cat4/x86/ioapic.0 man-sys-catman .cat +./usr/share/man/cat4/x86/lapic.0 man-sys-catman .cat ./usr/share/man/cat4/x86/odcm.0 man-sys-catman .cat ./usr/share/man/cat4/x86/powernow.0 man-sys-catman .cat ./usr/share/man/cat4/xbd.0 man-sys-catman .cat @@ -4499,6 +4501,7 @@ ./usr/share/man/html4/x68k/pow.html man-sys-htmlman html ./usr/share/man/html4/x68k/vs.html man-sys-htmlman html ./usr/share/man/html4/x86/amdpcib.html man-sys-htmlman html +./usr/share/man/html4/x86/apic.html man-sys-htmlman html ./usr/share/man/html4/x86/balloon.html man-sys-htmlman html ./usr/share/man/html4/x86/coretemp.html man-sys-htmlman html ./usr/share/man/html4/x86/est.html man-sys-htmlman html @@ -4506,6 +4509,7 @@ ./usr/share/man/html4/x86/hpet.html man-sys-htmlman html ./usr/share/man/html4/x86/ichlpcib.html man-sys-htmlman html ./usr/share/man/html4/x86/ioapic.html man-sys-htmlman html +./usr/share/man/html4/x86/lapic.html man-sys-htmlman html ./usr/share/man/html4/x86/odcm.html man-sys-htmlman html ./usr/share/man/html4/x86/powernow.html man-sys-htmlman html ./usr/share/man/html4/xbd.html man-sys-htmlman html @@ -7141,6 +7145,7 @@ ./usr/share/man/man4/x68k/pow.4 man-sys-man .man ./usr/share/man/man4/x68k/vs.4 man-sys-man .man ./usr/share/man/man4/x86/amdpcib.4 man-sys-man .man +./usr/share/man/man4/x86/apic.4 man-sys-man .man ./usr/share/man/man4/x86/balloon.4 man-sys-man .man ./usr/share/man/man4/x86/coretemp.4 man-sys-man .man ./usr/share/man/man4/x86/est.4 man-sys-man .man @@ -7148,6 +7153,7 @@ ./usr/share/man/man4/x86/hpet.4 man-sys-man .man ./usr/share/man/man4/x86/ichlpcib.4 man-sys-man .man ./usr/share/man/man4/x86/ioapic.4 man-sys-man .man +./usr/share/man/man4/x86/lapic.4 man-sys-man .man ./usr/share/man/man4/x86/odcm.4 man-sys-man .man ./usr/share/man/man4/x86/powernow.4 man-sys-man .man ./usr/share/man/man4/xbd.4 man-sys-man .man Index: src/share/man/man4/man4.x86/Makefile diff -u src/share/man/man4/man4.x86/Makefile:1.9 src/share/man/man4/man4.x86/Makefile:1.10 --- src/share/man/man4/man4.x86/Makefile:1.9 Fri Mar 4 05:56:49 2011 +++ src/share/man/man4/man4.x86/Makefile Mon Jun 6 16:52:16 2011 @@ -1,7 +1,10 @@ -# $NetBSD: Makefile,v 1.9 2011/03/04 05:56:49 jruoho Exp $ +# $NetBSD: Makefile,v 1.10 2011/06/06 16:52:16 jruoho Exp $ -MAN= amdpcib.4 balloon.4 coretemp.4 est.4 \ - fwhrng.4 hpet.4 ichlpcib.4 ioapic.4 odcm.4 powernow.4 +MAN= amdpcib.4 apic.4 balloon.4 coretemp.4 est.4 \ + fwhrng.4 hpet.4 ichlpcib.4 odcm.4 powernow.4 + +MLINKS+=apic.4 ioapic.4 \ + apic.4 lapic.4 MANSUBDIR=/x86 Added files: Index: src/share/man/man4/man4.x86/apic.4 diff -u /dev/null src/share/man/man4/man4.x86/apic.4:1.1 --- /dev/null Mon Jun 6 16:52:16 2011 +++ src/share/man/man4/man4.x86/apic.4 Mon Jun 6 16:52:15 2011 @@ -0,0 +1,174 @@ +.\" $NetBSD: apic.4,v 1.1 2011/06/06 16:52:15 jruoho Exp $ +.\" +.\" Copyright (c) 2011 Jukka Ruohonen <jruoho...@iki.fi> +.\" 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. Neither the name of the author nor the names of any +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" +.\" 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 FOUNDATION 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. +.\" +.Dd June 6, 2011 +.Dt APIC 4 x86 +.Os +.Sh NAME +.Nm apic , +.Nm ioapic , +.Nm lapic +.Nd Intel APIC Architecture +.Sh SYNOPSIS +.Cd "ioapic* at mainbus*" +.Sh DESCRIPTION +The +.Nm +subsystem provides basis for a system of advanced programmable +interrupt controllers +.Pq Tn APICs +originally designed by Intel but now widely used on all x86 systems. +.Pp +There are two elements in the architecture, the local +.Tn APIC +.Pq Tn LAPIC +and the +.Tn I/O APIC . +Historically these were connected by a dedicated 3-wire +.Dq APIC bus , +but the system bus is used for communication today. +The configuration is increasingly dependent on +.Tn ACPI . +.Pp +Typically each +.Tn CPU +in the system contains one +.Tn LAPIC +that performs two primary functions: +.Bl -enum -offset indent +.It +It receives interrupts both from internal sources and from the external +.Tn I/O APIC . +The interrupt sources include +.Tn I/O +devices, the programmable +.Tn APIC +timer, performance monitoring counters, +thermal sensor interrupts, and others. +.It +In multiprocessor +.Pq Tn MP +systems a +.Tn LAPIC +receives and sends interprocessor interrupts +.Pq Tn IPIs +from and to other processors in the system. +.Tn IPIs +are used to provide software interrupts, +interrupt forwarding, or preemptive scheduling. +Against this, the architecture can be generally seen as an attempt +to solve the interrupt routing efficiency issues in +.Tn MP +systems. +.El +.Pp +There is typically one +.Tn I/O APIC +for each peripheral bus in the system. +Each +.Tn I/O APIC +has a series of interrupt inputs to external interrupt sources. +The architecture usually contains a redirection table which can be used +to route the interrupts that an +.Tn I/O APIC +receives to one or more local +.Tn APICs . +When a +.Tn LAPIC +is able to accept an interrupt, it will signal the +.Tn CPU . +Without an +.Tn I/O APIC , +the local +.Tn APICs +are therefore mostly useless; one of the primary functions +of the architecture is no longer achievable, interrupts can +not be distributed to different +.Tn CPUs . +.Pp +The 8259 +.Tn PIC +has coexisted with the architecture since its introduction. +It is still possible to disable the +.Tn APIC +system and revert back to a 8259-compatible +.Tn PIC . +But the widespread use of +.Tn MP +systems has made this mainly a fallback option. +.Sh SEE ALSO +.Xr acpi 4 , +.Xr ichlpcib 4 , +.Xr mainbus 4 +.Rs +.%A Intel Corporation +.%T Intel 64 and IA-32 Architectures Software Developer's Manual +.%V Volume 3A: System Programming Guide, Part 1 +.%P Chapter 10 +.%D January, 2011 +.%U http://www.intel.com/Assets/PDF/manual/253668.pdf +.Re +.Rs +.%A Intel Corporation +.%T Intel 82093AA I/O Advanced Programmable +.%T Interrupt Controller (I/O APIC) Datasheet +.%D May, 1996 +.%U http://www.intel.com/design/chipsets/datashts/29056601.pdf +.Re +.Rs +.%A Intel Corporation +.%T 8259A, Programmable Interrupt Controller +.%D December, 1988 +.%U http://pdos.csail.mit.edu/6.828/2005/readings/hardware/8259A.pdf +.Re +.Rs +.%A John Baldwin +.%T PCI Interrupts for x86 Machines under FreeBSD +.%D May 18-19, 2007 +.%O Proceedings of BSDCan 2007 +.%U http://people.freebsd.org/~jhb/papers/bsdcan/2007/article.pdf +.Re +.Rs +.%A Microsoft Corporation +.%T PCI IRQ Routing on a Multiprocessor ACPI System +.%D December 4, 2001 +.%U http://www.microsoft.com/whdc/archive/acpi-mp.mspx +.Re +.Sh AUTHORS +.An -nosplit +Authors of the +.Nx +implementation of the Intel APIC Architecture include +.An Andrew Doran , +.An Bill Sommerfeld , +.An Frank van der Linden , +and +.An Stefan Grefen , +among others. +The older 8259 +.Tn PIC +implementation is based on the work of +.An William Jolitz .