forked from Minki/linux
c056718464
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> |
||
---|---|---|
.. | ||
.gitignore | ||
asm-offsets.c | ||
dma.c | ||
entry.S | ||
head.S | ||
irq.c | ||
Makefile | ||
module.c | ||
or32_ksyms.c | ||
process.c | ||
prom.c | ||
ptrace.c | ||
setup.c | ||
signal.c | ||
smp.c | ||
sys_call_table.c | ||
time.c | ||
traps.c | ||
vmlinux.h | ||
vmlinux.lds.S |