diff options
| author | Anton Blanchard <anton@samba.org> | 2009-10-17 21:13:00 -0400 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2009-10-28 01:13:03 -0400 |
| commit | 196f02bf900c5eb6f85d889c4f70e7cc11fda7e8 (patch) | |
| tree | 226fc9031be7be1011747ad7573efe664f4e5ce5 | |
| parent | eecff81d1fcda22cd0029d11fe2a71dceed11dad (diff) | |
powerpc: perf_event: Add alignment-faults and emulation-faults software events
Hook up the alignment-faults and emulation-faults events for powerpc.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
| -rw-r--r-- | arch/powerpc/include/asm/emulated_ops.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/emulated_ops.h b/arch/powerpc/include/asm/emulated_ops.h index 640c4e456aa5..f0fb4fc1f6e6 100644 --- a/arch/powerpc/include/asm/emulated_ops.h +++ b/arch/powerpc/include/asm/emulated_ops.h | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #define _ASM_POWERPC_EMULATED_OPS_H | 19 | #define _ASM_POWERPC_EMULATED_OPS_H |
| 20 | 20 | ||
| 21 | #include <asm/atomic.h> | 21 | #include <asm/atomic.h> |
| 22 | #include <linux/perf_event.h> | ||
| 22 | 23 | ||
| 23 | 24 | ||
| 24 | #ifdef CONFIG_PPC_EMULATED_STATS | 25 | #ifdef CONFIG_PPC_EMULATED_STATS |
| @@ -70,7 +71,18 @@ extern void ppc_warn_emulated_print(const char *type); | |||
| 70 | 71 | ||
| 71 | #endif /* !CONFIG_PPC_EMULATED_STATS */ | 72 | #endif /* !CONFIG_PPC_EMULATED_STATS */ |
| 72 | 73 | ||
| 73 | #define PPC_WARN_EMULATED(type, regs) __PPC_WARN_EMULATED(type) | 74 | #define PPC_WARN_EMULATED(type, regs) \ |
| 74 | #define PPC_WARN_ALIGNMENT(type, regs) __PPC_WARN_EMULATED(type) | 75 | do { \ |
| 76 | perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, \ | ||
| 77 | 1, 0, regs, 0); \ | ||
| 78 | __PPC_WARN_EMULATED(type); \ | ||
| 79 | } while (0) | ||
| 80 | |||
| 81 | #define PPC_WARN_ALIGNMENT(type, regs) \ | ||
| 82 | do { \ | ||
| 83 | perf_sw_event(PERF_COUNT_SW_ALIGNMENT_FAULTS, \ | ||
| 84 | 1, 0, regs, regs->dar); \ | ||
| 85 | __PPC_WARN_EMULATED(type); \ | ||
| 86 | } while (0) | ||
| 75 | 87 | ||
| 76 | #endif /* _ASM_POWERPC_EMULATED_OPS_H */ | 88 | #endif /* _ASM_POWERPC_EMULATED_OPS_H */ |
