From 592e9eaa3d584cb0c11c324997531ac2bd1ea83e Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 17 Jan 2012 04:20:31 -0500 Subject: [PATCH] --- yaml --- r: 286503 b: refs/heads/master c: cd298f60a2451a16e0f077404bf69b62ec868733 h: refs/heads/master i: 286501: c9da3f7472513343b045c991d99e5cf833c06900 286499: 1830aba70f8bc35bcfc491ae07298b4bfd83add1 286495: 0ee7a02da45e8628246270a295682cf5360b38e5 v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/srat.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b519fab7ae6c..e8c27c4c3299 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8df0eb7c9d96f9e82f233ee8b74e0f0c8471f868 +refs/heads/master: cd298f60a2451a16e0f077404bf69b62ec868733 diff --git a/trunk/arch/x86/mm/srat.c b/trunk/arch/x86/mm/srat.c index 81dbfdeb080d..7efd0c615d58 100644 --- a/trunk/arch/x86/mm/srat.c +++ b/trunk/arch/x86/mm/srat.c @@ -104,6 +104,8 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) if ((pa->flags & ACPI_SRAT_CPU_ENABLED) == 0) return; pxm = pa->proximity_domain_lo; + if (acpi_srat_revision >= 2) + pxm |= *((unsigned int*)pa->proximity_domain_hi) << 8; node = setup_node(pxm); if (node < 0) { printk(KERN_ERR "SRAT: Too many proximity domains %x\n", pxm); @@ -155,6 +157,8 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) start = ma->base_address; end = start + ma->length; pxm = ma->proximity_domain; + if (acpi_srat_revision <= 1) + pxm &= 0xff; node = setup_node(pxm); if (node < 0) { printk(KERN_ERR "SRAT: Too many proximity domains.\n");