17495f374SWill Deacon #ifndef ARCH_PERF_REGS_H 27495f374SWill Deacon #define ARCH_PERF_REGS_H 37495f374SWill Deacon 47495f374SWill Deacon #include <stdlib.h> 521a8b756SJean Pihet #include <linux/types.h> 67495f374SWill Deacon #include <asm/perf_regs.h> 77495f374SWill Deacon 8*3418f966SJean Pihet void perf_regs_load(u64 *regs); 9*3418f966SJean Pihet 107495f374SWill Deacon #define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1) 117495f374SWill Deacon #define PERF_REG_IP PERF_REG_ARM_PC 127495f374SWill Deacon #define PERF_REG_SP PERF_REG_ARM_SP 137495f374SWill Deacon 147495f374SWill Deacon static inline const char *perf_reg_name(int id) 157495f374SWill Deacon { 167495f374SWill Deacon switch (id) { 177495f374SWill Deacon case PERF_REG_ARM_R0: 187495f374SWill Deacon return "r0"; 197495f374SWill Deacon case PERF_REG_ARM_R1: 207495f374SWill Deacon return "r1"; 217495f374SWill Deacon case PERF_REG_ARM_R2: 227495f374SWill Deacon return "r2"; 237495f374SWill Deacon case PERF_REG_ARM_R3: 247495f374SWill Deacon return "r3"; 257495f374SWill Deacon case PERF_REG_ARM_R4: 267495f374SWill Deacon return "r4"; 277495f374SWill Deacon case PERF_REG_ARM_R5: 287495f374SWill Deacon return "r5"; 297495f374SWill Deacon case PERF_REG_ARM_R6: 307495f374SWill Deacon return "r6"; 317495f374SWill Deacon case PERF_REG_ARM_R7: 327495f374SWill Deacon return "r7"; 337495f374SWill Deacon case PERF_REG_ARM_R8: 347495f374SWill Deacon return "r8"; 357495f374SWill Deacon case PERF_REG_ARM_R9: 367495f374SWill Deacon return "r9"; 377495f374SWill Deacon case PERF_REG_ARM_R10: 387495f374SWill Deacon return "r10"; 397495f374SWill Deacon case PERF_REG_ARM_FP: 407495f374SWill Deacon return "fp"; 417495f374SWill Deacon case PERF_REG_ARM_IP: 427495f374SWill Deacon return "ip"; 437495f374SWill Deacon case PERF_REG_ARM_SP: 447495f374SWill Deacon return "sp"; 457495f374SWill Deacon case PERF_REG_ARM_LR: 467495f374SWill Deacon return "lr"; 477495f374SWill Deacon case PERF_REG_ARM_PC: 487495f374SWill Deacon return "pc"; 497495f374SWill Deacon default: 507495f374SWill Deacon return NULL; 517495f374SWill Deacon } 527495f374SWill Deacon 537495f374SWill Deacon return NULL; 547495f374SWill Deacon } 557495f374SWill Deacon 567495f374SWill Deacon #endif /* ARCH_PERF_REGS_H */ 57