Lines Matching refs:regs
47 static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs)
49 struct stack_frame *stack = (struct stack_frame *) regs->gprs[15];
57 static bool is_in_guest(struct pt_regs *regs)
59 if (user_mode(regs))
62 return instruction_pointer(regs) == (unsigned long) &sie_exit;
68 static unsigned long guest_is_user_mode(struct pt_regs *regs)
70 return sie_block(regs)->gpsw.mask & PSW_MASK_PSTATE;
73 static unsigned long instruction_pointer_guest(struct pt_regs *regs)
75 return sie_block(regs)->gpsw.addr;
78 unsigned long perf_instruction_pointer(struct pt_regs *regs)
80 return is_in_guest(regs) ? instruction_pointer_guest(regs)
81 : instruction_pointer(regs);
84 static unsigned long perf_misc_guest_flags(struct pt_regs *regs)
86 return guest_is_user_mode(regs) ? PERF_RECORD_MISC_GUEST_USER
90 static unsigned long perf_misc_flags_sf(struct pt_regs *regs)
95 sde_regs = (struct perf_sf_sde_regs *) ®s->int_parm_long;
97 flags = user_mode(regs) ? PERF_RECORD_MISC_GUEST_USER
100 flags = user_mode(regs) ? PERF_RECORD_MISC_USER
105 unsigned long perf_misc_flags(struct pt_regs *regs)
111 if (regs->int_code == 0x1407 && regs->int_parm == CPU_MF_INT_SF_PRA)
112 if (!regs->gprs[15])
113 return perf_misc_flags_sf(regs);
115 if (is_in_guest(regs))
116 return perf_misc_guest_flags(regs);
118 return user_mode(regs) ? PERF_RECORD_MISC_USER
224 struct pt_regs *regs)
229 unwind_for_each_frame(&state, current, regs, 0) {