diff options
author | dann <dann@xtensa-linux.org> | 2008-05-22 04:43:50 +0400 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2013-02-24 07:22:54 +0400 |
commit | e6ffe17ec45dd763ee8278246a112562f64a4ef2 (patch) | |
tree | 3efe66a318764e0aeab4385eb407ec597f1f9f9b /arch/xtensa/oprofile/init.c | |
parent | 2d6f82fee45a52359012948306587eba704cf35b (diff) | |
download | linux-e6ffe17ec45dd763ee8278246a112562f64a4ef2.tar.xz |
xtensa: add support for oprofile
Support call graph profiling.
Keep upper two bits of PC unchanged through backtrace rather than take
them from sp (a1). The stack pointer is usually in the same GB (same
upper 2 bits) as PC, but technically doesn't always have to be (and
might not in the future, when taking full advantage of MMU v3).
Signed-off-by: Dan Nicolaescu <dann@xtensa-linux.org>
Signed-off-by: Pete Delaney <piet@tensilica.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/oprofile/init.c')
-rw-r--r-- | arch/xtensa/oprofile/init.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/xtensa/oprofile/init.c b/arch/xtensa/oprofile/init.c new file mode 100644 index 000000000000..a67eea379766 --- /dev/null +++ b/arch/xtensa/oprofile/init.c @@ -0,0 +1,26 @@ +/** + * @file init.c + * + * @remark Copyright 2008 Tensilica Inc. + * @remark Read the file COPYING + * + */ + +#include <linux/kernel.h> +#include <linux/oprofile.h> +#include <linux/errno.h> +#include <linux/init.h> + + +extern void xtensa_backtrace(struct pt_regs *const regs, unsigned int depth); + +int __init oprofile_arch_init(struct oprofile_operations *ops) +{ + ops->backtrace = xtensa_backtrace; + return -ENODEV; +} + + +void oprofile_arch_exit(void) +{ +} |