aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2009-01-14 07:27:35 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-15 06:04:40 -0500
commitf11826385b63566d98c02d35f592232ee77cd791 (patch)
tree07caf8db36be6c5b56bb7dacd49b95c520fb4db1 /arch/x86/kernel/apic.c
parent5cca0cf15a94417f49625ce52e23589eed0a1675 (diff)
x86: fully honor "nolapic"
Impact: widen the effect of the 'nolapic' boot parameter "nolapic" should not only suppress SMP and use of the LAPIC, but it also ought to have the effect of disabling all IO-APIC related activity as well as PCI MSI and HT-IRQs. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic.c')
-rw-r--r--arch/x86/kernel/apic.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic.c b/arch/x86/kernel/apic.c
index 0f830e4f5675..c3dd64fabcf3 100644
--- a/arch/x86/kernel/apic.c
+++ b/arch/x86/kernel/apic.c
@@ -1126,6 +1126,11 @@ void __cpuinit setup_local_APIC(void)
1126 unsigned int value; 1126 unsigned int value;
1127 int i, j; 1127 int i, j;
1128 1128
1129 if (disable_apic) {
1130 disable_ioapic_setup();
1131 return;
1132 }
1133
1129#ifdef CONFIG_X86_32 1134#ifdef CONFIG_X86_32
1130 /* Pound the ESR really hard over the head with a big hammer - mbligh */ 1135 /* Pound the ESR really hard over the head with a big hammer - mbligh */
1131 if (lapic_is_integrated() && esr_disable) { 1136 if (lapic_is_integrated() && esr_disable) {
@@ -1566,11 +1571,11 @@ int apic_version[MAX_APICS];
1566 1571
1567int __init APIC_init_uniprocessor(void) 1572int __init APIC_init_uniprocessor(void)
1568{ 1573{
1569#ifdef CONFIG_X86_64
1570 if (disable_apic) { 1574 if (disable_apic) {
1571 pr_info("Apic disabled\n"); 1575 pr_info("Apic disabled\n");
1572 return -1; 1576 return -1;
1573 } 1577 }
1578#ifdef CONFIG_X86_64
1574 if (!cpu_has_apic) { 1579 if (!cpu_has_apic) {
1575 disable_apic = 1; 1580 disable_apic = 1;
1576 pr_info("Apic disabled by BIOS\n"); 1581 pr_info("Apic disabled by BIOS\n");