• Home
  • Raw
  • Download

Lines Matching refs:regs

6673 			struct pt_regs *regs, u64 mask)  in perf_output_sample_regs()  argument
6682 val = perf_reg_value(regs, bit); in perf_output_sample_regs()
6688 struct pt_regs *regs) in perf_sample_regs_user() argument
6690 if (user_mode(regs)) { in perf_sample_regs_user()
6692 regs_user->regs = regs; in perf_sample_regs_user()
6694 perf_get_regs_user(regs_user, regs); in perf_sample_regs_user()
6697 regs_user->regs = NULL; in perf_sample_regs_user()
6702 struct pt_regs *regs) in perf_sample_regs_intr() argument
6704 regs_intr->regs = regs; in perf_sample_regs_intr()
6716 static u64 perf_ustack_task_size(struct pt_regs *regs) in perf_ustack_task_size() argument
6718 unsigned long addr = perf_user_stack_pointer(regs); in perf_ustack_task_size()
6728 struct pt_regs *regs) in perf_sample_ustack_size() argument
6733 if (!regs) in perf_sample_ustack_size()
6746 task_size = min((u64) USHRT_MAX, perf_ustack_task_size(regs)); in perf_sample_ustack_size()
6767 struct pt_regs *regs) in perf_output_sample_ustack() argument
6770 if (!regs) { in perf_output_sample_ustack()
6793 sp = perf_user_stack_pointer(regs); in perf_output_sample_ustack()
7215 data->regs_user.regs, in perf_output_sample()
7223 data->regs_user.regs); in perf_output_sample()
7247 data->regs_intr.regs, in perf_output_sample()
7411 perf_callchain(struct perf_event *event, struct pt_regs *regs) in perf_callchain() argument
7423 callchain = get_perf_callchain(regs, 0, kernel, user, in perf_callchain()
7431 struct pt_regs *regs) in perf_prepare_sample() argument
7440 header->misc |= perf_misc_flags(regs); in perf_prepare_sample()
7450 data->ip = perf_instruction_pointer(regs); in perf_prepare_sample()
7456 data->callchain = perf_callchain(event, regs); in perf_prepare_sample()
7502 perf_sample_regs_user(&data->regs_user, regs); in perf_prepare_sample()
7508 if (data->regs_user.regs) { in perf_prepare_sample()
7527 data->regs_user.regs); in perf_prepare_sample()
7559 perf_sample_regs_intr(&data->regs_intr, regs); in perf_prepare_sample()
7561 if (data->regs_intr.regs) { in perf_prepare_sample()
7628 struct pt_regs *regs, in __perf_event_output() argument
7641 perf_prepare_sample(&header, data, event, regs); in __perf_event_output()
7659 struct pt_regs *regs) in perf_event_output_forward() argument
7661 __perf_event_output(event, data, regs, perf_output_begin_forward); in perf_event_output_forward()
7667 struct pt_regs *regs) in perf_event_output_backward() argument
7669 __perf_event_output(event, data, regs, perf_output_begin_backward); in perf_event_output_backward()
7675 struct pt_regs *regs) in perf_event_output() argument
7677 return __perf_event_output(event, data, regs, perf_output_begin); in perf_event_output()
9327 static inline bool sample_is_allowed(struct perf_event *event, struct pt_regs *regs) in sample_is_allowed() argument
9334 if (event->attr.exclude_kernel && !user_mode(regs)) in sample_is_allowed()
9346 struct pt_regs *regs) in __perf_event_overflow() argument
9379 bool valid_sample = sample_is_allowed(event, regs); in __perf_event_overflow()
9382 if (regs) in __perf_event_overflow()
9383 pending_id = hash32_ptr((void *)instruction_pointer(regs)) ?: 1; in __perf_event_overflow()
9409 READ_ONCE(event->overflow_handler)(event, data, regs); in __perf_event_overflow()
9421 struct pt_regs *regs) in perf_event_overflow() argument
9423 return __perf_event_overflow(event, 1, data, regs); in perf_event_overflow()
9473 struct pt_regs *regs) in perf_swevent_overflow() argument
9486 data, regs)) { in perf_swevent_overflow()
9499 struct pt_regs *regs) in perf_swevent_event() argument
9505 if (!regs) in perf_swevent_event()
9513 return perf_swevent_overflow(event, 1, data, regs); in perf_swevent_event()
9518 return perf_swevent_overflow(event, 1, data, regs); in perf_swevent_event()
9523 perf_swevent_overflow(event, 0, data, regs); in perf_swevent_event()
9527 struct pt_regs *regs) in perf_exclude_event() argument
9532 if (regs) { in perf_exclude_event()
9533 if (event->attr.exclude_user && user_mode(regs)) in perf_exclude_event()
9536 if (event->attr.exclude_kernel && !user_mode(regs)) in perf_exclude_event()
9547 struct pt_regs *regs) in perf_swevent_match() argument
9555 if (perf_exclude_event(event, regs)) in perf_swevent_match()
9613 struct pt_regs *regs) in do_perf_sw_event() argument
9625 if (perf_swevent_match(event, type, event_id, data, regs)) in do_perf_sw_event()
9626 perf_swevent_event(event, nr, data, regs); in do_perf_sw_event()
9649 void ___perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr) in ___perf_sw_event() argument
9653 if (WARN_ON_ONCE(!regs)) in ___perf_sw_event()
9657 do_perf_sw_event(PERF_TYPE_SOFTWARE, event_id, nr, &data, regs); in ___perf_sw_event()
9660 void __perf_sw_event(u32 event_id, u64 nr, struct pt_regs *regs, u64 addr) in __perf_sw_event() argument
9669 ___perf_sw_event(event_id, nr, regs, addr); in __perf_sw_event()
9887 struct pt_regs *regs) in perf_tp_event_match() argument
9894 if (event->attr.exclude_kernel && !user_mode(regs)) in perf_tp_event_match()
9905 struct pt_regs *regs, struct hlist_head *head, in perf_trace_run_bpf_submit() argument
9909 *(struct pt_regs **)raw_data = regs; in perf_trace_run_bpf_submit()
9915 perf_tp_event(call->event.type, count, raw_data, size, regs, head, in perf_trace_run_bpf_submit()
9921 struct pt_regs *regs, struct hlist_head *head, int rctx, in perf_tp_event() argument
9941 if (perf_tp_event_match(event, &data, regs)) in perf_tp_event()
9942 perf_swevent_event(event, count, &data, regs); in perf_tp_event()
9968 if (perf_tp_event_match(event, &data, regs)) in perf_tp_event()
9969 perf_swevent_event(event, count, &data, regs); in perf_tp_event()
10177 struct pt_regs *regs) in bpf_overflow_handler() argument
10186 ctx.regs = perf_arch_bpf_user_pt_regs(regs); in bpf_overflow_handler()
10195 data->callchain = perf_callchain(event, regs); in bpf_overflow_handler()
10207 event->orig_overflow_handler(event, data, regs); in bpf_overflow_handler()
10363 struct pt_regs *regs = data; in perf_bp_event() local
10367 if (!bp->hw.state && !perf_exclude_event(bp, regs)) in perf_bp_event()
10368 perf_swevent_event(bp, 1, &sample, regs); in perf_bp_event()
10801 struct pt_regs *regs; in perf_swevent_hrtimer() local
10813 regs = get_irq_regs(); in perf_swevent_hrtimer()
10815 if (regs && !perf_exclude_event(event, regs)) { in perf_swevent_hrtimer()
10817 if (__perf_event_overflow(event, 1, &data, regs)) in perf_swevent_hrtimer()