diff options
Diffstat (limited to 'include/asm-powerpc/kexec.h')
| -rw-r--r-- | include/asm-powerpc/kexec.h | 12 |
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__ | ||
| 113 | extern void kexec_smp_wait(void); /* get and clear naca physid, wait for | 113 | extern 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 */ |
| 115 | extern void __init kexec_setup(void); | ||
| 116 | extern int crashing_cpu; | 115 | extern int crashing_cpu; |
| 117 | extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *)); | 116 | extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *)); |
| 118 | #endif /* __powerpc64 __ */ | 117 | extern cpumask_t cpus_in_sr; |
| 118 | static inline int kexec_sr_activated(int cpu) | ||
| 119 | { | ||
| 120 | return cpu_isset(cpu,cpus_in_sr); | ||
| 121 | } | ||
| 119 | 122 | ||
| 120 | struct kimage; | 123 | struct kimage; |
| 121 | struct pt_regs; | 124 | struct pt_regs; |
| @@ -124,10 +127,13 @@ extern int default_machine_kexec_prepare(struct kimage *image); | |||
| 124 | extern void default_machine_crash_shutdown(struct pt_regs *regs); | 127 | extern void default_machine_crash_shutdown(struct pt_regs *regs); |
| 125 | 128 | ||
| 126 | extern void machine_kexec_simple(struct kimage *image); | 129 | extern void machine_kexec_simple(struct kimage *image); |
| 130 | extern void crash_kexec_secondary(struct pt_regs *regs); | ||
| 127 | extern int overlaps_crashkernel(unsigned long start, unsigned long size); | 131 | extern int overlaps_crashkernel(unsigned long start, unsigned long size); |
| 128 | extern void reserve_crashkernel(void); | 132 | extern void reserve_crashkernel(void); |
| 129 | 133 | ||
| 130 | #else /* !CONFIG_KEXEC */ | 134 | #else /* !CONFIG_KEXEC */ |
| 135 | static inline int kexec_sr_activated(int cpu) { return 0; } | ||
| 136 | static inline void crash_kexec_secondary(struct pt_regs *regs) { } | ||
| 131 | 137 | ||
| 132 | static inline int overlaps_crashkernel(unsigned long start, unsigned long size) | 138 | static inline int overlaps_crashkernel(unsigned long start, unsigned long size) |
| 133 | { | 139 | { |
