diff options
author | Will Deacon <will.deacon@arm.com> | 2013-09-26 12:36:36 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2013-09-30 16:41:55 +0100 |
commit | 7495f3742dda97612a77d92fa62f85cb7591ab14 (patch) | |
tree | b9208a9e15ed268b6e96394493a09793b7fc1f0f /tools/perf/arch/arm/include/perf_regs.h | |
parent | ARM: perf: add support for perf registers API (diff) | |
download | linux-dev-7495f3742dda97612a77d92fa62f85cb7591ab14.tar.xz linux-dev-7495f3742dda97612a77d92fa62f85cb7591ab14.zip |
ARM: perf: wire up perf_regs and unwind support for ARM
This patch hooks in the perf_regs and libunwind code for ARM.
Cc: Jean Pihet <jean.pihet@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'tools/perf/arch/arm/include/perf_regs.h')
-rw-r--r-- | tools/perf/arch/arm/include/perf_regs.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/perf/arch/arm/include/perf_regs.h b/tools/perf/arch/arm/include/perf_regs.h new file mode 100644 index 000000000000..2a1cfde66b69 --- /dev/null +++ b/tools/perf/arch/arm/include/perf_regs.h @@ -0,0 +1,54 @@ +#ifndef ARCH_PERF_REGS_H +#define ARCH_PERF_REGS_H + +#include <stdlib.h> +#include "../../util/types.h" +#include <asm/perf_regs.h> + +#define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1) +#define PERF_REG_IP PERF_REG_ARM_PC +#define PERF_REG_SP PERF_REG_ARM_SP + +static inline const char *perf_reg_name(int id) +{ + switch (id) { + case PERF_REG_ARM_R0: + return "r0"; + case PERF_REG_ARM_R1: + return "r1"; + case PERF_REG_ARM_R2: + return "r2"; + case PERF_REG_ARM_R3: + return "r3"; + case PERF_REG_ARM_R4: + return "r4"; + case PERF_REG_ARM_R5: + return "r5"; + case PERF_REG_ARM_R6: + return "r6"; + case PERF_REG_ARM_R7: + return "r7"; + case PERF_REG_ARM_R8: + return "r8"; + case PERF_REG_ARM_R9: + return "r9"; + case PERF_REG_ARM_R10: + return "r10"; + case PERF_REG_ARM_FP: + return "fp"; + case PERF_REG_ARM_IP: + return "ip"; + case PERF_REG_ARM_SP: + return "sp"; + case PERF_REG_ARM_LR: + return "lr"; + case PERF_REG_ARM_PC: + return "pc"; + default: + return NULL; + } + + return NULL; +} + +#endif /* ARCH_PERF_REGS_H */ |