Lines Matching refs:insn

199 prepare_emulated_insn(probes_opcode_t insn, struct arch_probes_insn *asi,  in prepare_emulated_insn()  argument
204 u16 *thumb_insn = (u16 *)asi->insn; in prepare_emulated_insn()
208 return insn; in prepare_emulated_insn()
210 asi->insn[1] = __opcode_to_mem_arm(0xe12fff1e); /* ARM bx lr */ in prepare_emulated_insn()
212 asi->insn[1] = __opcode_to_mem_arm(0xe1a0f00e); /* mov pc, lr */ in prepare_emulated_insn()
215 if (insn < 0xe0000000) in prepare_emulated_insn()
216 insn = (insn | 0xe0000000) & ~0x10000000; in prepare_emulated_insn()
217 return insn; in prepare_emulated_insn()
225 set_emulated_insn(probes_opcode_t insn, struct arch_probes_insn *asi, in set_emulated_insn() argument
230 u16 *ip = (u16 *)asi->insn; in set_emulated_insn()
231 if (is_wide_instruction(insn)) in set_emulated_insn()
232 *ip++ = __opcode_to_mem_thumb16(insn >> 16); in set_emulated_insn()
233 *ip++ = __opcode_to_mem_thumb16(insn); in set_emulated_insn()
237 asi->insn[0] = __opcode_to_mem_arm(insn); in set_emulated_insn()
263 probes_opcode_t insn = *pinsn; in decode_regs() local
287 if ((insn ^ 0xdddddddd) & mask) in decode_regs()
293 if ((insn ^ 0xffffffff) & mask) in decode_regs()
299 if (((insn ^ 0xdddddddd) & mask) == 0) in decode_regs()
306 if (((insn ^ 0xdddddddd) & 0xdddddddd & mask) == 0) in decode_regs()
311 if (!is_writeback(insn)) in decode_regs()
317 if (((insn ^ 0xffffffff) & mask) == 0) in decode_regs()
323 insn &= ~mask; in decode_regs()
324 insn |= new_bits & mask; in decode_regs()
328 *pinsn = insn; in decode_regs()
346 int action, probes_opcode_t insn, in run_checkers() argument
362 retval = checker_func(insn, asi, h); in run_checkers()
414 probes_decode_insn(probes_opcode_t insn, struct arch_probes_insn *asi, in probes_decode_insn() argument
426 probes_opcode_t origin_insn = insn; in probes_decode_insn()
446 insn = prepare_emulated_insn(insn, asi, thumb); in probes_decode_insn()
458 if (!matched && (insn & h->mask.bits) != h->value.bits) in probes_decode_insn()
461 if (!decode_regs(&insn, regs, emulate)) in probes_decode_insn()
480 return actions[action].decoder(insn, asi, h); in probes_decode_insn()
505 return actions[action].decoder(insn, asi, h); in probes_decode_insn()
508 set_emulated_insn(insn, asi, thumb); in probes_decode_insn()