MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUs
authorDengcheng Zhu <dzhu@wavecomp.com>
Tue, 11 Sep 2018 21:49:21 +0000 (14:49 -0700)
committerPaul Burton <paul.burton@mips.com>
Sat, 22 Sep 2018 17:31:50 +0000 (10:31 -0700)
commit62cac480f33f8f9413d609cb1601b0ee521a86b8
tree92d3e1e0e580cbc175cd27b77b0ddf7c931ac338
parentdc57aaf95a516f70e2d527d8287a0332c481a226
MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUs

The existing implementation lets machine_kexec() CPU jump to reboot code
buffer, whereas other CPUs to relocated_kexec_smp_wait. The natural way to
bring up an SMP new kernel would be to let CPU0 do it while others being
halted. For those failing to do so, fall back to the jumping method.

Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com>
[paul.burton@mips.com: Guard kexec_nonboot_cpu_jump with CONFIG_SMP]
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20570/
Cc: pburton@wavecomp.com
Cc: ralf@linux-mips.org
Cc: linux-mips@linux-mips.org
Cc: rachel.mozes@intel.com
arch/mips/cavium-octeon/smp.c
arch/mips/include/asm/kexec.h
arch/mips/include/asm/smp-ops.h
arch/mips/include/asm/smp.h
arch/mips/kernel/crash.c
arch/mips/kernel/machine_kexec.c
arch/mips/kernel/smp-bmips.c
arch/mips/loongson64/loongson-3/smp.c