summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/stacktrace.c
Commit message (Collapse)AuthorAgeFilesLines
* sparc,sparc64: unify kernel/Sam Ravnborg2008-12-041-64/+0
| | | | | | | | | | | | | | | | o Move all files from sparc64/kernel/ to sparc/kernel - rename as appropriate o Update sparc/Makefile to the changes o Update sparc/kernel/Makefile to include the sparc64 files NOTE: This commit changes link order on sparc64! Link order had to change for either of sparc32 and sparc64. And assuming sparc64 see more testing than sparc32 change link order on sparc64 where issues will be caught faster. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Add save_stack_trace_tsk().David S. Miller2008-12-041-9/+23
| | | | | | And this allows us to indicate HAVE_LATENCYTOP_SUPPORT. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Handle stack trace attempts before irqstacks are setup.David S. Miller2008-08-131-2/+1
| | | | | | | | | | Things like lockdep can try to do stack backtraces before the irqstack blocks have been setup. So don't try to match their ranges so early on. Also, remove unused variable in save_stack_trace(). Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Implement IRQ stacks.David S. Miller2008-08-121-6/+4
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix end-of-stack checking in save_stack_trace().David S. Miller2008-08-071-2/+4
| | | | | | | | | | Bug reported by Alexander Beregalov. Before we dereference the stack frame or try to peek at the pt_regs magic value, make sure the entire object is within the kernel stack bounds. Signed-off-by: David S. Miller <davem@davemloft.net>
* stacktrace: fix build failure on sparc64Stephen Rothwell2008-07-081-0/+1
| | | | | | | | | | | | Today's linux-next build (spac64 allmodconfig) failed like this: arch/sparc64/kernel/stacktrace.c:50: warning: type defaults to `int' in declaration of `EXPORT_SYMBOL_GPL' arch/sparc64/kernel/stacktrace.c:50: warning: parameter names (without types) in function declaration arch/sparc64/kernel/stacktrace.c:50: warning: data definition has no type or storage class Signed-off-by: Stephen Rothwell <sf@canb.auug.org.au> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* stacktrace: export save_stack_trace[_tsk]Ingo Molnar2008-07-031-0/+1
| | | | | | | | | Andrew Morton reported this against linux-next: ERROR: ".save_stack_trace" [tests/backtracetest.ko] undefined! Reported-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* sparc64: Fix stack tracing through trap frames.David S. Miller2008-05-211-5/+7
| | | | | | | | | | | The offset to the pt_regs area was wrong, so we weren't looking at the right location for the magic cookie. A trap frame is composed of a "struct sparc_stackf" then a "struct pt_regs", the code was using "struct reg_window" instead of "struct sparc_stackf". Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Detect trap frames in stack backtraces.David S. Miller2008-04-241-3/+13
| | | | | | | Now that we have a magic cookie in the pt_regs, we can properly detect trap frames in stack bactraces. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Make save_stack_trace() more efficient.David S. Miller2008-03-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Doing a 'flushw' every stack trace capture creates so much overhead that it makes lockdep next to unusable. We only care about the frame pointer chain and the function caller program counters, so flush those by hand to the stack frame. This is significantly more efficient than a 'flushw' because: 1) We only save 16 bytes per active register window to the stack. 2) This doesn't push the entire register window context of the current call chain out of the cpu, forcing register window fill traps as we return back down. Note that we can't use 'restore' and 'save' instructions to move around the register windows because that wouldn't work on Niagara processors. They optimize 'save' into a new register window by simply clearing out the registers instead of pulling them in from the on-chip register window backing store. Based upon a report by Tom Callaway. Signed-off-by: David S. Miller <davem@davemloft.net>
* simplify the stacktrace codeChristoph Hellwig2007-05-081-13/+7
| | | | | | | | | | | | | | | | | | | Simplify the stacktrace code: - remove the unused task argument to save_stack_trace, it's always current - remove the all_contexts flag, it's alwasy 0 Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Andi Kleen <ak@suse.de> Cc: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [SPARC64]: Add irqtrace/stacktrace/lockdep support.David S. Miller2006-12-101-0/+41
Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud