summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/smp.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-07-15 10:38:54 +0200
committerIngo Molnar <mingo@kernel.org>2016-07-15 10:38:54 +0200
commit07ccdcd34ac39ddecb8ccd00e5f03d76e9be8881 (patch)
treeffd8a0ffd6d803e5fa78c115a83b7dcd3c246d7c /arch/arm64/include/asm/smp.h
parent3c8fad9183ab7b3b3471fd2bb3d604104dd447cb (diff)
parentfa3a9f5744a92c0d7856d4e326c8d920d1d31116 (diff)
downloadlinux-07ccdcd34ac39ddecb8ccd00e5f03d76e9be8881.tar.bz2
Merge branch 'linus' into x86/apic, to refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm64/include/asm/smp.h')
-rw-r--r--arch/arm64/include/asm/smp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h
index 433e50405274..022644704a93 100644
--- a/arch/arm64/include/asm/smp.h
+++ b/arch/arm64/include/asm/smp.h
@@ -124,6 +124,18 @@ static inline void cpu_panic_kernel(void)
cpu_park_loop();
}
+/*
+ * If a secondary CPU enters the kernel but fails to come online,
+ * (e.g. due to mismatched features), and cannot exit the kernel,
+ * we increment cpus_stuck_in_kernel and leave the CPU in a
+ * quiesecent loop within the kernel text. The memory containing
+ * this loop must not be re-used for anything else as the 'stuck'
+ * core is executing it.
+ *
+ * This function is used to inhibit features like kexec and hibernate.
+ */
+bool cpus_are_stuck_in_kernel(void);
+
#endif /* ifndef __ASSEMBLY__ */
#endif /* ifndef __ASM_SMP_H */