Commit 0520bd84 authored by Russ Anderson's avatar Russ Anderson Committed by H. Peter Anvin

x86, uv: More Westmere support on SGI UV

Enable Westmere support for all APIC modes on SGI UV.
Signed-off-by: default avatarRuss Anderson <rja@sgi.com>
LKML-Reference: <20101028224132.GB15804@sgi.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent c8f730b1
...@@ -71,7 +71,7 @@ static int early_get_nodeid(void) ...@@ -71,7 +71,7 @@ static int early_get_nodeid(void)
return node_id.s.node_id; return node_id.s.node_id;
} }
static int __init early_get_apic_pnode_shift(void) static void __init early_get_apic_pnode_shift(void)
{ {
unsigned long *mmr; unsigned long *mmr;
...@@ -83,8 +83,6 @@ static int __init early_get_apic_pnode_shift(void) ...@@ -83,8 +83,6 @@ static int __init early_get_apic_pnode_shift(void)
* Old bios, use default value * Old bios, use default value
*/ */
uvh_apicid.s.pnode_shift = UV_APIC_PNODE_SHIFT; uvh_apicid.s.pnode_shift = UV_APIC_PNODE_SHIFT;
return uvh_apicid.s.pnode_shift;
} }
static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
...@@ -93,6 +91,7 @@ static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) ...@@ -93,6 +91,7 @@ static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
if (!strcmp(oem_id, "SGI")) { if (!strcmp(oem_id, "SGI")) {
nodeid = early_get_nodeid(); nodeid = early_get_nodeid();
early_get_apic_pnode_shift();
x86_platform.is_untracked_pat_range = uv_is_untracked_pat_range; x86_platform.is_untracked_pat_range = uv_is_untracked_pat_range;
x86_platform.nmi_init = uv_nmi_init; x86_platform.nmi_init = uv_nmi_init;
if (!strcmp(oem_table_id, "UVL")) if (!strcmp(oem_table_id, "UVL"))
...@@ -101,7 +100,7 @@ static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) ...@@ -101,7 +100,7 @@ static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
uv_system_type = UV_X2APIC; uv_system_type = UV_X2APIC;
else if (!strcmp(oem_table_id, "UVH")) { else if (!strcmp(oem_table_id, "UVH")) {
__get_cpu_var(x2apic_extra_bits) = __get_cpu_var(x2apic_extra_bits) =
nodeid << (early_get_apic_pnode_shift() - 1); nodeid << (uvh_apicid.s.pnode_shift - 1);
uv_system_type = UV_NON_UNIQUE_APIC; uv_system_type = UV_NON_UNIQUE_APIC;
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment