[PATCH] x86, UV: Fix APICID shift for westmere processors

From: Jack Steiner
Date: Mon Jan 10 2011 - 14:52:21 EST


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@xxxxxxx>

---
arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/arch/x86/kernel/apic/x2apic_uv_x.c
===================================================================
--- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c 2010-12-31 10:53:26.878105424 -0600
+++ linux/arch/x86/kernel/apic/x2apic_uv_x.c 2010-12-31 10:54:45.291099878 -0600
@@ -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);
}

/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/