aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-19 18:56:05 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-19 18:56:05 -0500
commitcf8c0d1dbcfaba56adde85b63190a8bceda0cd04 (patch)
tree870e47b308d77527d3e161f86832b66f44dfd45a /Documentation
parentd5c67bac833c6c9cc713f6a27daa77dcba898dd8 (diff)
parent156fbc3fbe4ab640297b1ae2092821363840aeb6 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits) x86: fix page_is_ram() thinko x86: fix WARN_ON() message: teach page_is_ram() about the special 4Kb bios data page x86: i8259A: remove redundant irq_descinitialization x86: fix vdso_install breaks user "make install" x86: change IO delay back to 0x80 x86: lds - Use THREAD_SIZE instead of numeric constant x86: lds - Use PAGE_SIZE instead of numeric constant x86 cleanup: suspend_asm_64.S - use X86_CR4_PGE instead of numeric value x86: docs fixes to Documentation/i386/IO-APIC.txt x86: fix printout ugliness in cpu info printk x86: clean up csum-wrappers_64.c some more x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c x86: coding style fixes in arch/x86/lib/io_64.c x86: exclude vsyscall files from stackprotect x86: add pgd_large() on 64-bit, for consistency x86: minor cleanup of comments in processor.h x86: annotate pci/common.s:pci_scan_bus_with_sysdata with __devinit x86: fix section mismatch in head_64.S:initial_code x86: fix section mismatch in srat_64.c:reserve_hotadd x86: fix section mismatch warning in topology.c:arch_register_cpu ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/i386/IO-APIC.txt32
-rw-r--r--Documentation/kernel-parameters.txt2
2 files changed, 17 insertions, 17 deletions
diff --git a/Documentation/i386/IO-APIC.txt b/Documentation/i386/IO-APIC.txt
index 435e69e6e9aa..f95166645d29 100644
--- a/Documentation/i386/IO-APIC.txt
+++ b/Documentation/i386/IO-APIC.txt
@@ -1,12 +1,14 @@
1Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC', 1Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC',
2which is an enhanced interrupt controller, it enables us to route 2which is an enhanced interrupt controller. It enables us to route
3hardware interrupts to multiple CPUs, or to CPU groups. 3hardware interrupts to multiple CPUs, or to CPU groups. Without an
4IO-APIC, interrupts from hardware will be delivered only to the
5CPU which boots the operating system (usually CPU#0).
4 6
5Linux supports all variants of compliant SMP boards, including ones with 7Linux supports all variants of compliant SMP boards, including ones with
6multiple IO-APICs. (multiple IO-APICs are used in high-end servers to 8multiple IO-APICs. Multiple IO-APICs are used in high-end servers to
7distribute IRQ load further). 9distribute IRQ load further.
8 10
9There are (a few) known breakages in certain older boards, which bugs are 11There are (a few) known breakages in certain older boards, such bugs are
10usually worked around by the kernel. If your MP-compliant SMP board does 12usually worked around by the kernel. If your MP-compliant SMP board does
11not boot Linux, then consult the linux-smp mailing list archives first. 13not boot Linux, then consult the linux-smp mailing list archives first.
12 14
@@ -28,18 +30,18 @@ If your box boots fine with enabled IO-APIC IRQs, then your
28 hell:~> 30 hell:~>
29 <---------------------------- 31 <----------------------------
30 32
31some interrupts are still listed as 'XT PIC', but this is not a problem, 33Some interrupts are still listed as 'XT PIC', but this is not a problem;
32none of those IRQ sources is performance-critical. 34none of those IRQ sources is performance-critical.
33 35
34 36
35in the unlikely case that your board does not create a working mp-table, 37In the unlikely case that your board does not create a working mp-table,
36you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This 38you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This
37is nontrivial though and cannot be automated. One sample /etc/lilo.conf 39is non-trivial though and cannot be automated. One sample /etc/lilo.conf
38entry: 40entry:
39 41
40 append="pirq=15,11,10" 42 append="pirq=15,11,10"
41 43
42the actual numbers depend on your system, on your PCI cards and on their 44The actual numbers depend on your system, on your PCI cards and on their
43PCI slot position. Usually PCI slots are 'daisy chained' before they are 45PCI slot position. Usually PCI slots are 'daisy chained' before they are
44connected to the PCI chipset IRQ routing facility (the incoming PIRQ1-4 46connected to the PCI chipset IRQ routing facility (the incoming PIRQ1-4
45lines): 47lines):
@@ -54,7 +56,7 @@ lines):
54 PIRQ1 ----| |- `----| |- `----| |- `----| |--------| | 56 PIRQ1 ----| |- `----| |- `----| |- `----| |--------| |
55 `-' `-' `-' `-' `-' 57 `-' `-' `-' `-' `-'
56 58
57every PCI card emits a PCI IRQ, which can be INTA,INTB,INTC,INTD: 59Every PCI card emits a PCI IRQ, which can be INTA, INTB, INTC or INTD:
58 60
59 ,-. 61 ,-.
60 INTD--| | 62 INTD--| |
@@ -95,21 +97,21 @@ card (IRQ11) in Slot3, and have Slot1 empty:
95[value '0' is a generic 'placeholder', reserved for empty (or non-IRQ emitting) 97[value '0' is a generic 'placeholder', reserved for empty (or non-IRQ emitting)
96slots.] 98slots.]
97 99
98generally, it's always possible to find out the correct pirq= settings, just 100Generally, it's always possible to find out the correct pirq= settings, just
99permute all IRQ numbers properly ... it will take some time though. An 101permute all IRQ numbers properly ... it will take some time though. An
100'incorrect' pirq line will cause the booting process to hang, or a device 102'incorrect' pirq line will cause the booting process to hang, or a device
101won't function properly (if it's inserted as eg. a module). 103won't function properly (e.g. if it's inserted as a module).
102 104
103If you have 2 PCI buses, then you can use up to 8 pirq values. Although such 105If you have 2 PCI buses, then you can use up to 8 pirq values, although such
104boards tend to have a good configuration. 106boards tend to have a good configuration.
105 107
106Be prepared that it might happen that you need some strange pirq line: 108Be prepared that it might happen that you need some strange pirq line:
107 109
108 append="pirq=0,0,0,0,0,0,9,11" 110 append="pirq=0,0,0,0,0,0,9,11"
109 111
110use smart try-and-err techniques to find out the correct pirq line ... 112Use smart trial-and-error techniques to find out the correct pirq line ...
111 113
112good luck and mail to linux-smp@vger.kernel.org or 114Good luck and mail to linux-smp@vger.kernel.org or
113linux-kernel@vger.kernel.org if you have any problems that are not covered 115linux-kernel@vger.kernel.org if you have any problems that are not covered
114by this document. 116by this document.
115 117
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index a4fc7fc21439..7278295f94d2 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1056,8 +1056,6 @@ and is between 256 and 4096 characters. It is defined in the file
1056 [SCSI] Maximum number of LUNs received. 1056 [SCSI] Maximum number of LUNs received.
1057 Should be between 1 and 16384. 1057 Should be between 1 and 16384.
1058 1058
1059 mca-pentium [BUGS=X86-32]
1060
1061 mcatest= [IA-64] 1059 mcatest= [IA-64]
1062 1060
1063 mce [X86-32] Machine Check Exception 1061 mce [X86-32] Machine Check Exception