diff options
author | AKASHI Takahiro <takahiro.akashi@linaro.org> | 2017-04-03 05:24:36 +0300 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2017-04-05 20:29:15 +0300 |
commit | 78fd584cdec0518075cf3aa75e5ec491cc8f3ff3 (patch) | |
tree | d92cf21d8427748917af0fcb53184c5ad23ddd1b /arch/arm64/include/asm/smp.h | |
parent | 254a41c0ba0573fa23272945d3fbe39efcc5d07d (diff) | |
download | linux-78fd584cdec0518075cf3aa75e5ec491cc8f3ff3.tar.xz |
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>
Diffstat (limited to 'arch/arm64/include/asm/smp.h')
-rw-r--r-- | arch/arm64/include/asm/smp.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h index d050d720a1b4..55f08c5acfad 100644 --- a/arch/arm64/include/asm/smp.h +++ b/arch/arm64/include/asm/smp.h @@ -148,6 +148,9 @@ static inline void cpu_panic_kernel(void) */ bool cpus_are_stuck_in_kernel(void); +extern void smp_send_crash_stop(void); +extern bool smp_crash_stop_failed(void); + #endif /* ifndef __ASSEMBLY__ */ #endif /* ifndef __ASM_SMP_H */ |