Lines Matching refs:asi
179 struct arch_probes_insn *asi, in probes_simulate_nop() argument
185 struct arch_probes_insn *asi, in probes_emulate_none() argument
188 asi->insn_fn(); in probes_emulate_none()
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()
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()
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()
237 asi->insn[0] = __opcode_to_mem_arm(insn); in set_emulated_insn()
347 struct arch_probes_insn *asi, 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
436 asi->stack_space = 0; in probes_decode_insn()
443 asi->register_usage_flags = ~0UL; in probes_decode_insn()
446 insn = prepare_emulated_insn(insn, asi, thumb); in probes_decode_insn()
477 err = run_checkers(checkers, action, origin_insn, asi, h); in probes_decode_insn()
480 return actions[action].decoder(insn, asi, h); in probes_decode_insn()
488 err = run_checkers(checkers, action, origin_insn, asi, h); in probes_decode_insn()
491 asi->insn_handler = actions[action].handler; in probes_decode_insn()
500 err = run_checkers(checkers, action, origin_insn, asi, h); in probes_decode_insn()
505 return actions[action].decoder(insn, asi, h); in probes_decode_insn()
507 asi->insn_handler = actions[action].handler; in probes_decode_insn()
508 set_emulated_insn(insn, asi, thumb); in probes_decode_insn()