]> Pileus Git - ~andy/linux/blobdiff - include/asm-x86/mach-default/mach_apic.h
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[~andy/linux] / include / asm-x86 / mach-default / mach_apic.h
index 0a6634f62abe2c1c37d91d078846cdeef51f15c3..0b2cde5e1b74b38641c4cea560784be0d7716a9b 100644 (file)
@@ -77,7 +77,11 @@ static inline void setup_apic_routing(void)
 
 static inline int apicid_to_node(int logical_apicid)
 {
+#ifdef CONFIG_SMP
+       return apicid_2_node[hard_smp_processor_id()];
+#else
        return 0;
+#endif
 }
 #endif
 
@@ -109,13 +113,8 @@ static inline int cpu_to_logical_apicid(int cpu)
 
 static inline int cpu_present_to_apicid(int mps_cpu)
 {
-#ifdef CONFIG_X86_64
-       if (cpu_present(mps_cpu))
+       if (mps_cpu < NR_CPUS && cpu_present(mps_cpu))
                return (int)per_cpu(x86_bios_cpu_apicid, mps_cpu);
-#else
-       if (mps_cpu < get_physical_broadcast())
-               return  mps_cpu;
-#endif
        else
                return BAD_APICID;
 }