]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-x86/mach-default/mach_apicdef.h
Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
[linux-2.6-omap-h63xx.git] / include / asm-x86 / mach-default / mach_apicdef.h
index 7bcb350c3ee80f7b76448fee2f7dac3fcfb6fc97..ae9841319094223e4ba81d09f929841cd5035b5e 100644 (file)
@@ -1,11 +1,17 @@
 #ifndef __ASM_MACH_APICDEF_H
 #define __ASM_MACH_APICDEF_H
 
+#include <asm/apic.h>
+
 #define                APIC_ID_MASK            (0xF<<24)
 
 static inline unsigned get_apic_id(unsigned long x) 
 { 
-       return (((x)>>24)&0xF);
+       unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
+       if (APIC_XAPIC(ver))
+               return (((x)>>24)&0xFF);
+       else
+               return (((x)>>24)&0xF);
 } 
 
 #define                GET_APIC_ID(x)  get_apic_id(x)