summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2009-01-14 12:27:35 +0000
committerIngo Molnar <mingo@elte.hu>2009-01-15 12:04:40 +0100
commitf11826385b63566d98c02d35f592232ee77cd791 (patch)
tree07caf8db36be6c5b56bb7dacd49b95c520fb4db1 /arch/x86/kernel/io_apic.c
parent5cca0cf15a94417f49625ce52e23589eed0a1675 (diff)
downloadlinux-stable-f11826385b63566d98c02d35f592232ee77cd791.tar.gz
linux-stable-f11826385b63566d98c02d35f592232ee77cd791.tar.bz2
linux-stable-f11826385b63566d98c02d35f592232ee77cd791.zip
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
int err;
unsigned dest;
+ if (disable_apic)
+ return -ENXIO;
+
cfg = irq_cfg(irq);
err = assign_irq_vector(irq, cfg, TARGET_CPUS);
if (err)
@@ -3726,6 +3729,9 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
struct irq_cfg *cfg;
int err;
+ if (disable_apic)
+ return -ENXIO;
+
cfg = irq_cfg(irq);
err = assign_irq_vector(irq, cfg, TARGET_CPUS);
if (!err) {