cregit-Linux how code gets into the kernel

Release 4.10 tools/perf/arch/x86/include/perf_regs.h

#ifndef ARCH_PERF_REGS_H

#define ARCH_PERF_REGS_H

#include <stdlib.h>
#include <linux/types.h>
#include <asm/perf_regs.h>

void perf_regs_load(u64 *regs);

#ifndef HAVE_ARCH_X86_64_SUPPORT

#define PERF_REGS_MASK ((1ULL << PERF_REG_X86_32_MAX) - 1)

#define PERF_REGS_MAX PERF_REG_X86_32_MAX

#define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_32
#else

#define REG_NOSUPPORT ((1ULL << PERF_REG_X86_DS) | \
                       (1ULL << PERF_REG_X86_ES) | \
                       (1ULL << PERF_REG_X86_FS) | \
                       (1ULL << PERF_REG_X86_GS))

#define PERF_REGS_MASK (((1ULL << PERF_REG_X86_64_MAX) - 1) & ~REG_NOSUPPORT)

#define PERF_REGS_MAX PERF_REG_X86_64_MAX

#define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_64
#endif

#define PERF_REG_IP PERF_REG_X86_IP

#define PERF_REG_SP PERF_REG_X86_SP


static inline const char *perf_reg_name(int id) { switch (id) { case PERF_REG_X86_AX: return "AX"; case PERF_REG_X86_BX: return "BX"; case PERF_REG_X86_CX: return "CX"; case PERF_REG_X86_DX: return "DX"; case PERF_REG_X86_SI: return "SI"; case PERF_REG_X86_DI: return "DI"; case PERF_REG_X86_BP: return "BP"; case PERF_REG_X86_SP: return "SP"; case PERF_REG_X86_IP: return "IP"; case PERF_REG_X86_FLAGS: return "FLAGS"; case PERF_REG_X86_CS: return "CS"; case PERF_REG_X86_SS: return "SS"; case PERF_REG_X86_DS: return "DS"; case PERF_REG_X86_ES: return "ES"; case PERF_REG_X86_FS: return "FS"; case PERF_REG_X86_GS: return "GS"; #ifdef HAVE_ARCH_X86_64_SUPPORT case PERF_REG_X86_R8: return "R8"; case PERF_REG_X86_R9: return "R9"; case PERF_REG_X86_R10: return "R10"; case PERF_REG_X86_R11: return "R11"; case PERF_REG_X86_R12: return "R12"; case PERF_REG_X86_R13: return "R13"; case PERF_REG_X86_R14: return "R14"; case PERF_REG_X86_R15: return "R15"; #endif /* HAVE_ARCH_X86_64_SUPPORT */ default: return NULL; } return NULL; }

Contributors

PersonTokensPropCommitsCommitProp
jiri olsajiri olsa17398.86%150.00%
ingo molnaringo molnar21.14%150.00%
Total175100.00%2100.00%

#endif /* ARCH_PERF_REGS_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
jiri olsajiri olsa23997.95%350.00%
ingo molnaringo molnar31.23%116.67%
david howellsdavid howells10.41%116.67%
borislav petkovborislav petkov10.41%116.67%
Total244100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.