Lines Matching refs:auprobe
25 int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, in arch_uprobe_analyze_insn() argument
30 opcode = *(probe_opcode_t *)(&auprobe->insn[0]); in arch_uprobe_analyze_insn()
32 auprobe->insn_size = GET_INSN_LENGTH(opcode); in arch_uprobe_analyze_insn()
34 switch (riscv_probe_decode_insn(&opcode, &auprobe->api)) { in arch_uprobe_analyze_insn()
39 auprobe->simulate = true; in arch_uprobe_analyze_insn()
43 auprobe->simulate = false; in arch_uprobe_analyze_insn()
53 int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) in arch_uprobe_pre_xol() argument
65 int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) in arch_uprobe_post_xol() argument
71 instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size); in arch_uprobe_post_xol()
84 bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs) in arch_uprobe_skip_sstep() argument
89 if (!auprobe->simulate) in arch_uprobe_skip_sstep()
92 insn = *(probe_opcode_t *)(&auprobe->insn[0]); in arch_uprobe_skip_sstep()
95 if (auprobe->api.handler) in arch_uprobe_skip_sstep()
96 auprobe->api.handler(insn, addr, regs); in arch_uprobe_skip_sstep()
101 void arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs) in arch_uprobe_abort_xol() argument