Skip to content

Commit bb8dd27

Browse files
ehabkostIngo Molnar
authored andcommitted
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 <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
1 parent 2ddded2 commit bb8dd27

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

arch/x86/kernel/reboot.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ void machine_crash_shutdown(struct pt_regs *regs)
519519
#endif
520520

521521

522-
#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
522+
#if defined(CONFIG_SMP)
523523

524524
/* This keeps a track of which one is crashing cpu. */
525525
static int crashing_cpu;
@@ -568,6 +568,12 @@ static struct notifier_block crash_nmi_nb = {
568568
.notifier_call = crash_nmi_callback,
569569
};
570570

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+
*/
571577
void nmi_shootdown_cpus(nmi_shootdown_cb callback)
572578
{
573579
unsigned long msecs;
@@ -596,4 +602,9 @@ void nmi_shootdown_cpus(nmi_shootdown_cb callback)
596602

597603
/* Leave the nmi callback set */
598604
}
605+
#else /* !CONFIG_SMP */
606+
void nmi_shootdown_cpus(nmi_shootdown_cb callback)
607+
{
608+
/* No other CPUs to shoot down */
609+
}
599610
#endif

0 commit comments

Comments
 (0)