Skip to contentSkip to conversation

x86, UV: Fix APICID shift for westmere processors

PATCH In review Jack Steiner 1 participant 2 messages Jan 10, 2011 – Jan 11, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86, UV: Fix APICID shift for westmere processors

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.

---
 arch/x86/kernel/apic/x2apic_uv_x.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/apic/x2apic_uv_x.c +1 -1
Index: linux/arch/x86/kernel/apic/x2apic_uv_x.c
===================================================================
@@ -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);
 }
 
 /*
#1 lore raw

[tip:x86/urgent] x86, UV: Fix APICID shift for Westmere processors

Commit-ID:  990a32d1e54b3c0f7304bec95fb883404589b3f0
Gitweb:     http://git.kernel.org/tip/990a32d1e54b3c0f7304bec95fb883404589b3f0
Author:     Jack Steiner <[email protected]>
AuthorDate: Mon, 10 Jan 2011 13:52:11 -0600
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 11 Jan 2011 12:44:45 +0100

x86, UV: Fix APICID shift for Westmere processors

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.

LKML-Reference: <[email protected]>

---
 arch/x86/kernel/apic/x2apic_uv_x.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/kernel/apic/x2apic_uv_x.c +1 -1
index 2a3f2a7..f4f9e95 100644
@@ -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);
 }
 
 /*