]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
x86, UV: Fix macros for multiple coherency domains
authorJack Steiner <steiner@sgi.com>
Mon, 8 Jun 2009 15:44:05 +0000 (10:44 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 2 Jul 2009 23:49:55 +0000 (16:49 -0700)
commitdfad3cbff14feb7db04b49021f1d6bb0045a86ac
tree03798882fa9397d8fdcef453b0827ec151d1a062
parent7966198becdf0d9a46704c177e6c91aa22c6bc6e
x86, UV: Fix macros for multiple coherency domains

commit c4ed3f04ba9defe22aa729d1646f970f791c03d7 upstream.

Fix bug in the SGI UV macros that support systems with multiple
coherency domains.  The macros used for referencing global MMR
(chipset registers) are failing to correctly "or" the NASID
(node identifier) bits that reside above M+N. These high bits
are supplied automatically by the chipset for memory accesses
coming from the processor socket.

However, the bits must be present for references to the special
global MMR space used to map chipset registers. (See uv_hub.h
for more details ...)

The bug results in references to invalid/incorrect nodes.

Signed-off-by: Jack Steiner <steiner@sgi.com>
LKML-Reference: <20090608154405.GA16395@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/include/asm/uv/uv_hub.h
arch/x86/kernel/apic/x2apic_uv_x.c