X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fmach-visws%2Fmach_apic.h;h=c367d820f23fea04cf83c9afff2b72051fc68c7d;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=3ec402a3a96a45c922b12fca398ac57231541d82;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/include/asm-i386/mach-visws/mach_apic.h b/include/asm-i386/mach-visws/mach_apic.h index 3ec402a3a..c367d820f 100644 --- a/include/asm-i386/mach-visws/mach_apic.h +++ b/include/asm-i386/mach-visws/mach_apic.h @@ -19,7 +19,6 @@ #define TARGET_CPUS cpumask_of_cpu(0) #endif -#define APIC_BROADCAST_ID 0x0F #define check_apicid_used(bitmap, apicid) physid_isset(apicid, bitmap) #define check_apicid_present(bit) physid_isset(bit, phys_cpu_present_map) @@ -61,7 +60,10 @@ static inline int cpu_to_logical_apicid(int cpu) static inline int cpu_present_to_apicid(int mps_cpu) { - return mps_cpu; + if (mps_cpu < get_physical_broadcast()) + return mps_cpu; + else + return BAD_APICID; } static inline physid_mask_t apicid_to_cpu_present(int apicid) @@ -84,9 +86,9 @@ static inline int check_phys_apicid_present(int boot_cpu_physical_apicid) return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map); } -static inline unsigned int cpu_mask_to_apicid(cpumask_const_t cpumask) +static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask) { - return cpus_coerce_const(cpumask); + return cpus_addr(cpumask)[0]; } static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)