aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-12-04 02:39:43 -0500
committerPaul Mackerras <paulus@samba.org>2006-01-08 22:52:28 -0500
commitcc53291521701f9c7c7265bbb3c140563174d8b2 (patch)
tree9fa71dbb7d853f983c9033fc629edcd118c67858 /include
parent758438a7b8da593c9116e95cc7fdff6e9e0b0c40 (diff)
[PATCH] powerpc: Add arch dependent basic infrastructure for Kdump.
Implementing the machine_crash_shutdown which will be called by crash_kexec (called in case of a panic, sysrq etc.). Disable the interrupts, shootdown cpus using debugger IPI and collect regs for all CPUs. elfcorehdr= specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel. savemaxmem= specifies the actual memory size that the first kernel has and this value will be used for dumping in the capture kernel. This command line option will be passed by the kexec-tools to capture kernel. Signed-off-by: Haren Myneni <haren@us.ibm.com> Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/kexec.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/asm-powerpc/kexec.h b/include/asm-powerpc/kexec.h
index 934b4981651d..ae76ed5d973f 100644
--- a/include/asm-powerpc/kexec.h
+++ b/include/asm-powerpc/kexec.h
@@ -32,6 +32,8 @@
32 32
33#ifndef __ASSEMBLY__ 33#ifndef __ASSEMBLY__
34 34
35#ifdef CONFIG_KEXEC
36
35#define MAX_NOTE_BYTES 1024 37#define MAX_NOTE_BYTES 1024
36typedef u32 note_buf_t[MAX_NOTE_BYTES / sizeof(u32)]; 38typedef u32 note_buf_t[MAX_NOTE_BYTES / sizeof(u32)];
37 39
@@ -41,11 +43,17 @@ extern note_buf_t crash_notes[];
41extern void kexec_smp_wait(void); /* get and clear naca physid, wait for 43extern void kexec_smp_wait(void); /* get and clear naca physid, wait for
42 master to copy new code to 0 */ 44 master to copy new code to 0 */
43extern void __init kexec_setup(void); 45extern void __init kexec_setup(void);
44#endif 46extern int crashing_cpu;
47extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *));
48#endif /* __powerpc64 __ */
45 49
46struct kimage; 50struct kimage;
51struct pt_regs;
47extern void default_machine_kexec(struct kimage *image); 52extern void default_machine_kexec(struct kimage *image);
48extern int default_machine_kexec_prepare(struct kimage *image); 53extern int default_machine_kexec_prepare(struct kimage *image);
54extern void default_machine_crash_shutdown(struct pt_regs *regs);
55
56#endif /* !CONFIG_KEXEC */
49 57
50#endif /* ! __ASSEMBLY__ */ 58#endif /* ! __ASSEMBLY__ */
51#endif /* _ASM_POWERPC_KEXEC_H */ 59#endif /* _ASM_POWERPC_KEXEC_H */