Lines Matching refs:ainsn
103 p->ainsn.inst_flag = 0; in update_kprobe_inst_flag()
104 p->ainsn.target_br_reg = 0; in update_kprobe_inst_flag()
105 p->ainsn.slot = slot; in update_kprobe_inst_flag()
114 p->ainsn.inst_flag |= INST_FLAG_BREAK_INST; in update_kprobe_inst_flag()
121 p->ainsn.inst_flag |= INST_FLAG_FIX_BRANCH_REG; in update_kprobe_inst_flag()
122 p->ainsn.target_br_reg = ((kprobe_inst >> 6) & 0x7); in update_kprobe_inst_flag()
126 p->ainsn.inst_flag |= INST_FLAG_FIX_RELATIVE_IP_ADDR; in update_kprobe_inst_flag()
129 p->ainsn.inst_flag |= INST_FLAG_FIX_RELATIVE_IP_ADDR; in update_kprobe_inst_flag()
130 p->ainsn.inst_flag |= INST_FLAG_FIX_BRANCH_REG; in update_kprobe_inst_flag()
131 p->ainsn.target_br_reg = ((kprobe_inst >> 6) & 0x7); in update_kprobe_inst_flag()
137 p->ainsn.inst_flag |= INST_FLAG_FIX_BRANCH_REG; in update_kprobe_inst_flag()
138 p->ainsn.target_br_reg = ((kprobe_inst >> 6) & 0x7); in update_kprobe_inst_flag()
564 if (can_boost(&p->ainsn.insn[0].bundle, slot, addr)) { in prepare_booster()
565 set_brl_inst(&p->ainsn.insn[1].bundle, (bundle_t *)addr + 1); in prepare_booster()
566 p->ainsn.inst_flag |= INST_FLAG_BOOSTABLE; in prepare_booster()
573 other_kp->ainsn.inst_flag &= ~INST_FLAG_BOOSTABLE; in prepare_booster()
603 p->ainsn.insn = get_insn_slot(); in arch_prepare_kprobe()
604 if (!p->ainsn.insn) in arch_prepare_kprobe()
607 memcpy(p->ainsn.insn, kprobe_addr, sizeof(kprobe_opcode_t)); in arch_prepare_kprobe()
625 flush_icache_range((unsigned long)p->ainsn.insn, in arch_arm_kprobe()
626 (unsigned long)p->ainsn.insn + in arch_arm_kprobe()
629 switch (p->ainsn.slot) { in arch_arm_kprobe()
651 src = &p->ainsn.insn->bundle; in arch_disarm_kprobe()
652 switch (p->ainsn.slot) { in arch_disarm_kprobe()
668 if (p->ainsn.insn) { in arch_remove_kprobe()
669 free_insn_slot(p->ainsn.insn, in arch_remove_kprobe()
670 p->ainsn.inst_flag & INST_FLAG_BOOSTABLE); in arch_remove_kprobe()
671 p->ainsn.insn = NULL; in arch_remove_kprobe()
684 unsigned long bundle_addr = (unsigned long) (&p->ainsn.insn->bundle); in resume_execution()
689 template = p->ainsn.insn->bundle.quad0.template; in resume_execution()
694 if (p->ainsn.inst_flag & ~INST_FLAG_BOOSTABLE) { in resume_execution()
696 if (p->ainsn.inst_flag & INST_FLAG_FIX_RELATIVE_IP_ADDR) { in resume_execution()
702 if (p->ainsn.inst_flag & INST_FLAG_FIX_BRANCH_REG) { in resume_execution()
708 switch (p->ainsn.target_br_reg) { in resume_execution()
752 unsigned long bundle_addr = (unsigned long) &p->ainsn.insn->bundle; in prepare_ss()
756 if (p->ainsn.inst_flag == INST_FLAG_BREAK_INST) in prepare_ss()
801 (p->ainsn.inst_flag == INST_FLAG_BREAK_INST)) { in pre_kprobes_handler()
858 if (p->ainsn.inst_flag == INST_FLAG_BOOSTABLE && !p->post_handler) { in pre_kprobes_handler()
860 ia64_psr(regs)->ri = p->ainsn.slot; in pre_kprobes_handler()
861 regs->cr_iip = (unsigned long)&p->ainsn.insn->bundle & ~0xFULL; in pre_kprobes_handler()