arm64: kdump: implement machine_crash_shutdown()
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Mon, 3 Apr 2017 02:24:36 +0000 (11:24 +0900)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 5 Apr 2017 17:29:15 +0000 (18:29 +0100)
commit78fd584cdec0518075cf3aa75e5ec491cc8f3ff3
treed92cf21d8427748917af0fcb53184c5ad23ddd1b
parent254a41c0ba0573fa23272945d3fbe39efcc5d07d
arm64: kdump: implement machine_crash_shutdown()

Primary kernel calls machine_crash_shutdown() to shut down non-boot cpus
and save registers' status in per-cpu ELF notes before starting crash
dump kernel. See kernel_kexec().
Even if not all secondary cpus have shut down, we do kdump anyway.

As we don't have to make non-boot(crashed) cpus offline (to preserve
correct status of cpus at crash dump) before shutting down, this patch
also adds a variant of smp_send_stop().

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/hardirq.h
arch/arm64/include/asm/kexec.h
arch/arm64/include/asm/smp.h
arch/arm64/kernel/machine_kexec.c
arch/arm64/kernel/smp.c