aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/reboot.c
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2008-11-12 08:34:43 -0500
committerIngo Molnar <mingo@elte.hu>2008-11-12 12:55:48 -0500
commitbb8dd270e62217e2d2172094c6c352c4ddc0a127 (patch)
treeb57d4afb0b36564b0af62fd5306837e26f326595 /arch/x86/kernel/reboot.c
parent2ddded213895e41b9cfe1c084127e6c01632ac1a (diff)
x86: make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC
Impact: widen nmi_shootdown_cpus() availability The X86_LOCAL_APIC #ifdef was for kdump. For !SMP, the function simply does nothing. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/reboot.c')
-rw-r--r--arch/x86/kernel/reboot.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 364edeecc235..17a41e055565 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -519,7 +519,7 @@ void machine_crash_shutdown(struct pt_regs *regs)
519#endif 519#endif
520 520
521 521
522#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC) 522#if defined(CONFIG_SMP)
523 523
524/* This keeps a track of which one is crashing cpu. */ 524/* This keeps a track of which one is crashing cpu. */
525static int crashing_cpu; 525static int crashing_cpu;
@@ -568,6 +568,12 @@ static struct notifier_block crash_nmi_nb = {
568 .notifier_call = crash_nmi_callback, 568 .notifier_call = crash_nmi_callback,
569}; 569};
570 570
571/* Halt all other CPUs, calling the specified function on each of them
572 *
573 * This function can be used to halt all other CPUs on crash
574 * or emergency reboot time. The function passed as parameter
575 * will be called inside a NMI handler on all CPUs.
576 */
571void nmi_shootdown_cpus(nmi_shootdown_cb callback) 577void nmi_shootdown_cpus(nmi_shootdown_cb callback)
572{ 578{
573 unsigned long msecs; 579 unsigned long msecs;
@@ -596,4 +602,9 @@ void nmi_shootdown_cpus(nmi_shootdown_cb callback)
596 602
597 /* Leave the nmi callback set */ 603 /* Leave the nmi callback set */
598} 604}
605#else /* !CONFIG_SMP */
606void nmi_shootdown_cpus(nmi_shootdown_cb callback)
607{
608 /* No other CPUs to shoot down */
609}
599#endif 610#endif