powerpc/e6500: Add support for hardware threads
authorAndy Fleming <afleming@freescale.com>
Thu, 8 Dec 2011 07:20:27 +0000 (01:20 -0600)
committerScott Wood <scottwood@freescale.com>
Wed, 30 Jul 2014 00:26:20 +0000 (19:26 -0500)
commite16c8765533a155ebd3d7c36fc80440a03bbf46a
tree8e4c3ab9fd85d3a852889c13012017b5cf8770b7
parent7251a24e4d3acf2d7826e1c42fe84258c312a742
powerpc/e6500: Add support for hardware threads

The general idea is that each core will release all of its
threads into the secondary thread startup code, which will
eventually wait in the secondary core holding area, for the
appropriate bit in the PACA to be set. The kick_cpu function
pointer will set that bit in the PACA, and thus "release"
the core/thread to boot. We also need to do a few things that
U-Boot normally does for CPUs (like enable branch prediction).

Signed-off-by: Andy Fleming <afleming@freescale.com>
[scottwood@freescale.com: various changes, including only enabling
 threads if Linux wants to kick them]
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/include/asm/cputable.h
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/include/asm/reg_booke.h
arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/prom.c
arch/powerpc/kernel/setup-common.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/platforms/85xx/smp.c