Blame view

kernel/linux-rt-4.4.41/include/linux/perf_regs.h 969 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  #ifndef _LINUX_PERF_REGS_H
  #define _LINUX_PERF_REGS_H
  
  struct perf_regs {
  	__u64		abi;
  	struct pt_regs	*regs;
  };
  
  #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);
  u64 perf_reg_abi(struct task_struct *task);
  void perf_get_regs_user(struct perf_regs *regs_user,
  			struct pt_regs *regs,
  			struct pt_regs *regs_user_copy);
  #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;
  }
  
  static inline u64 perf_reg_abi(struct task_struct *task)
  {
  	return PERF_SAMPLE_REGS_ABI_NONE;
  }
  
  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);
  }
  #endif /* CONFIG_HAVE_PERF_REGS */
  #endif /* _LINUX_PERF_REGS_H */