Blame view
include/linux/perf_regs.h
969 Bytes
c5e63197d
|
1 2 |
#ifndef _LINUX_PERF_REGS_H #define _LINUX_PERF_REGS_H |
88a7c26af
|
3 4 5 6 |
struct perf_regs { __u64 abi; struct pt_regs *regs; }; |
c5e63197d
|
7 8 9 10 |
#ifdef CONFIG_HAVE_PERF_REGS #include <asm/perf_regs.h> u64 perf_reg_value(struct pt_regs *regs, int idx); int perf_reg_validate(u64 mask); |
4018994f3
|
11 |
u64 perf_reg_abi(struct task_struct *task); |
88a7c26af
|
12 13 14 |
void perf_get_regs_user(struct perf_regs *regs_user, struct pt_regs *regs, struct pt_regs *regs_user_copy); |
c5e63197d
|
15 16 17 18 19 20 21 22 23 24 |
#else static inline u64 perf_reg_value(struct pt_regs *regs, int idx) { return 0; } static inline int perf_reg_validate(u64 mask) { return mask ? -ENOSYS : 0; } |
4018994f3
|
25 26 27 28 29 |
static inline u64 perf_reg_abi(struct task_struct *task) { return PERF_SAMPLE_REGS_ABI_NONE; } |
88a7c26af
|
30 31 32 33 34 35 36 37 |
static inline void perf_get_regs_user(struct perf_regs *regs_user, struct pt_regs *regs, struct pt_regs *regs_user_copy) { regs_user->regs = task_pt_regs(current); regs_user->abi = perf_reg_abi(current); } |
c5e63197d
|
38 39 |
#endif /* CONFIG_HAVE_PERF_REGS */ #endif /* _LINUX_PERF_REGS_H */ |