diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-06-09 18:55:20 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-06-09 18:55:57 +0200 |
commit | c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8 (patch) | |
tree | 3f44aa013d31d34951e9610e79ff14c1148ad6ac /arch/x86/include/asm/perf_event.h | |
parent | 7be7923633a142402266d642ccebf74f556a649b (diff) | |
parent | 018378c55b03f88ff513aba4e0e93b8d4a9cf241 (diff) | |
download | linux-next-c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8.tar.gz |
Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core
Diffstat (limited to 'arch/x86/include/asm/perf_event.h')
-rw-r--r-- | arch/x86/include/asm/perf_event.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h index 6ed3ae4f5482..6e742cc4251b 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -141,6 +141,19 @@ extern unsigned long perf_instruction_pointer(struct pt_regs *regs); extern unsigned long perf_misc_flags(struct pt_regs *regs); #define perf_misc_flags(regs) perf_misc_flags(regs) +#include <asm/stacktrace.h> + +/* + * We abuse bit 3 from flags to pass exact information, see perf_misc_flags + * and the comment with PERF_EFLAGS_EXACT. + */ +#define perf_arch_fetch_caller_regs(regs, __ip) { \ + (regs)->ip = (__ip); \ + (regs)->bp = caller_frame_pointer(); \ + (regs)->cs = __KERNEL_CS; \ + regs->flags = 0; \ +} + #else static inline void init_hw_perf_events(void) { } static inline void perf_events_lapic_init(void) { } |