Commit 3ef12c3c authored by Cliff Wickman's avatar Cliff Wickman Committed by Ingo Molnar

x86: Fix UV BAU destination subnode id

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.
Signed-off-by: default avatarCliff Wickman <cpw@sgi.com>
Acked-by: default avatarJack Steiner <steiner@sgi.com>
LKML-Reference: <E1Mc1x7-0005Ce-6t@eag09.americas.sgi.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 64f1607f
...@@ -133,7 +133,7 @@ struct bau_msg_payload { ...@@ -133,7 +133,7 @@ struct bau_msg_payload {
* see table 4.2.3.0.1 in broacast_assist spec. * see table 4.2.3.0.1 in broacast_assist spec.
*/ */
struct bau_msg_header { 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 */ /* bits 5:0 */
unsigned int base_dest_nodeid:15; /* nasid>>1 (pnode) of */ unsigned int base_dest_nodeid:15; /* nasid>>1 (pnode) of */
/* bits 20:6 */ /* first bit in node_map */ /* bits 20:6 */ /* first bit in node_map */
......
...@@ -744,6 +744,7 @@ uv_activation_descriptor_init(int node, int pnode) ...@@ -744,6 +744,7 @@ uv_activation_descriptor_init(int node, int pnode)
* note that base_dest_nodeid is actually a nasid. * note that base_dest_nodeid is actually a nasid.
*/ */
ad2->header.base_dest_nodeid = uv_partition_base_pnode << 1; 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.command = UV_NET_ENDPOINT_INTD;
ad2->header.int_both = 1; ad2->header.int_both = 1;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment