]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
x86: Fix UV BAU activation descriptor init
authorCliff Wickman <cpw@sgi.com>
Wed, 20 May 2009 13:10:57 +0000 (08:10 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 2 Jul 2009 23:49:55 +0000 (16:49 -0700)
commit7966198becdf0d9a46704c177e6c91aa22c6bc6e
tree058f1bd636a9e68d6920d83c5558a27d274dc05b
parenta0baa4304e2043545d20db7e3e7a694cf28cc375
x86: Fix UV BAU activation descriptor init

commit 0e2595cdfd7df9f1128f7185152601ae5417483b upstream.

The UV tlb shootdown code has a serious initialization error.

An array of structures [32*8] is initialized as if it were [32].
The array is indexed by (cpu number on the blade)*8, so the short
initialization works for up to 4 cpus on a blade.
But above that, we provide an invalid opcode to the hub's
broadcast assist unit.

This patch changes the allocation of the array to use its symbolic
dimensions for better clarity. And initializes all 32*8 entries.

Shortened 'UV_ACTIVATION_DESCRIPTOR_SIZE' to 'UV_ADP_SIZE' per Ingo's
recommendation.

Tested on the UV simulator.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
LKML-Reference: <E1M6lZR-0007kV-Aq@eag09.americas.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_bau.h
arch/x86/kernel/tlb_uv.c