diff options
| -rw-r--r-- | arch/ia64/kernel/acpi.c | 10 |
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]; | |||
| 429 | static struct acpi_table_slit __initdata *slit_table; | 429 | static struct acpi_table_slit __initdata *slit_table; |
| 430 | cpumask_t early_cpu_possible_map = CPU_MASK_NONE; | 430 | cpumask_t early_cpu_possible_map = CPU_MASK_NONE; |
| 431 | 431 | ||
| 432 | static int get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa) | 432 | static int __init |
| 433 | get_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 | ||
| 442 | static int get_memory_proximity_domain(struct acpi_srat_mem_affinity *ma) | 443 | static int __init |
| 444 | get_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; |
