]> err.no Git - linux-2.6/blobdiff - arch/x86/kernel/apic_64.c
Merge git://git.infradead.org/~dedekind/ubi-2.6
[linux-2.6] / arch / x86 / kernel / apic_64.c
index 9b4cacdfd74fdb4a83fa7db0619e0fbac3754bd5..9e8e5c050c55f7fa9418c0621c17030f9fea3b54 100644 (file)
@@ -87,9 +87,8 @@ static unsigned long apic_phys;
 
 unsigned long mp_lapic_addr;
 
-/* Processor that is doing the boot up */
-unsigned int boot_cpu_physical_apicid = -1U;
-EXPORT_SYMBOL(boot_cpu_physical_apicid);
+DEFINE_PER_CPU(u16, x86_bios_cpu_apicid) = BAD_APICID;
+EXPORT_PER_CPU_SYMBOL(x86_bios_cpu_apicid);
 
 unsigned int __cpuinitdata maxcpus = NR_CPUS;
 /*
@@ -738,6 +737,7 @@ void __cpuinit setup_local_APIC(void)
        unsigned int value;
        int i, j;
 
+       preempt_disable();
        value = apic_read(APIC_LVR);
 
        BUILD_BUG_ON((SPURIOUS_APIC_VECTOR & 0x0f) != 0x0f);
@@ -831,6 +831,7 @@ void __cpuinit setup_local_APIC(void)
        else
                value = APIC_DM_NMI | APIC_LVT_MASKED;
        apic_write(APIC_LVT1, value);
+       preempt_enable();
 }
 
 void __cpuinit lapic_setup_esr(void)