linux/arch
Stafford Horne c056718464 openrisc: sleep instead of spin on secondary wait
Currently we do a spin on secondary cpus when waiting to boot.  This
theoretically causes issues with power consumption and does cause issues
with qemu cycle burning (it starves cpu 0 from actually being able to
boot.)

This change puts each secondary cpu to sleep if they have a power
management unit, then signals them to wake via IPI when its time to boot.
If the cpus have no power management unit they will loop as before.

Note: The wakeup IPI requires a special interrupt handler as on secondary
cpu's the interrupt infrastructure is not yet established.  This
interrupt handler is set and reset by updating SPR_EVBAR.

Signed-off-by: Stafford Horne <shorne@gmail.com>
2017-11-03 14:01:14 +09:00
..
alpha alpha: fix build failures 2017-10-03 17:54:23 -07:00
arc ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset 2017-10-06 08:59:54 -07:00
arm Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-10-20 18:20:17 -04:00
arm64 Allwinner fixes for 4.14 2017-10-20 22:24:48 +02:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2017-09-11 18:34:47 -07:00
c6x arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
cris MTD changes for 4.14: 2017-09-09 14:48:21 -07:00
frv arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
h8300 arch: define CPU_BIG_ENDIAN for all fixed big endian archs 2017-09-08 18:26:48 -07:00
hexagon Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-09-04 11:52:29 -07:00
ia64 Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 17:37:26 -07:00
m32r m32r: fix build failure 2017-10-03 17:54:26 -07:00
m68k Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2017-09-10 21:07:39 -07:00
metag arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
microblaze arch: change default endian for microblaze 2017-09-25 15:31:26 +02:00
mips MIPS: math-emu: Remove pr_err() calls from fpu_emu() 2017-10-09 16:33:34 +02:00
mn10300 arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
nios2 nios2 update for v4.14-rc1 2017-09-15 12:47:21 -07:00
openrisc openrisc: sleep instead of spin on secondary wait 2017-11-03 14:01:14 +09:00
parisc parisc: Fix detection of nonsynchronous cr16 cycle counters 2017-10-19 09:21:24 +02:00
powerpc powerpc fixes for 4.14 #5 2017-10-13 11:39:28 -07:00
s390 s390: fix zfcpdump-config 2017-10-16 08:19:01 +02:00
score
sh sh: sh7269: remove nonexistent GPIO_PH[0-7] to fix pinctrl registration 2017-10-03 17:54:24 -07:00
sparc Revert commit 1a8b6d76dc ("net:add one common config...") 2017-10-09 07:43:06 -07:00
tile Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2017-09-22 13:02:54 -10:00
um um/time: Fixup namespace collision 2017-09-29 10:07:44 +02:00
unicore32
x86 x86/mm: Limit mmap() of /dev/mem to valid physical addresses 2017-10-20 09:48:00 +02:00
xtensa arch: remove unused *_segments() macros/functions 2017-09-22 12:59:52 -10:00
.gitignore
Kconfig Revert commit 1a8b6d76dc ("net:add one common config...") 2017-10-09 07:43:06 -07:00