diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 8b3bfc4dd708..864b386f6c0e 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -324,9 +324,9 @@ notrace static void __cpuinit start_secondary(void *unused) | |||
324 | check_tsc_sync_target(); | 324 | check_tsc_sync_target(); |
325 | 325 | ||
326 | if (nmi_watchdog == NMI_IO_APIC) { | 326 | if (nmi_watchdog == NMI_IO_APIC) { |
327 | legacy_pic->chip->mask(0); | 327 | legacy_pic->mask(0); |
328 | enable_NMI_through_LVT0(); | 328 | enable_NMI_through_LVT0(); |
329 | legacy_pic->chip->unmask(0); | 329 | legacy_pic->unmask(0); |
330 | } | 330 | } |
331 | 331 | ||
332 | /* This must be done before setting cpu_online_mask */ | 332 | /* This must be done before setting cpu_online_mask */ |
@@ -1109,8 +1109,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1109 | } | 1109 | } |
1110 | set_cpu_sibling_map(0); | 1110 | set_cpu_sibling_map(0); |
1111 | 1111 | ||
1112 | enable_IR_x2apic(); | ||
1113 | default_setup_apic_routing(); | ||
1114 | 1112 | ||
1115 | if (smp_sanity_check(max_cpus) < 0) { | 1113 | if (smp_sanity_check(max_cpus) < 0) { |
1116 | printk(KERN_INFO "SMP disabled\n"); | 1114 | printk(KERN_INFO "SMP disabled\n"); |
@@ -1118,6 +1116,8 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1118 | goto out; | 1116 | goto out; |
1119 | } | 1117 | } |
1120 | 1118 | ||
1119 | default_setup_apic_routing(); | ||
1120 | |||
1121 | preempt_disable(); | 1121 | preempt_disable(); |
1122 | if (read_apic_id() != boot_cpu_physical_apicid) { | 1122 | if (read_apic_id() != boot_cpu_physical_apicid) { |
1123 | panic("Boot APIC ID in local APIC unexpected (%d vs %d)", | 1123 | panic("Boot APIC ID in local APIC unexpected (%d vs %d)", |