x86: fix smpboot integration
authorYinghai Lu <yhlu.kernel@gmail.com>
Fri, 21 Mar 2008 22:14:07 +0000 (15:14 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:21 +0000 (17:41 +0200)
>  yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6> git-bisect bad
>  d1c707188ad646c8094cac9afb1738e7d0196ff2 is first bad commit
>  commit d1c707188ad646c8094cac9afb1738e7d0196ff2
>  Author: Glauber de Oliveira Costa <gcosta@redhat.com>
>  Date:   Wed Mar 19 14:25:53 2008 -0300
>
>     x86: include mach_apic.h in smpboot_64.c and smpboot.c
>
>     After the inclusion, a lot of files needs fixing for conflicts,
>     some of them in the headers themselves, to accomodate for both
>     i386 and x86_64 versions.
>
>     [ mingo@elte.hu: build fix ]
>
>     Signed-off-by: Glauber Costa <gcosta@redhat.com>
>     Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
>  :040000 040000 19f574e64bb8003bbe984f3a8c1315db969dfdcd
>  6ffe96588c77bc936705599fa110107856201115 M      arch
>  :040000 040000 61269347ad4f384ed85cc87c4f2d004ed94492ac
>  8f5c713da25579a3cdf63db3d4c2f795261d0521 M      include
>  yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6>
>

attached patch fixes that.

include/asm-x86/mach-default/mach_apicdef.h

index 7b78275e6d33d270608b1480e127614da7472bd3..e4b29ba37de604894bae11681a9236bd64c041e7 100644 (file)
@@ -5,13 +5,12 @@
 
 #ifdef CONFIG_X86_64
 #define        APIC_ID_MASK            (0xFFu<<24)
 
 #ifdef CONFIG_X86_64
 #define        APIC_ID_MASK            (0xFFu<<24)
+#define GET_APIC_ID(x)          (((x)>>24)&0xFFu)
 #define        SET_APIC_ID(x)          (((x)<<24))
 #else
 #define                APIC_ID_MASK            (0xF<<24)
 #define        SET_APIC_ID(x)          (((x)<<24))
 #else
 #define                APIC_ID_MASK            (0xF<<24)
-#endif
-
 static inline unsigned get_apic_id(unsigned long x) 
 static inline unsigned get_apic_id(unsigned long x) 
-{ 
+{
        unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
        if (APIC_XAPIC(ver))
                return (((x)>>24)&0xFF);
        unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
        if (APIC_XAPIC(ver))
                return (((x)>>24)&0xFF);
@@ -20,5 +19,6 @@ static inline unsigned get_apic_id(unsigned long x)
 } 
 
 #define                GET_APIC_ID(x)  get_apic_id(x)
 } 
 
 #define                GET_APIC_ID(x)  get_apic_id(x)
+#endif
 
 #endif
 
 #endif