1
linux/arch
Vivek Goyal ec9ce0dbaa [PATCH] kdump: x86_64 save cpu registers upon crash
- Saving the cpu registers of all cpus before booting in to the crash
  kernel.

- crash_setup_regs will save the registers of the cpu on which panic has
  occured.  One of the concerns ppc64 folks raised is that after capturing the
  register states, one should not pop the current call frame and push new one.
   Hence it has been inlined.  More call frames later get pushed on to stack
  (machine_crash_shutdown() and machine_kexec()), but one will not want to
  backtrace those.

- Not very sure about the CFI annotations.  With this patch I am getting
  decent backtrace with gdb.  Assuming, compiler has generated enough
  debugging information for crash_kexec().  Coding crash_setup_regs() in pure
  assembly makes it tricky because then it can not be inlined and we don't
  want to return back after capturing register states we don't want to pop
  this call frame.

- Saving the non-panicing cpus registers will be done in the NMI handler
  while shooting down them in machine_crash_shutdown.

- Introducing CRASH_DUMP option in Kconfig for x86_64.

Signed-off-by: Murali M Chakravarthy <muralim@in.ibm.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10 08:01:28 -08:00
..
alpha [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-01-09 17:06:53 -08:00
arm26 [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
cris [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
frv [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
h8300 [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
i386 [PATCH] kdump: x86_64: add elfcorehdr command line option 2006-01-10 08:01:27 -08:00
ia64 [PATCH] /dev/mem: validate mmap requests 2006-01-08 20:14:02 -08:00
m32r [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
m68k [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
m68knommu [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
mips Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-01-09 18:41:42 -08:00
parisc [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
powerpc [PATCH] spufs: fix for recent "shrink dentry_struct" patch 2006-01-10 08:01:23 -08:00
ppc [PATCH] kdump: dynamic per cpu allocation of memory for saving cpu registers 2006-01-10 08:01:26 -08:00
s390 [PATCH] kdump: dynamic per cpu allocation of memory for saving cpu registers 2006-01-10 08:01:26 -08:00
sh [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
sh64 [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
sparc [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
sparc64 [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
um [PATCH] tiny: Make *[ug]id16 support optional 2006-01-08 20:14:11 -08:00
v850 [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
x86_64 [PATCH] kdump: x86_64 save cpu registers upon crash 2006-01-10 08:01:28 -08:00
xtensa [PATCH] "tiny-make-id16-support-optional" fixes 2006-01-10 08:01:23 -08:00