aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/kernel/acpi.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index bfb4d01e0e51..5207035dc061 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -429,22 +429,24 @@ static u32 __devinitdata pxm_flag[PXM_FLAG_LEN];
429static struct acpi_table_slit __initdata *slit_table; 429static struct acpi_table_slit __initdata *slit_table;
430cpumask_t early_cpu_possible_map = CPU_MASK_NONE; 430cpumask_t early_cpu_possible_map = CPU_MASK_NONE;
431 431
432static int get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa) 432static int __init
433get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa)
433{ 434{
434 int pxm; 435 int pxm;
435 436
436 pxm = pa->proximity_domain_lo; 437 pxm = pa->proximity_domain_lo;
437 if (ia64_platform_is("sn2")) 438 if (ia64_platform_is("sn2") || acpi_srat_revision >= 2)
438 pxm += pa->proximity_domain_hi[0] << 8; 439 pxm += pa->proximity_domain_hi[0] << 8;
439 return pxm; 440 return pxm;
440} 441}
441 442
442static int get_memory_proximity_domain(struct acpi_srat_mem_affinity *ma) 443static int __init
444get_memory_proximity_domain(struct acpi_srat_mem_affinity *ma)
443{ 445{
444 int pxm; 446 int pxm;
445 447
446 pxm = ma->proximity_domain; 448 pxm = ma->proximity_domain;
447 if (!ia64_platform_is("sn2")) 449 if (!ia64_platform_is("sn2") && acpi_srat_revision <= 1)
448 pxm &= 0xff; 450 pxm &= 0xff;
449 451
450 return pxm; 452 return pxm;