[PATCH] x86: UV BAU destination subnode id

From: Cliff Wickman
Date: Fri Aug 14 2009 - 14:56:31 EST


From: Cliff Wickman <cpw@xxxxxxx>

The SGI UV Broadcast Assist Unit is used to send TLB shootdown messages
to remote nodes of the system. The header of the message must contain
the subnode id of the block in the receiving hub that handles such
messages. It should always be 0x10, the id of the "LB" block.

It had previously been documented as a "must be zero" field.

Diffed against 2.6.31-rc6

Signed-off-by: Cliff Wickman <cpw@xxxxxxx>
Acked-by: Jack Steiner <steiner@xxxxxxx>
---
arch/x86/include/asm/uv/uv_bau.h | 2 +-
arch/x86/kernel/tlb_uv.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

Index: linux/arch/x86/kernel/tlb_uv.c
===================================================================
--- linux.orig/arch/x86/kernel/tlb_uv.c
+++ linux/arch/x86/kernel/tlb_uv.c
@@ -744,6 +744,7 @@ uv_activation_descriptor_init(int node,
* note that base_dest_nodeid is actually a nasid.
*/
ad2->header.base_dest_nodeid = uv_partition_base_pnode << 1;
+ ad2->header.dest_subnodeid = 0x10; /* the LB */
ad2->header.command = UV_NET_ENDPOINT_INTD;
ad2->header.int_both = 1;
/*
Index: linux/arch/x86/include/asm/uv/uv_bau.h
===================================================================
--- linux.orig/arch/x86/include/asm/uv/uv_bau.h
+++ linux/arch/x86/include/asm/uv/uv_bau.h
@@ -133,7 +133,7 @@ struct bau_msg_payload {
* see table 4.2.3.0.1 in broacast_assist spec.
*/
struct bau_msg_header {
- unsigned int dest_subnodeid:6; /* must be zero */
+ unsigned int dest_subnodeid:6; /* must be 0x10, for the LB */
/* bits 5:0 */
unsigned int base_dest_nodeid:15; /* nasid>>1 (pnode) of */
/* bits 20:6 */ /* first bit in node_map */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/