aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/kexec.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc/kexec.h')
-rw-r--r--include/asm-powerpc/kexec.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/asm-powerpc/kexec.h b/include/asm-powerpc/kexec.h
index efe8872ec583..11cbdf81fd2e 100644
--- a/include/asm-powerpc/kexec.h
+++ b/include/asm-powerpc/kexec.h
@@ -32,6 +32,7 @@
32#endif 32#endif
33 33
34#ifndef __ASSEMBLY__ 34#ifndef __ASSEMBLY__
35#include <linux/cpumask.h>
35 36
36#ifdef CONFIG_KEXEC 37#ifdef CONFIG_KEXEC
37 38
@@ -109,13 +110,15 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
109 110
110#define MAX_NOTE_BYTES 1024 111#define MAX_NOTE_BYTES 1024
111 112
112#ifdef __powerpc64__
113extern void kexec_smp_wait(void); /* get and clear naca physid, wait for 113extern void kexec_smp_wait(void); /* get and clear naca physid, wait for
114 master to copy new code to 0 */ 114 master to copy new code to 0 */
115extern void __init kexec_setup(void);
116extern int crashing_cpu; 115extern int crashing_cpu;
117extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *)); 116extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *));
118#endif /* __powerpc64 __ */ 117extern cpumask_t cpus_in_sr;
118static inline int kexec_sr_activated(int cpu)
119{
120 return cpu_isset(cpu,cpus_in_sr);
121}
119 122
120struct kimage; 123struct kimage;
121struct pt_regs; 124struct pt_regs;
@@ -124,10 +127,13 @@ extern int default_machine_kexec_prepare(struct kimage *image);
124extern void default_machine_crash_shutdown(struct pt_regs *regs); 127extern void default_machine_crash_shutdown(struct pt_regs *regs);
125 128
126extern void machine_kexec_simple(struct kimage *image); 129extern void machine_kexec_simple(struct kimage *image);
130extern void crash_kexec_secondary(struct pt_regs *regs);
127extern int overlaps_crashkernel(unsigned long start, unsigned long size); 131extern int overlaps_crashkernel(unsigned long start, unsigned long size);
128extern void reserve_crashkernel(void); 132extern void reserve_crashkernel(void);
129 133
130#else /* !CONFIG_KEXEC */ 134#else /* !CONFIG_KEXEC */
135static inline int kexec_sr_activated(int cpu) { return 0; }
136static inline void crash_kexec_secondary(struct pt_regs *regs) { }
131 137
132static inline int overlaps_crashkernel(unsigned long start, unsigned long size) 138static inline int overlaps_crashkernel(unsigned long start, unsigned long size)
133{ 139{