From: Alexey Starikovskiy Date: Sat, 3 Feb 2007 03:02:55 +0000 (-0500) Subject: ACPI_NUMA: fix HP IA64 simulator issue with extended memory domain X-Git-Tag: v2.6.21-rc1~92^2~32^2^2~9^2~4 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=defad23020bb7701b3ad414135c73fc03054507b;p=linux-2.6 ACPI_NUMA: fix HP IA64 simulator issue with extended memory domain ACPI 3.0 incorporated the SRAT spec, upping the table version to 2, and extending the size of the proximity domain from 1-byte to 4-bytes. This extension was into a reserved field that firmware should set to 0, but the HP simulator had non-zero values there resulting in unexpected huge numbers. So mask the domain down to 8-bits for now. A more general fix will be to check the table version supplied by firmware and get paranoid about reserved fields. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown --- diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 989ffc3f7c..a99b0cc928 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@ -422,8 +422,8 @@ static int get_memory_proximity_domain(struct acpi_srat_mem_affinity *ma) int pxm; pxm = ma->proximity_domain; - if (ia64_platform_is("sn2")) - pxm += ma->reserved << 8; + if (!ia64_platform_is("sn2")) + pxm &= 0xff; return pxm; }