Lines Matching refs:regs
49 static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs) in sie_block() argument
51 struct stack_frame *stack = (struct stack_frame *) regs->gprs[15]; in sie_block()
59 static bool is_in_guest(struct pt_regs *regs) in is_in_guest() argument
61 if (user_mode(regs)) in is_in_guest()
64 return instruction_pointer(regs) == (unsigned long) &sie_exit; in is_in_guest()
70 static unsigned long guest_is_user_mode(struct pt_regs *regs) in guest_is_user_mode() argument
72 return sie_block(regs)->gpsw.mask & PSW_MASK_PSTATE; in guest_is_user_mode()
75 static unsigned long instruction_pointer_guest(struct pt_regs *regs) in instruction_pointer_guest() argument
77 return sie_block(regs)->gpsw.addr & PSW_ADDR_INSN; in instruction_pointer_guest()
80 unsigned long perf_instruction_pointer(struct pt_regs *regs) in perf_instruction_pointer() argument
82 return is_in_guest(regs) ? instruction_pointer_guest(regs) in perf_instruction_pointer()
83 : instruction_pointer(regs); in perf_instruction_pointer()
86 static unsigned long perf_misc_guest_flags(struct pt_regs *regs) in perf_misc_guest_flags() argument
88 return guest_is_user_mode(regs) ? PERF_RECORD_MISC_GUEST_USER in perf_misc_guest_flags()
92 static unsigned long perf_misc_flags_sf(struct pt_regs *regs) in perf_misc_flags_sf() argument
97 sde_regs = (struct perf_sf_sde_regs *) ®s->int_parm_long; in perf_misc_flags_sf()
99 flags = user_mode(regs) ? PERF_RECORD_MISC_GUEST_USER in perf_misc_flags_sf()
102 flags = user_mode(regs) ? PERF_RECORD_MISC_USER in perf_misc_flags_sf()
107 unsigned long perf_misc_flags(struct pt_regs *regs) in perf_misc_flags() argument
113 if (regs->int_code == 0x1407 && regs->int_parm == CPU_MF_INT_SF_PRA) in perf_misc_flags()
114 if (!regs->gprs[15]) in perf_misc_flags()
115 return perf_misc_flags_sf(regs); in perf_misc_flags()
117 if (is_in_guest(regs)) in perf_misc_flags()
118 return perf_misc_guest_flags(regs); in perf_misc_flags()
120 return user_mode(regs) ? PERF_RECORD_MISC_USER in perf_misc_flags()
231 struct pt_regs *regs; in __store_trace() local
253 if (sp <= low || sp > high - sizeof(*regs)) in __store_trace()
255 regs = (struct pt_regs *) sp; in __store_trace()
258 sp = regs->gprs[15]; in __store_trace()
263 struct pt_regs *regs) in perf_callchain_kernel() argument
268 if (user_mode(regs)) in perf_callchain_kernel()
271 head = regs->gprs[15]; in perf_callchain_kernel()