aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/ftrace.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2009-10-14sh: Provide CALLER_ADDRx definitions even when ftrace is disabled.Paul Mundt1-1/+5
Despite being located in the ftrace header, the CALLER_ADDRx definitions are used by generic code. As such, we have to provide it generically, and given that there is no real dependence on ftrace in the first place, the definitions can just be moved out. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-13sh: Generalize CALLER_ADDRx support.Paul Mundt1-42/+8
This splits out the unwinder implementation and adds a new return_address() abstraction modelled after the ARM code. The DWARF unwinder is tied in to this, returning NULL otherwise in the case of being unable to support arbitrary depths. This enables us to get correct behaviour with the unwinder enabled, as well as disabling the arbitrary depth support when frame pointers are enabled, as arbitrary depths with __builtin_return_address() are not supported regardless. With this abstraction it's also possible to layer on a simplified implementation with frame pointers in the event that the unwinder isn't enabled, although this is left as a future exercise. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-10-11sh: tracing: Use the DWARF unwinder for CALLER_ADDRxMatt Fleming1-0/+47
The major reason for implementing the DWARF unwinder in the first place was so that we could stop using __builtin_return_address(n), which doesn't work on SH for n > 0. Signed-off-by: Matt Fleming <matt@console-pimps.org>
2009-08-25sh: Fix an off-by-1 in FTRACE_SYSCALL_MAX.Paul Mundt1-1/+1
This is supposed to be the equivalent of __NR_syscalls, not __NR_syscalls -1. The x86 code this was based on had simply fallen out of sync at the time this was implemented. Fix it up now. As a result, tracing of __NR_perf_counter_open works as advertised. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-24sh: Move the FTRACE_SYSCALL_MAX definition in to asm/ftrace.h.Paul Mundt1-0/+1
Needed by ftrace changes in -tip. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-07-11sh: Function graph tracer supportMatt Fleming1-0/+3
Add both dynamic and static function graph tracer support for sh. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-07-06sh: Fix the value of MCOUNT_INSN_OFFSETMatt Fleming1-2/+2
It seems that MCOUNT_INSN_OFFSET was calculating the distance between the wrong functions. The value that should have actually been computed is the distance between ftrace_call and ftrace_stub. I discovered this when I added some code to ftrace_caller. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Provide a dyn_arch_ftrace struct definition.Paul Mundt1-2/+7
Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: dynamic ftrace support.Matt Fleming1-0/+21
First cut at dynamic ftrace support. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Add missing asm/ftrace.h.Paul Mundt1-0/+8
This was missed with the ftrace support commit.. check it in now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>