Merge tag 'hwmon-for-linus-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[deliverable/linux.git] / include / linux / perf_regs.h
1 #ifndef _LINUX_PERF_REGS_H
2 #define _LINUX_PERF_REGS_H
3
4 struct perf_regs {
5 __u64 abi;
6 struct pt_regs *regs;
7 };
8
9 #ifdef CONFIG_HAVE_PERF_REGS
10 #include <asm/perf_regs.h>
11 u64 perf_reg_value(struct pt_regs *regs, int idx);
12 int perf_reg_validate(u64 mask);
13 u64 perf_reg_abi(struct task_struct *task);
14 void perf_get_regs_user(struct perf_regs *regs_user,
15 struct pt_regs *regs,
16 struct pt_regs *regs_user_copy);
17 #else
18 static inline u64 perf_reg_value(struct pt_regs *regs, int idx)
19 {
20 return 0;
21 }
22
23 static inline int perf_reg_validate(u64 mask)
24 {
25 return mask ? -ENOSYS : 0;
26 }
27
28 static inline u64 perf_reg_abi(struct task_struct *task)
29 {
30 return PERF_SAMPLE_REGS_ABI_NONE;
31 }
32
33 static inline void perf_get_regs_user(struct perf_regs *regs_user,
34 struct pt_regs *regs,
35 struct pt_regs *regs_user_copy)
36 {
37 regs_user->regs = task_pt_regs(current);
38 regs_user->abi = perf_reg_abi(current);
39 }
40 #endif /* CONFIG_HAVE_PERF_REGS */
41 #endif /* _LINUX_PERF_REGS_H */
This page took 0.030509 seconds and 5 git commands to generate.