x86, UV: Fix APICID shift for Westmere processors
authorJack Steiner <steiner@sgi.com>
Mon, 10 Jan 2011 19:52:11 +0000 (13:52 -0600)
committerIngo Molnar <mingo@elte.hu>
Tue, 11 Jan 2011 11:44:45 +0000 (12:44 +0100)
Westmere processors use a different algorithm for
assigning APICIDs on SGI UV systems. The location of the
node number within the apicid is now a function of the
processor type.

Signed-off-by: Jack Steiner <steiner@sgi.com>
LKML-Reference: <20110110195210.GA18737@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic/x2apic_uv_x.c

index 2a3f2a7db243f8b846ef5d3032287037d0111a69..f4f9e95aa151db781b6b658bf26393785b2fbe13 100644 (file)
@@ -378,7 +378,7 @@ struct apic __refdata apic_x2apic_uv_x = {
 
 static __cpuinit void set_x2apic_extra_bits(int pnode)
 {
-       __get_cpu_var(x2apic_extra_bits) = (pnode << 6);
+       __get_cpu_var(x2apic_extra_bits) = (pnode << uvh_apicid.s.pnode_shift);
 }
 
 /*