sparc64: Only allocate per-cpu areas for possible cpus.
authorDavid S. Miller <davem@davemloft.net>
Wed, 1 Apr 2009 23:22:27 +0000 (16:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Jun 2009 11:56:25 +0000 (04:56 -0700)
commit0c243ad81f234672bebb72cf3dd014b9c841781d
tree2908de8577cc58b82fed8a4ac1e11536e27ad06e
parent73fffc037e2383a0ed126d57bdcda9b369769ae8
sparc64: Only allocate per-cpu areas for possible cpus.

This gets us real close to the generic implementation of
setup_per_cpu_areas() except:

1) We store the per-cpu offset into the trap_block[], whereas
   the generic code has it's own static array.

2) We have to initialize the %g5 register to hold the boot cpu's
   per-cpu area offset.

3) The OBP/MDESC cpu info scan is performed at the end.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/smp_64.c