Lines Matching refs:asi

851 prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi)  in prep_emulate_ldr_str()  argument
865 asi->insn[0] = insn; in prep_emulate_ldr_str()
866 asi->insn_handler = (insn & (1 << 20)) ? emulate_ldr : emulate_str; in prep_emulate_ldr_str()
871 prep_emulate_rd12_modify(kprobe_opcode_t insn, struct arch_specific_insn *asi) in prep_emulate_rd12_modify() argument
877 asi->insn[0] = insn; in prep_emulate_rd12_modify()
878 asi->insn_handler = emulate_rd12_modify; in prep_emulate_rd12_modify()
884 struct arch_specific_insn *asi) in prep_emulate_rd12rn0_modify() argument
891 asi->insn[0] = insn; in prep_emulate_rd12rn0_modify()
892 asi->insn_handler = emulate_rd12rn0_modify; in prep_emulate_rd12rn0_modify()
897 prep_emulate_rd12rm0(kprobe_opcode_t insn, struct arch_specific_insn *asi) in prep_emulate_rd12rm0() argument
903 asi->insn[0] = insn; in prep_emulate_rd12rm0()
904 asi->insn_handler = emulate_rd12rm0; in prep_emulate_rd12rm0()
910 struct arch_specific_insn *asi) in prep_emulate_rd12rn16rm0_wflags() argument
917 asi->insn[0] = insn; in prep_emulate_rd12rn16rm0_wflags()
918 asi->insn_handler = emulate_rd12rn16rm0_rwflags; in prep_emulate_rd12rn16rm0_wflags()
924 struct arch_specific_insn *asi) in prep_emulate_rd16rs8rm0_wflags() argument
931 asi->insn[0] = insn; in prep_emulate_rd16rs8rm0_wflags()
932 asi->insn_handler = emulate_rd16rs8rm0_rwflags; in prep_emulate_rd16rs8rm0_wflags()
938 struct arch_specific_insn *asi) in prep_emulate_rd16rn12rs8rm0_wflags() argument
945 asi->insn[0] = insn; in prep_emulate_rd16rn12rs8rm0_wflags()
946 asi->insn_handler = emulate_rd16rn12rs8rm0_rwflags; in prep_emulate_rd16rn12rs8rm0_wflags()
952 struct arch_specific_insn *asi) in prep_emulate_rdhi16rdlo12rs8rm0_wflags() argument
959 asi->insn[0] = insn; in prep_emulate_rdhi16rdlo12rs8rm0_wflags()
960 asi->insn_handler = emulate_rdhi16rdlo12rs8rm0_rwflags; in prep_emulate_rdhi16rdlo12rs8rm0_wflags()
975 space_1111(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_1111() argument
982 asi->insn_handler = emulate_nop; in space_1111()
988 asi->insn_handler = simulate_blx1; in space_1111()
1011 space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_000x() argument
1020 asi->insn_handler = simulate_mrs; in space_cccc_000x()
1027 asi); in space_cccc_000x()
1033 return prep_emulate_rd16rs8rm0_wflags(insn, asi); in space_cccc_000x()
1039 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi); in space_cccc_000x()
1057 asi->insn_handler = simulate_blx2bx; in space_cccc_000x()
1063 return prep_emulate_rd12rm0(insn, asi); in space_cccc_000x()
1070 return prep_emulate_rd12rn16rm0_wflags(insn, asi); in space_cccc_000x()
1101 return prep_emulate_rd16rs8rm0_wflags(insn, asi); in space_cccc_000x()
1103 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi); in space_cccc_000x()
1106 asi); in space_cccc_000x()
1136 asi); in space_cccc_000x()
1156 asi->insn[0] = insn; in space_cccc_000x()
1157 asi->insn_handler = in space_cccc_000x()
1165 return prep_emulate_ldr_str(insn, asi); in space_cccc_000x()
1182 asi->insn_handler = simulate_mov_ipsp; in space_cccc_000x()
1200 asi->insn[0] = insn; in space_cccc_000x()
1209 asi->insn_handler = emulate_alu_tests; in space_cccc_000x()
1212 asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */ in space_cccc_000x()
1219 space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_001x() argument
1224 return prep_emulate_rd12_modify(insn, asi); in space_cccc_001x()
1232 asi->insn[0] = insn; in space_cccc_001x()
1233 asi->insn_handler = emulate_none; in space_cccc_001x()
1243 asi->insn_handler = emulate_nop; in space_cccc_001x()
1267 asi->insn[0] = insn; in space_cccc_001x()
1276 asi->insn_handler = emulate_alu_tests_imm; in space_cccc_001x()
1279 asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */ in space_cccc_001x()
1286 space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_0110__1() argument
1294 asi->insn[0] = insn; in space_cccc_0110__1()
1295 asi->insn_handler = emulate_sel; in space_cccc_0110__1()
1308 asi->insn[0] = insn; in space_cccc_0110__1()
1309 asi->insn_handler = emulate_sat; in space_cccc_0110__1()
1319 return prep_emulate_rd12rm0(insn, asi); in space_cccc_0110__1()
1376 return prep_emulate_rd12rn16rm0_wflags(insn, asi); in space_cccc_0110__1()
1382 return prep_emulate_rd12rn16rm0_wflags(insn, asi); in space_cccc_0110__1()
1403 return prep_emulate_rd12rm0(insn, asi); in space_cccc_0110__1()
1405 return prep_emulate_rd12rn16rm0_wflags(insn, asi); in space_cccc_0110__1()
1413 space_cccc_0111__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_0111__1() argument
1422 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi); in space_cccc_0111__1()
1437 return prep_emulate_rd16rs8rm0_wflags(insn, asi); in space_cccc_0111__1()
1439 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi); in space_cccc_0111__1()
1444 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi); in space_cccc_0111__1()
1449 return prep_emulate_rd12rm0(insn, asi); in space_cccc_0111__1()
1456 return prep_emulate_rd12_modify(insn, asi); in space_cccc_0111__1()
1458 return prep_emulate_rd12rn0_modify(insn, asi); in space_cccc_0111__1()
1465 space_cccc_01xx(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_01xx() argument
1479 return prep_emulate_ldr_str(insn, asi); in space_cccc_01xx()
1483 space_cccc_100x(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_100x() argument
1493 asi->insn_handler = ((insn & 0x108000) == 0x008000) ? /* STM & R15 */ in space_cccc_100x()
1499 space_cccc_101x(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_101x() argument
1503 asi->insn_handler = simulate_bbl; in space_cccc_101x()
1508 space_cccc_11xx(kprobe_opcode_t insn, struct arch_specific_insn *asi) in space_cccc_11xx() argument
1627 arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi) in arm_kprobe_decode_insn() argument
1629 asi->insn_check_cc = condition_checks[insn>>28]; in arm_kprobe_decode_insn()
1630 asi->insn[1] = KPROBE_RETURN_INSTRUCTION; in arm_kprobe_decode_insn()
1634 return space_1111(insn, asi); in arm_kprobe_decode_insn()
1638 return space_cccc_000x(insn, asi); in arm_kprobe_decode_insn()
1642 return space_cccc_001x(insn, asi); in arm_kprobe_decode_insn()
1646 return space_cccc_0110__1(insn, asi); in arm_kprobe_decode_insn()
1650 return space_cccc_0111__1(insn, asi); in arm_kprobe_decode_insn()
1654 return space_cccc_01xx(insn, asi); in arm_kprobe_decode_insn()
1658 return space_cccc_100x(insn, asi); in arm_kprobe_decode_insn()
1662 return space_cccc_101x(insn, asi); in arm_kprobe_decode_insn()
1664 return space_cccc_11xx(insn, asi); in arm_kprobe_decode_insn()