diff options
Diffstat (limited to 'arch/x86/kernel/apic')
| -rw-r--r-- | arch/x86/kernel/apic/apic.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/es7000_32.c | 1 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 9 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/nmi.c | 1 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 1 | 
5 files changed, 14 insertions, 0 deletions
| diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index 00187f1fcfb..e5a4a1e0161 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -1640,8 +1640,10 @@ int __init APIC_init_uniprocessor(void)  	}  #endif +#ifndef CONFIG_SMP  	enable_IR_x2apic();  	default_setup_apic_routing(); +#endif  	verify_local_APIC();  	connect_bsp_APIC(); diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c index dd2b5f26464..03ba1b895f5 100644 --- a/arch/x86/kernel/apic/es7000_32.c +++ b/arch/x86/kernel/apic/es7000_32.c @@ -42,6 +42,7 @@  #include <linux/errno.h>  #include <linux/acpi.h>  #include <linux/init.h> +#include <linux/gfp.h>  #include <linux/nmi.h>  #include <linux/smp.h>  #include <linux/io.h> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index e4e0ddcb154..127b8718abf 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -36,6 +36,7 @@  #include <linux/freezer.h>  #include <linux/kthread.h>  #include <linux/jiffies.h>	/* time_after() */ +#include <linux/slab.h>  #ifdef CONFIG_ACPI  #include <acpi/acpi_bus.h>  #endif @@ -1268,6 +1269,14 @@ void __setup_vector_irq(int cpu)  	/* Mark the inuse vectors */  	for_each_irq_desc(irq, desc) {  		cfg = desc->chip_data; + +		/* +		 * If it is a legacy IRQ handled by the legacy PIC, this cpu +		 * will be part of the irq_cfg's domain. +		 */ +		if (irq < legacy_pic->nr_legacy_irqs && !IO_APIC_IRQ(irq)) +			cpumask_set_cpu(cpu, cfg->domain); +  		if (!cpumask_test_cpu(cpu, cfg->domain))  			continue;  		vector = cfg->vector; diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c index 8aa65adbd25..1edaf15c0b8 100644 --- a/arch/x86/kernel/apic/nmi.c +++ b/arch/x86/kernel/apic/nmi.c @@ -18,6 +18,7 @@  #include <linux/delay.h>  #include <linux/interrupt.h>  #include <linux/module.h> +#include <linux/slab.h>  #include <linux/sysdev.h>  #include <linux/sysctl.h>  #include <linux/percpu.h> diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 49dbeaef2a2..c085d52dbaf 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c @@ -17,6 +17,7 @@  #include <linux/ctype.h>  #include <linux/sched.h>  #include <linux/timer.h> +#include <linux/slab.h>  #include <linux/cpu.h>  #include <linux/init.h>  #include <linux/io.h> | 
