linux/arch
Vivek Goyal e996e58133 [PATCH] kdump: save registers early (inline functions)
- If system panics then cpu register states are captured through funciton
  crash_get_current_regs().  This is not a inline function hence a stack frame
  is pushed on to the stack and then cpu register state is captured.  Later
  this frame is popped and new frames are pushed (machine_kexec).

- In theory this is not very right as we are capturing register states for a
  frame and that frame is no more valid.  This seems to have created back
  trace problems for ppc64.

- This patch fixes it up.  The very first thing it does after entering
  crash_kexec() is to capture the register states.  Anyway we don't want the
  back trace beyond crash_kexec().  crash_get_current_regs() has been made
  inline

- crash_setup_regs() is the top architecture dependent function which should
  be responsible for capturing the register states as well as to do some
  architecture dependent tricks.  For ex.  fixing up ss and esp for i386.
  crash_setup_regs() has also been made inline to ensure no new call frame is
  pushed onto stack.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-10 08:01:27 -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: save registers early (inline functions) 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: dynamic per cpu allocation of memory for saving cpu registers 2006-01-10 08:01:26 -08:00
xtensa [PATCH] "tiny-make-id16-support-optional" fixes 2006-01-10 08:01:23 -08:00