diff options
author | Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> | 2007-02-02 22:02:55 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-02-02 22:02:55 -0500 |
commit | defad23020bb7701b3ad414135c73fc03054507b (patch) | |
tree | 20b1f8ecade8654355502f47437eabde2b62e7eb /arch/ia64 | |
parent | 45eded8703c0f9d58a8807f80baa9fe98ac0ec67 (diff) | |
download | linux-stable-defad23020bb7701b3ad414135c73fc03054507b.tar.gz linux-stable-defad23020bb7701b3ad414135c73fc03054507b.tar.bz2 linux-stable-defad23020bb7701b3ad414135c73fc03054507b.zip |
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 <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 989ffc3f7ce3..a99b0cc92881 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; } |