aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_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/io_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/io_apic.c')
-rw-r--r--arch/x86/kernel/io_apic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index 1c4a1302536c..40747e58f305 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -3258,6 +3258,9 @@ static int msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_ms
3258 int err; 3258 int err;
3259 unsigned dest; 3259 unsigned dest;
3260 3260
3261 if (disable_apic)
3262 return -ENXIO;
3263
3261 cfg = irq_cfg(irq); 3264 cfg = irq_cfg(irq);
3262 err = assign_irq_vector(irq, cfg, TARGET_CPUS); 3265 err = assign_irq_vector(irq, cfg, TARGET_CPUS);
3263 if (err) 3266 if (err)
@@ -3726,6 +3729,9 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
3726 struct irq_cfg *cfg; 3729 struct irq_cfg *cfg;
3727 int err; 3730 int err;
3728 3731
3732 if (disable_apic)
3733 return -ENXIO;
3734
3729 cfg = irq_cfg(irq); 3735 cfg = irq_cfg(irq);
3730 err = assign_irq_vector(irq, cfg, TARGET_CPUS); 3736 err = assign_irq_vector(irq, cfg, TARGET_CPUS);
3731 if (!err) { 3737 if (!err) {