/src/capstonev5/Mapping.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* Capstone Disassembly Engine */ |
2 | | /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */ |
3 | | /* Rot127 <unisono@quyllur.org>, 2022-2023 */ |
4 | | |
5 | | #ifndef CS_MAPPING_H |
6 | | #define CS_MAPPING_H |
7 | | |
8 | | #if defined(CAPSTONE_HAS_OSXKERNEL) |
9 | | #include <libkern/libkern.h> |
10 | | #else |
11 | | #include "include/capstone/capstone.h" |
12 | | #include <stddef.h> |
13 | | #endif |
14 | | #include "cs_priv.h" |
15 | | #include <assert.h> |
16 | | #include <string.h> |
17 | | |
18 | | // map instruction to its characteristics |
19 | | typedef struct insn_map { |
20 | | unsigned short id; // The LLVM instruction id |
21 | | unsigned short mapid; // The Capstone instruction id |
22 | | #ifndef CAPSTONE_DIET |
23 | | uint16_t regs_use[MAX_IMPL_R_REGS]; ///< list of implicit registers used by |
24 | | ///< this instruction |
25 | | uint16_t regs_mod[MAX_IMPL_W_REGS]; ///< list of implicit registers modified |
26 | | ///< by this instruction |
27 | | unsigned char groups |
28 | | [MAX_NUM_GROUPS]; ///< list of group this instruction belong to |
29 | | bool branch; // branch instruction? |
30 | | bool indirect_branch; // indirect branch instruction? |
31 | | #endif |
32 | | } insn_map; |
33 | | |
34 | | // look for @id in @m, given its size in @max. first time call will update |
35 | | // @cache. return 0 if not found |
36 | | unsigned short insn_find(const insn_map *m, unsigned int max, unsigned int id, |
37 | | unsigned short **cache); |
38 | | |
39 | | unsigned int find_cs_id(unsigned MC_Opcode, const insn_map *imap, |
40 | | unsigned imap_size); |
41 | | |
42 | | #define MAX_NO_DATA_TYPES 10 |
43 | | |
44 | | ///< A LLVM<->CS Mapping entry of an MCOperand. |
45 | | typedef struct { |
46 | | uint8_t /* cs_op_type */ type; ///< Operand type (e.g.: reg, imm, mem) |
47 | | uint8_t /* cs_ac_type */ access; ///< The access type (read, write) |
48 | | uint8_t /* cs_data_type */ |
49 | | dtypes[MAX_NO_DATA_TYPES]; ///< List of op types. Terminated by |
50 | | ///< CS_DATA_TYPE_LAST |
51 | | } mapping_op; |
52 | | |
53 | | #define MAX_NO_INSN_MAP_OPS 16 |
54 | | |
55 | | ///< MCOperands of an instruction. |
56 | | typedef struct { |
57 | | mapping_op |
58 | | ops[MAX_NO_INSN_MAP_OPS]; ///< NULL terminated array of insn_op. |
59 | | } map_insn_ops; |
60 | | |
61 | | /// Only usable by `auto-sync` archs! |
62 | | const cs_op_type mapping_get_op_type(MCInst *MI, unsigned OpNum, |
63 | | const map_insn_ops *insn_ops_map, |
64 | | size_t map_size); |
65 | | |
66 | | /// Only usable by `auto-sync` archs! |
67 | | const cs_ac_type mapping_get_op_access(MCInst *MI, unsigned OpNum, |
68 | | const map_insn_ops *insn_ops_map, |
69 | | size_t map_size); |
70 | | |
71 | | /// Macro for easier access of operand types from the map. |
72 | | /// Assumes the istruction operands map is called "insn_operands" |
73 | | /// Only usable by `auto-sync` archs! |
74 | | #define map_get_op_type(MI, OpNum) \ |
75 | 0 | mapping_get_op_type(MI, OpNum, (const map_insn_ops *)insn_operands, \ |
76 | 0 | sizeof(insn_operands) / sizeof(insn_operands[0])) |
77 | | |
78 | | /// Macro for easier access of operand access flags from the map. |
79 | | /// Assumes the istruction operands map is called "insn_operands" |
80 | | /// Only usable by `auto-sync` archs! |
81 | | #define map_get_op_access(MI, OpNum) \ |
82 | 0 | mapping_get_op_access(MI, OpNum, (const map_insn_ops *)insn_operands, \ |
83 | 0 | sizeof(insn_operands) / \ |
84 | 0 | sizeof(insn_operands[0])) |
85 | | |
86 | | ///< Map for ids to their string |
87 | | typedef struct name_map { |
88 | | unsigned int id; |
89 | | const char *name; |
90 | | } name_map; |
91 | | |
92 | | // map a name to its ID |
93 | | // return 0 if not found |
94 | | int name2id(const name_map *map, int max, const char *name); |
95 | | |
96 | | // map ID to a name |
97 | | // return NULL if not found |
98 | | const char *id2name(const name_map *map, int max, const unsigned int id); |
99 | | |
100 | | void map_add_implicit_write(MCInst *MI, uint32_t Reg); |
101 | | |
102 | | void map_implicit_reads(MCInst *MI, const insn_map *imap); |
103 | | |
104 | | void map_implicit_writes(MCInst *MI, const insn_map *imap); |
105 | | |
106 | | void map_groups(MCInst *MI, const insn_map *imap); |
107 | | |
108 | | void map_cs_id(MCInst *MI, const insn_map *imap, unsigned int imap_size); |
109 | | |
110 | | #define DECL_get_detail_op(arch, ARCH) \ |
111 | | cs_##arch##_op *ARCH##_get_detail_op(MCInst *MI, int offset); |
112 | | |
113 | | DECL_get_detail_op(arm, ARM); |
114 | | DECL_get_detail_op(ppc, PPC); |
115 | | DECL_get_detail_op(tricore, TriCore); |
116 | | |
117 | | /// Increments the detail->arch.op_count by one. |
118 | | #define DEFINE_inc_detail_op_count(arch, ARCH) \ |
119 | | static inline void ARCH##_inc_op_count(MCInst *MI) \ |
120 | 0 | { \ |
121 | 0 | MI->flat_insn->detail->arch.op_count++; \ |
122 | 0 | } Unexecuted instantiation: cs.c:ARM_inc_op_count Unexecuted instantiation: cs.c:PPC_inc_op_count Unexecuted instantiation: cs.c:TriCore_inc_op_count Unexecuted instantiation: MCInst.c:ARM_inc_op_count Unexecuted instantiation: MCInst.c:PPC_inc_op_count Unexecuted instantiation: MCInst.c:TriCore_inc_op_count Unexecuted instantiation: SStream.c:ARM_inc_op_count Unexecuted instantiation: SStream.c:PPC_inc_op_count Unexecuted instantiation: SStream.c:TriCore_inc_op_count Unexecuted instantiation: utils.c:ARM_inc_op_count Unexecuted instantiation: utils.c:PPC_inc_op_count Unexecuted instantiation: utils.c:TriCore_inc_op_count Unexecuted instantiation: ARMModule.c:ARM_inc_op_count Unexecuted instantiation: ARMModule.c:PPC_inc_op_count Unexecuted instantiation: ARMModule.c:TriCore_inc_op_count Unexecuted instantiation: AArch64Module.c:ARM_inc_op_count Unexecuted instantiation: AArch64Module.c:PPC_inc_op_count Unexecuted instantiation: AArch64Module.c:TriCore_inc_op_count Unexecuted instantiation: MipsModule.c:ARM_inc_op_count Unexecuted instantiation: MipsModule.c:PPC_inc_op_count Unexecuted instantiation: MipsModule.c:TriCore_inc_op_count Unexecuted instantiation: PPCModule.c:ARM_inc_op_count Unexecuted instantiation: PPCModule.c:PPC_inc_op_count Unexecuted instantiation: PPCModule.c:TriCore_inc_op_count Unexecuted instantiation: X86Module.c:ARM_inc_op_count Unexecuted instantiation: X86Module.c:PPC_inc_op_count Unexecuted instantiation: X86Module.c:TriCore_inc_op_count Unexecuted instantiation: X86ATTInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: X86ATTInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: X86ATTInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: SparcModule.c:ARM_inc_op_count Unexecuted instantiation: SparcModule.c:PPC_inc_op_count Unexecuted instantiation: SparcModule.c:TriCore_inc_op_count Unexecuted instantiation: SystemZModule.c:ARM_inc_op_count Unexecuted instantiation: SystemZModule.c:PPC_inc_op_count Unexecuted instantiation: SystemZModule.c:TriCore_inc_op_count Unexecuted instantiation: XCoreModule.c:ARM_inc_op_count Unexecuted instantiation: XCoreModule.c:PPC_inc_op_count Unexecuted instantiation: XCoreModule.c:TriCore_inc_op_count Unexecuted instantiation: M68KModule.c:ARM_inc_op_count Unexecuted instantiation: M68KModule.c:PPC_inc_op_count Unexecuted instantiation: M68KModule.c:TriCore_inc_op_count Unexecuted instantiation: TMS320C64xModule.c:ARM_inc_op_count Unexecuted instantiation: TMS320C64xModule.c:PPC_inc_op_count Unexecuted instantiation: TMS320C64xModule.c:TriCore_inc_op_count Unexecuted instantiation: M680XModule.c:ARM_inc_op_count Unexecuted instantiation: M680XModule.c:PPC_inc_op_count Unexecuted instantiation: M680XModule.c:TriCore_inc_op_count Unexecuted instantiation: EVMModule.c:ARM_inc_op_count Unexecuted instantiation: EVMModule.c:PPC_inc_op_count Unexecuted instantiation: EVMModule.c:TriCore_inc_op_count Unexecuted instantiation: WASMModule.c:ARM_inc_op_count Unexecuted instantiation: WASMModule.c:PPC_inc_op_count Unexecuted instantiation: WASMModule.c:TriCore_inc_op_count Unexecuted instantiation: MOS65XXModule.c:ARM_inc_op_count Unexecuted instantiation: MOS65XXModule.c:PPC_inc_op_count Unexecuted instantiation: MOS65XXModule.c:TriCore_inc_op_count Unexecuted instantiation: MOS65XXDisassembler.c:ARM_inc_op_count Unexecuted instantiation: MOS65XXDisassembler.c:PPC_inc_op_count Unexecuted instantiation: MOS65XXDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: BPFModule.c:ARM_inc_op_count Unexecuted instantiation: BPFModule.c:PPC_inc_op_count Unexecuted instantiation: BPFModule.c:TriCore_inc_op_count Unexecuted instantiation: RISCVModule.c:ARM_inc_op_count Unexecuted instantiation: RISCVModule.c:PPC_inc_op_count Unexecuted instantiation: RISCVModule.c:TriCore_inc_op_count Unexecuted instantiation: SHModule.c:ARM_inc_op_count Unexecuted instantiation: SHModule.c:PPC_inc_op_count Unexecuted instantiation: SHModule.c:TriCore_inc_op_count Unexecuted instantiation: TriCoreModule.c:ARM_inc_op_count Unexecuted instantiation: TriCoreModule.c:PPC_inc_op_count Unexecuted instantiation: TriCoreModule.c:TriCore_inc_op_count Unexecuted instantiation: ARMDisassembler.c:ARM_inc_op_count Unexecuted instantiation: ARMDisassembler.c:PPC_inc_op_count Unexecuted instantiation: ARMDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: ARMInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: ARMInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: ARMInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: ARMMapping.c:PPC_inc_op_count Unexecuted instantiation: ARMMapping.c:TriCore_inc_op_count Unexecuted instantiation: AArch64Disassembler.c:ARM_inc_op_count Unexecuted instantiation: AArch64Disassembler.c:PPC_inc_op_count Unexecuted instantiation: AArch64Disassembler.c:TriCore_inc_op_count Unexecuted instantiation: AArch64InstPrinter.c:ARM_inc_op_count Unexecuted instantiation: AArch64InstPrinter.c:PPC_inc_op_count Unexecuted instantiation: AArch64InstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: AArch64Mapping.c:ARM_inc_op_count Unexecuted instantiation: AArch64Mapping.c:PPC_inc_op_count Unexecuted instantiation: AArch64Mapping.c:TriCore_inc_op_count Unexecuted instantiation: MipsDisassembler.c:ARM_inc_op_count Unexecuted instantiation: MipsDisassembler.c:PPC_inc_op_count Unexecuted instantiation: MipsDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: MipsInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: MipsInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: MipsInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: MipsMapping.c:ARM_inc_op_count Unexecuted instantiation: MipsMapping.c:PPC_inc_op_count Unexecuted instantiation: MipsMapping.c:TriCore_inc_op_count Unexecuted instantiation: PPCDisassembler.c:ARM_inc_op_count Unexecuted instantiation: PPCDisassembler.c:PPC_inc_op_count Unexecuted instantiation: PPCDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: PPCInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: PPCInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: PPCInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: PPCMapping.c:ARM_inc_op_count Unexecuted instantiation: PPCMapping.c:TriCore_inc_op_count Unexecuted instantiation: X86Disassembler.c:ARM_inc_op_count Unexecuted instantiation: X86Disassembler.c:PPC_inc_op_count Unexecuted instantiation: X86Disassembler.c:TriCore_inc_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:ARM_inc_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:PPC_inc_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:TriCore_inc_op_count Unexecuted instantiation: X86IntelInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: X86IntelInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: X86IntelInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: X86InstPrinterCommon.c:ARM_inc_op_count Unexecuted instantiation: X86InstPrinterCommon.c:PPC_inc_op_count Unexecuted instantiation: X86InstPrinterCommon.c:TriCore_inc_op_count Unexecuted instantiation: X86Mapping.c:ARM_inc_op_count Unexecuted instantiation: X86Mapping.c:PPC_inc_op_count Unexecuted instantiation: X86Mapping.c:TriCore_inc_op_count Unexecuted instantiation: SparcDisassembler.c:ARM_inc_op_count Unexecuted instantiation: SparcDisassembler.c:PPC_inc_op_count Unexecuted instantiation: SparcDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: SparcInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: SparcInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: SparcInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: SparcMapping.c:ARM_inc_op_count Unexecuted instantiation: SparcMapping.c:PPC_inc_op_count Unexecuted instantiation: SparcMapping.c:TriCore_inc_op_count Unexecuted instantiation: SystemZDisassembler.c:ARM_inc_op_count Unexecuted instantiation: SystemZDisassembler.c:PPC_inc_op_count Unexecuted instantiation: SystemZDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: SystemZInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: SystemZInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: SystemZInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: SystemZMapping.c:ARM_inc_op_count Unexecuted instantiation: SystemZMapping.c:PPC_inc_op_count Unexecuted instantiation: SystemZMapping.c:TriCore_inc_op_count Unexecuted instantiation: XCoreDisassembler.c:ARM_inc_op_count Unexecuted instantiation: XCoreDisassembler.c:PPC_inc_op_count Unexecuted instantiation: XCoreDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: XCoreInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: XCoreInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: XCoreInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: XCoreMapping.c:ARM_inc_op_count Unexecuted instantiation: XCoreMapping.c:PPC_inc_op_count Unexecuted instantiation: XCoreMapping.c:TriCore_inc_op_count Unexecuted instantiation: M68KDisassembler.c:ARM_inc_op_count Unexecuted instantiation: M68KDisassembler.c:PPC_inc_op_count Unexecuted instantiation: M68KDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: M68KInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: M68KInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: M68KInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:ARM_inc_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:PPC_inc_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: TMS320C64xMapping.c:ARM_inc_op_count Unexecuted instantiation: TMS320C64xMapping.c:PPC_inc_op_count Unexecuted instantiation: TMS320C64xMapping.c:TriCore_inc_op_count Unexecuted instantiation: M680XDisassembler.c:ARM_inc_op_count Unexecuted instantiation: M680XDisassembler.c:PPC_inc_op_count Unexecuted instantiation: M680XDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: M680XInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: M680XInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: M680XInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: EVMMapping.c:ARM_inc_op_count Unexecuted instantiation: EVMMapping.c:PPC_inc_op_count Unexecuted instantiation: EVMMapping.c:TriCore_inc_op_count Unexecuted instantiation: WASMMapping.c:ARM_inc_op_count Unexecuted instantiation: WASMMapping.c:PPC_inc_op_count Unexecuted instantiation: WASMMapping.c:TriCore_inc_op_count Unexecuted instantiation: BPFMapping.c:ARM_inc_op_count Unexecuted instantiation: BPFMapping.c:PPC_inc_op_count Unexecuted instantiation: BPFMapping.c:TriCore_inc_op_count Unexecuted instantiation: RISCVDisassembler.c:ARM_inc_op_count Unexecuted instantiation: RISCVDisassembler.c:PPC_inc_op_count Unexecuted instantiation: RISCVDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: RISCVInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: RISCVInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: RISCVInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: RISCVMapping.c:ARM_inc_op_count Unexecuted instantiation: RISCVMapping.c:PPC_inc_op_count Unexecuted instantiation: RISCVMapping.c:TriCore_inc_op_count Unexecuted instantiation: SHDisassembler.c:ARM_inc_op_count Unexecuted instantiation: SHDisassembler.c:PPC_inc_op_count Unexecuted instantiation: SHDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: SHInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: SHInstPrinter.c:PPC_inc_op_count Unexecuted instantiation: SHInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: TriCoreDisassembler.c:ARM_inc_op_count Unexecuted instantiation: TriCoreDisassembler.c:PPC_inc_op_count Unexecuted instantiation: TriCoreDisassembler.c:TriCore_inc_op_count Unexecuted instantiation: TriCoreMapping.c:ARM_inc_op_count Unexecuted instantiation: TriCoreMapping.c:PPC_inc_op_count Unexecuted instantiation: TriCoreMapping.c:TriCore_inc_op_count Unexecuted instantiation: Mapping.c:ARM_inc_op_count Unexecuted instantiation: Mapping.c:PPC_inc_op_count Unexecuted instantiation: Mapping.c:TriCore_inc_op_count Unexecuted instantiation: AArch64BaseInfo.c:ARM_inc_op_count Unexecuted instantiation: AArch64BaseInfo.c:PPC_inc_op_count Unexecuted instantiation: AArch64BaseInfo.c:TriCore_inc_op_count Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_inc_op_count Unexecuted instantiation: TriCoreInstPrinter.c:ARM_inc_op_count Unexecuted instantiation: TriCoreInstPrinter.c:PPC_inc_op_count |
123 | | |
124 | | /// Decrements the detail->arch.op_count by one. |
125 | | #define DEFINE_dec_detail_op_count(arch, ARCH) \ |
126 | | static inline void ARCH##_dec_op_count(MCInst *MI) \ |
127 | 0 | { \ |
128 | 0 | MI->flat_insn->detail->arch.op_count--; \ |
129 | 0 | } Unexecuted instantiation: cs.c:ARM_dec_op_count Unexecuted instantiation: cs.c:PPC_dec_op_count Unexecuted instantiation: cs.c:TriCore_dec_op_count Unexecuted instantiation: MCInst.c:ARM_dec_op_count Unexecuted instantiation: MCInst.c:PPC_dec_op_count Unexecuted instantiation: MCInst.c:TriCore_dec_op_count Unexecuted instantiation: SStream.c:ARM_dec_op_count Unexecuted instantiation: SStream.c:PPC_dec_op_count Unexecuted instantiation: SStream.c:TriCore_dec_op_count Unexecuted instantiation: utils.c:ARM_dec_op_count Unexecuted instantiation: utils.c:PPC_dec_op_count Unexecuted instantiation: utils.c:TriCore_dec_op_count Unexecuted instantiation: ARMModule.c:ARM_dec_op_count Unexecuted instantiation: ARMModule.c:PPC_dec_op_count Unexecuted instantiation: ARMModule.c:TriCore_dec_op_count Unexecuted instantiation: AArch64Module.c:ARM_dec_op_count Unexecuted instantiation: AArch64Module.c:PPC_dec_op_count Unexecuted instantiation: AArch64Module.c:TriCore_dec_op_count Unexecuted instantiation: MipsModule.c:ARM_dec_op_count Unexecuted instantiation: MipsModule.c:PPC_dec_op_count Unexecuted instantiation: MipsModule.c:TriCore_dec_op_count Unexecuted instantiation: PPCModule.c:ARM_dec_op_count Unexecuted instantiation: PPCModule.c:PPC_dec_op_count Unexecuted instantiation: PPCModule.c:TriCore_dec_op_count Unexecuted instantiation: X86Module.c:ARM_dec_op_count Unexecuted instantiation: X86Module.c:PPC_dec_op_count Unexecuted instantiation: X86Module.c:TriCore_dec_op_count Unexecuted instantiation: X86ATTInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: X86ATTInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: X86ATTInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: SparcModule.c:ARM_dec_op_count Unexecuted instantiation: SparcModule.c:PPC_dec_op_count Unexecuted instantiation: SparcModule.c:TriCore_dec_op_count Unexecuted instantiation: SystemZModule.c:ARM_dec_op_count Unexecuted instantiation: SystemZModule.c:PPC_dec_op_count Unexecuted instantiation: SystemZModule.c:TriCore_dec_op_count Unexecuted instantiation: XCoreModule.c:ARM_dec_op_count Unexecuted instantiation: XCoreModule.c:PPC_dec_op_count Unexecuted instantiation: XCoreModule.c:TriCore_dec_op_count Unexecuted instantiation: M68KModule.c:ARM_dec_op_count Unexecuted instantiation: M68KModule.c:PPC_dec_op_count Unexecuted instantiation: M68KModule.c:TriCore_dec_op_count Unexecuted instantiation: TMS320C64xModule.c:ARM_dec_op_count Unexecuted instantiation: TMS320C64xModule.c:PPC_dec_op_count Unexecuted instantiation: TMS320C64xModule.c:TriCore_dec_op_count Unexecuted instantiation: M680XModule.c:ARM_dec_op_count Unexecuted instantiation: M680XModule.c:PPC_dec_op_count Unexecuted instantiation: M680XModule.c:TriCore_dec_op_count Unexecuted instantiation: EVMModule.c:ARM_dec_op_count Unexecuted instantiation: EVMModule.c:PPC_dec_op_count Unexecuted instantiation: EVMModule.c:TriCore_dec_op_count Unexecuted instantiation: WASMModule.c:ARM_dec_op_count Unexecuted instantiation: WASMModule.c:PPC_dec_op_count Unexecuted instantiation: WASMModule.c:TriCore_dec_op_count Unexecuted instantiation: MOS65XXModule.c:ARM_dec_op_count Unexecuted instantiation: MOS65XXModule.c:PPC_dec_op_count Unexecuted instantiation: MOS65XXModule.c:TriCore_dec_op_count Unexecuted instantiation: MOS65XXDisassembler.c:ARM_dec_op_count Unexecuted instantiation: MOS65XXDisassembler.c:PPC_dec_op_count Unexecuted instantiation: MOS65XXDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: BPFModule.c:ARM_dec_op_count Unexecuted instantiation: BPFModule.c:PPC_dec_op_count Unexecuted instantiation: BPFModule.c:TriCore_dec_op_count Unexecuted instantiation: RISCVModule.c:ARM_dec_op_count Unexecuted instantiation: RISCVModule.c:PPC_dec_op_count Unexecuted instantiation: RISCVModule.c:TriCore_dec_op_count Unexecuted instantiation: SHModule.c:ARM_dec_op_count Unexecuted instantiation: SHModule.c:PPC_dec_op_count Unexecuted instantiation: SHModule.c:TriCore_dec_op_count Unexecuted instantiation: TriCoreModule.c:ARM_dec_op_count Unexecuted instantiation: TriCoreModule.c:PPC_dec_op_count Unexecuted instantiation: TriCoreModule.c:TriCore_dec_op_count Unexecuted instantiation: ARMDisassembler.c:ARM_dec_op_count Unexecuted instantiation: ARMDisassembler.c:PPC_dec_op_count Unexecuted instantiation: ARMDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: ARMInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: ARMInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: ARMInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: ARMMapping.c:PPC_dec_op_count Unexecuted instantiation: ARMMapping.c:TriCore_dec_op_count Unexecuted instantiation: AArch64Disassembler.c:ARM_dec_op_count Unexecuted instantiation: AArch64Disassembler.c:PPC_dec_op_count Unexecuted instantiation: AArch64Disassembler.c:TriCore_dec_op_count Unexecuted instantiation: AArch64InstPrinter.c:ARM_dec_op_count Unexecuted instantiation: AArch64InstPrinter.c:PPC_dec_op_count Unexecuted instantiation: AArch64InstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: AArch64Mapping.c:ARM_dec_op_count Unexecuted instantiation: AArch64Mapping.c:PPC_dec_op_count Unexecuted instantiation: AArch64Mapping.c:TriCore_dec_op_count Unexecuted instantiation: MipsDisassembler.c:ARM_dec_op_count Unexecuted instantiation: MipsDisassembler.c:PPC_dec_op_count Unexecuted instantiation: MipsDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: MipsInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: MipsInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: MipsInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: MipsMapping.c:ARM_dec_op_count Unexecuted instantiation: MipsMapping.c:PPC_dec_op_count Unexecuted instantiation: MipsMapping.c:TriCore_dec_op_count Unexecuted instantiation: PPCDisassembler.c:ARM_dec_op_count Unexecuted instantiation: PPCDisassembler.c:PPC_dec_op_count Unexecuted instantiation: PPCDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: PPCInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: PPCInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: PPCInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: PPCMapping.c:ARM_dec_op_count Unexecuted instantiation: PPCMapping.c:PPC_dec_op_count Unexecuted instantiation: PPCMapping.c:TriCore_dec_op_count Unexecuted instantiation: X86Disassembler.c:ARM_dec_op_count Unexecuted instantiation: X86Disassembler.c:PPC_dec_op_count Unexecuted instantiation: X86Disassembler.c:TriCore_dec_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:ARM_dec_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:PPC_dec_op_count Unexecuted instantiation: X86DisassemblerDecoder.c:TriCore_dec_op_count Unexecuted instantiation: X86IntelInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: X86IntelInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: X86IntelInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: X86InstPrinterCommon.c:ARM_dec_op_count Unexecuted instantiation: X86InstPrinterCommon.c:PPC_dec_op_count Unexecuted instantiation: X86InstPrinterCommon.c:TriCore_dec_op_count Unexecuted instantiation: X86Mapping.c:ARM_dec_op_count Unexecuted instantiation: X86Mapping.c:PPC_dec_op_count Unexecuted instantiation: X86Mapping.c:TriCore_dec_op_count Unexecuted instantiation: SparcDisassembler.c:ARM_dec_op_count Unexecuted instantiation: SparcDisassembler.c:PPC_dec_op_count Unexecuted instantiation: SparcDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: SparcInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: SparcInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: SparcInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: SparcMapping.c:ARM_dec_op_count Unexecuted instantiation: SparcMapping.c:PPC_dec_op_count Unexecuted instantiation: SparcMapping.c:TriCore_dec_op_count Unexecuted instantiation: SystemZDisassembler.c:ARM_dec_op_count Unexecuted instantiation: SystemZDisassembler.c:PPC_dec_op_count Unexecuted instantiation: SystemZDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: SystemZInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: SystemZInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: SystemZInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: SystemZMapping.c:ARM_dec_op_count Unexecuted instantiation: SystemZMapping.c:PPC_dec_op_count Unexecuted instantiation: SystemZMapping.c:TriCore_dec_op_count Unexecuted instantiation: XCoreDisassembler.c:ARM_dec_op_count Unexecuted instantiation: XCoreDisassembler.c:PPC_dec_op_count Unexecuted instantiation: XCoreDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: XCoreInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: XCoreInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: XCoreInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: XCoreMapping.c:ARM_dec_op_count Unexecuted instantiation: XCoreMapping.c:PPC_dec_op_count Unexecuted instantiation: XCoreMapping.c:TriCore_dec_op_count Unexecuted instantiation: M68KDisassembler.c:ARM_dec_op_count Unexecuted instantiation: M68KDisassembler.c:PPC_dec_op_count Unexecuted instantiation: M68KDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: M68KInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: M68KInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: M68KInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:ARM_dec_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:PPC_dec_op_count Unexecuted instantiation: TMS320C64xDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: TMS320C64xInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: TMS320C64xMapping.c:ARM_dec_op_count Unexecuted instantiation: TMS320C64xMapping.c:PPC_dec_op_count Unexecuted instantiation: TMS320C64xMapping.c:TriCore_dec_op_count Unexecuted instantiation: M680XDisassembler.c:ARM_dec_op_count Unexecuted instantiation: M680XDisassembler.c:PPC_dec_op_count Unexecuted instantiation: M680XDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: M680XInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: M680XInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: M680XInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: EVMMapping.c:ARM_dec_op_count Unexecuted instantiation: EVMMapping.c:PPC_dec_op_count Unexecuted instantiation: EVMMapping.c:TriCore_dec_op_count Unexecuted instantiation: WASMMapping.c:ARM_dec_op_count Unexecuted instantiation: WASMMapping.c:PPC_dec_op_count Unexecuted instantiation: WASMMapping.c:TriCore_dec_op_count Unexecuted instantiation: BPFMapping.c:ARM_dec_op_count Unexecuted instantiation: BPFMapping.c:PPC_dec_op_count Unexecuted instantiation: BPFMapping.c:TriCore_dec_op_count Unexecuted instantiation: RISCVDisassembler.c:ARM_dec_op_count Unexecuted instantiation: RISCVDisassembler.c:PPC_dec_op_count Unexecuted instantiation: RISCVDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: RISCVInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: RISCVInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: RISCVInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: RISCVMapping.c:ARM_dec_op_count Unexecuted instantiation: RISCVMapping.c:PPC_dec_op_count Unexecuted instantiation: RISCVMapping.c:TriCore_dec_op_count Unexecuted instantiation: SHDisassembler.c:ARM_dec_op_count Unexecuted instantiation: SHDisassembler.c:PPC_dec_op_count Unexecuted instantiation: SHDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: SHInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: SHInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: SHInstPrinter.c:TriCore_dec_op_count Unexecuted instantiation: TriCoreDisassembler.c:ARM_dec_op_count Unexecuted instantiation: TriCoreDisassembler.c:PPC_dec_op_count Unexecuted instantiation: TriCoreDisassembler.c:TriCore_dec_op_count Unexecuted instantiation: TriCoreMapping.c:ARM_dec_op_count Unexecuted instantiation: TriCoreMapping.c:PPC_dec_op_count Unexecuted instantiation: TriCoreMapping.c:TriCore_dec_op_count Unexecuted instantiation: Mapping.c:ARM_dec_op_count Unexecuted instantiation: Mapping.c:PPC_dec_op_count Unexecuted instantiation: Mapping.c:TriCore_dec_op_count Unexecuted instantiation: AArch64BaseInfo.c:ARM_dec_op_count Unexecuted instantiation: AArch64BaseInfo.c:PPC_dec_op_count Unexecuted instantiation: AArch64BaseInfo.c:TriCore_dec_op_count Unexecuted instantiation: TriCoreInstPrinter.c:ARM_dec_op_count Unexecuted instantiation: TriCoreInstPrinter.c:PPC_dec_op_count Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_dec_op_count |
130 | | |
131 | | DEFINE_inc_detail_op_count(arm, ARM); |
132 | | DEFINE_dec_detail_op_count(arm, ARM); |
133 | | DEFINE_inc_detail_op_count(ppc, PPC); |
134 | | DEFINE_dec_detail_op_count(ppc, PPC); |
135 | | DEFINE_inc_detail_op_count(tricore, TriCore); |
136 | | DEFINE_dec_detail_op_count(tricore, TriCore); |
137 | | |
138 | | /// Returns true if a memory operand is currently edited. |
139 | | static inline bool doing_mem(const MCInst *MI) |
140 | 0 | { |
141 | 0 | return MI->csh->doing_mem; |
142 | 0 | } Unexecuted instantiation: cs.c:doing_mem Unexecuted instantiation: MCInst.c:doing_mem Unexecuted instantiation: SStream.c:doing_mem Unexecuted instantiation: utils.c:doing_mem Unexecuted instantiation: ARMModule.c:doing_mem Unexecuted instantiation: AArch64Module.c:doing_mem Unexecuted instantiation: MipsModule.c:doing_mem Unexecuted instantiation: PPCModule.c:doing_mem Unexecuted instantiation: X86Module.c:doing_mem Unexecuted instantiation: X86ATTInstPrinter.c:doing_mem Unexecuted instantiation: SparcModule.c:doing_mem Unexecuted instantiation: SystemZModule.c:doing_mem Unexecuted instantiation: XCoreModule.c:doing_mem Unexecuted instantiation: M68KModule.c:doing_mem Unexecuted instantiation: TMS320C64xModule.c:doing_mem Unexecuted instantiation: M680XModule.c:doing_mem Unexecuted instantiation: EVMModule.c:doing_mem Unexecuted instantiation: WASMModule.c:doing_mem Unexecuted instantiation: MOS65XXModule.c:doing_mem Unexecuted instantiation: MOS65XXDisassembler.c:doing_mem Unexecuted instantiation: BPFModule.c:doing_mem Unexecuted instantiation: RISCVModule.c:doing_mem Unexecuted instantiation: SHModule.c:doing_mem Unexecuted instantiation: TriCoreModule.c:doing_mem Unexecuted instantiation: ARMDisassembler.c:doing_mem Unexecuted instantiation: ARMInstPrinter.c:doing_mem Unexecuted instantiation: AArch64Disassembler.c:doing_mem Unexecuted instantiation: AArch64InstPrinter.c:doing_mem Unexecuted instantiation: AArch64Mapping.c:doing_mem Unexecuted instantiation: MipsDisassembler.c:doing_mem Unexecuted instantiation: MipsInstPrinter.c:doing_mem Unexecuted instantiation: MipsMapping.c:doing_mem Unexecuted instantiation: PPCDisassembler.c:doing_mem Unexecuted instantiation: PPCInstPrinter.c:doing_mem Unexecuted instantiation: X86Disassembler.c:doing_mem Unexecuted instantiation: X86DisassemblerDecoder.c:doing_mem Unexecuted instantiation: X86IntelInstPrinter.c:doing_mem Unexecuted instantiation: X86InstPrinterCommon.c:doing_mem Unexecuted instantiation: X86Mapping.c:doing_mem Unexecuted instantiation: SparcDisassembler.c:doing_mem Unexecuted instantiation: SparcInstPrinter.c:doing_mem Unexecuted instantiation: SparcMapping.c:doing_mem Unexecuted instantiation: SystemZDisassembler.c:doing_mem Unexecuted instantiation: SystemZInstPrinter.c:doing_mem Unexecuted instantiation: SystemZMapping.c:doing_mem Unexecuted instantiation: XCoreDisassembler.c:doing_mem Unexecuted instantiation: XCoreInstPrinter.c:doing_mem Unexecuted instantiation: XCoreMapping.c:doing_mem Unexecuted instantiation: M68KDisassembler.c:doing_mem Unexecuted instantiation: M68KInstPrinter.c:doing_mem Unexecuted instantiation: TMS320C64xDisassembler.c:doing_mem Unexecuted instantiation: TMS320C64xInstPrinter.c:doing_mem Unexecuted instantiation: TMS320C64xMapping.c:doing_mem Unexecuted instantiation: M680XDisassembler.c:doing_mem Unexecuted instantiation: M680XInstPrinter.c:doing_mem Unexecuted instantiation: EVMMapping.c:doing_mem Unexecuted instantiation: WASMMapping.c:doing_mem Unexecuted instantiation: BPFMapping.c:doing_mem Unexecuted instantiation: RISCVDisassembler.c:doing_mem Unexecuted instantiation: RISCVInstPrinter.c:doing_mem Unexecuted instantiation: RISCVMapping.c:doing_mem Unexecuted instantiation: SHDisassembler.c:doing_mem Unexecuted instantiation: SHInstPrinter.c:doing_mem Unexecuted instantiation: TriCoreDisassembler.c:doing_mem Unexecuted instantiation: TriCoreMapping.c:doing_mem Unexecuted instantiation: Mapping.c:doing_mem Unexecuted instantiation: AArch64BaseInfo.c:doing_mem Unexecuted instantiation: TriCoreInstPrinter.c:doing_mem |
143 | | |
144 | | /// Sets the doing_mem flag to @status. |
145 | | static inline void set_doing_mem(const MCInst *MI, bool status) |
146 | 0 | { |
147 | 0 | MI->csh->doing_mem = status; |
148 | 0 | } Unexecuted instantiation: cs.c:set_doing_mem Unexecuted instantiation: MCInst.c:set_doing_mem Unexecuted instantiation: SStream.c:set_doing_mem Unexecuted instantiation: utils.c:set_doing_mem Unexecuted instantiation: ARMModule.c:set_doing_mem Unexecuted instantiation: AArch64Module.c:set_doing_mem Unexecuted instantiation: MipsModule.c:set_doing_mem Unexecuted instantiation: PPCModule.c:set_doing_mem Unexecuted instantiation: X86Module.c:set_doing_mem Unexecuted instantiation: X86ATTInstPrinter.c:set_doing_mem Unexecuted instantiation: SparcModule.c:set_doing_mem Unexecuted instantiation: SystemZModule.c:set_doing_mem Unexecuted instantiation: XCoreModule.c:set_doing_mem Unexecuted instantiation: M68KModule.c:set_doing_mem Unexecuted instantiation: TMS320C64xModule.c:set_doing_mem Unexecuted instantiation: M680XModule.c:set_doing_mem Unexecuted instantiation: EVMModule.c:set_doing_mem Unexecuted instantiation: WASMModule.c:set_doing_mem Unexecuted instantiation: MOS65XXModule.c:set_doing_mem Unexecuted instantiation: MOS65XXDisassembler.c:set_doing_mem Unexecuted instantiation: BPFModule.c:set_doing_mem Unexecuted instantiation: RISCVModule.c:set_doing_mem Unexecuted instantiation: SHModule.c:set_doing_mem Unexecuted instantiation: TriCoreModule.c:set_doing_mem Unexecuted instantiation: ARMDisassembler.c:set_doing_mem Unexecuted instantiation: ARMInstPrinter.c:set_doing_mem Unexecuted instantiation: AArch64Disassembler.c:set_doing_mem Unexecuted instantiation: AArch64InstPrinter.c:set_doing_mem Unexecuted instantiation: MipsDisassembler.c:set_doing_mem Unexecuted instantiation: MipsInstPrinter.c:set_doing_mem Unexecuted instantiation: MipsMapping.c:set_doing_mem Unexecuted instantiation: PPCDisassembler.c:set_doing_mem Unexecuted instantiation: PPCInstPrinter.c:set_doing_mem Unexecuted instantiation: X86Disassembler.c:set_doing_mem Unexecuted instantiation: X86DisassemblerDecoder.c:set_doing_mem Unexecuted instantiation: X86IntelInstPrinter.c:set_doing_mem Unexecuted instantiation: X86InstPrinterCommon.c:set_doing_mem Unexecuted instantiation: X86Mapping.c:set_doing_mem Unexecuted instantiation: SparcDisassembler.c:set_doing_mem Unexecuted instantiation: SparcInstPrinter.c:set_doing_mem Unexecuted instantiation: SparcMapping.c:set_doing_mem Unexecuted instantiation: SystemZDisassembler.c:set_doing_mem Unexecuted instantiation: SystemZInstPrinter.c:set_doing_mem Unexecuted instantiation: SystemZMapping.c:set_doing_mem Unexecuted instantiation: XCoreDisassembler.c:set_doing_mem Unexecuted instantiation: XCoreInstPrinter.c:set_doing_mem Unexecuted instantiation: XCoreMapping.c:set_doing_mem Unexecuted instantiation: M68KDisassembler.c:set_doing_mem Unexecuted instantiation: M68KInstPrinter.c:set_doing_mem Unexecuted instantiation: TMS320C64xDisassembler.c:set_doing_mem Unexecuted instantiation: TMS320C64xInstPrinter.c:set_doing_mem Unexecuted instantiation: TMS320C64xMapping.c:set_doing_mem Unexecuted instantiation: M680XDisassembler.c:set_doing_mem Unexecuted instantiation: M680XInstPrinter.c:set_doing_mem Unexecuted instantiation: EVMMapping.c:set_doing_mem Unexecuted instantiation: WASMMapping.c:set_doing_mem Unexecuted instantiation: BPFMapping.c:set_doing_mem Unexecuted instantiation: RISCVDisassembler.c:set_doing_mem Unexecuted instantiation: RISCVInstPrinter.c:set_doing_mem Unexecuted instantiation: RISCVMapping.c:set_doing_mem Unexecuted instantiation: SHDisassembler.c:set_doing_mem Unexecuted instantiation: SHInstPrinter.c:set_doing_mem Unexecuted instantiation: TriCoreDisassembler.c:set_doing_mem Unexecuted instantiation: TriCoreMapping.c:set_doing_mem Unexecuted instantiation: Mapping.c:set_doing_mem Unexecuted instantiation: AArch64BaseInfo.c:set_doing_mem Unexecuted instantiation: TriCoreInstPrinter.c:set_doing_mem |
149 | | |
150 | | /// Returns detail->arch |
151 | | #define DEFINE_get_arch_detail(arch, ARCH) \ |
152 | | static inline cs_##arch *ARCH##_get_detail(const MCInst *MI) \ |
153 | 0 | { \ |
154 | 0 | assert(MI && MI->flat_insn && MI->flat_insn->detail); \ |
155 | 0 | return &MI->flat_insn->detail->arch; \ |
156 | 0 | } Unexecuted instantiation: cs.c:ARM_get_detail Unexecuted instantiation: cs.c:PPC_get_detail Unexecuted instantiation: cs.c:TriCore_get_detail Unexecuted instantiation: MCInst.c:ARM_get_detail Unexecuted instantiation: MCInst.c:PPC_get_detail Unexecuted instantiation: MCInst.c:TriCore_get_detail Unexecuted instantiation: SStream.c:ARM_get_detail Unexecuted instantiation: SStream.c:PPC_get_detail Unexecuted instantiation: SStream.c:TriCore_get_detail Unexecuted instantiation: utils.c:ARM_get_detail Unexecuted instantiation: utils.c:PPC_get_detail Unexecuted instantiation: utils.c:TriCore_get_detail Unexecuted instantiation: ARMModule.c:ARM_get_detail Unexecuted instantiation: ARMModule.c:PPC_get_detail Unexecuted instantiation: ARMModule.c:TriCore_get_detail Unexecuted instantiation: AArch64Module.c:ARM_get_detail Unexecuted instantiation: AArch64Module.c:PPC_get_detail Unexecuted instantiation: AArch64Module.c:TriCore_get_detail Unexecuted instantiation: MipsModule.c:ARM_get_detail Unexecuted instantiation: MipsModule.c:PPC_get_detail Unexecuted instantiation: MipsModule.c:TriCore_get_detail Unexecuted instantiation: PPCModule.c:ARM_get_detail Unexecuted instantiation: PPCModule.c:PPC_get_detail Unexecuted instantiation: PPCModule.c:TriCore_get_detail Unexecuted instantiation: X86Module.c:ARM_get_detail Unexecuted instantiation: X86Module.c:PPC_get_detail Unexecuted instantiation: X86Module.c:TriCore_get_detail Unexecuted instantiation: X86ATTInstPrinter.c:ARM_get_detail Unexecuted instantiation: X86ATTInstPrinter.c:PPC_get_detail Unexecuted instantiation: X86ATTInstPrinter.c:TriCore_get_detail Unexecuted instantiation: SparcModule.c:ARM_get_detail Unexecuted instantiation: SparcModule.c:PPC_get_detail Unexecuted instantiation: SparcModule.c:TriCore_get_detail Unexecuted instantiation: SystemZModule.c:ARM_get_detail Unexecuted instantiation: SystemZModule.c:PPC_get_detail Unexecuted instantiation: SystemZModule.c:TriCore_get_detail Unexecuted instantiation: XCoreModule.c:ARM_get_detail Unexecuted instantiation: XCoreModule.c:PPC_get_detail Unexecuted instantiation: XCoreModule.c:TriCore_get_detail Unexecuted instantiation: M68KModule.c:ARM_get_detail Unexecuted instantiation: M68KModule.c:PPC_get_detail Unexecuted instantiation: M68KModule.c:TriCore_get_detail Unexecuted instantiation: TMS320C64xModule.c:ARM_get_detail Unexecuted instantiation: TMS320C64xModule.c:PPC_get_detail Unexecuted instantiation: TMS320C64xModule.c:TriCore_get_detail Unexecuted instantiation: M680XModule.c:ARM_get_detail Unexecuted instantiation: M680XModule.c:PPC_get_detail Unexecuted instantiation: M680XModule.c:TriCore_get_detail Unexecuted instantiation: EVMModule.c:ARM_get_detail Unexecuted instantiation: EVMModule.c:PPC_get_detail Unexecuted instantiation: EVMModule.c:TriCore_get_detail Unexecuted instantiation: WASMModule.c:ARM_get_detail Unexecuted instantiation: WASMModule.c:PPC_get_detail Unexecuted instantiation: WASMModule.c:TriCore_get_detail Unexecuted instantiation: MOS65XXModule.c:ARM_get_detail Unexecuted instantiation: MOS65XXModule.c:PPC_get_detail Unexecuted instantiation: MOS65XXModule.c:TriCore_get_detail Unexecuted instantiation: MOS65XXDisassembler.c:ARM_get_detail Unexecuted instantiation: MOS65XXDisassembler.c:PPC_get_detail Unexecuted instantiation: MOS65XXDisassembler.c:TriCore_get_detail Unexecuted instantiation: BPFModule.c:ARM_get_detail Unexecuted instantiation: BPFModule.c:PPC_get_detail Unexecuted instantiation: BPFModule.c:TriCore_get_detail Unexecuted instantiation: RISCVModule.c:ARM_get_detail Unexecuted instantiation: RISCVModule.c:PPC_get_detail Unexecuted instantiation: RISCVModule.c:TriCore_get_detail Unexecuted instantiation: SHModule.c:ARM_get_detail Unexecuted instantiation: SHModule.c:PPC_get_detail Unexecuted instantiation: SHModule.c:TriCore_get_detail Unexecuted instantiation: TriCoreModule.c:ARM_get_detail Unexecuted instantiation: TriCoreModule.c:PPC_get_detail Unexecuted instantiation: TriCoreModule.c:TriCore_get_detail Unexecuted instantiation: ARMDisassembler.c:ARM_get_detail Unexecuted instantiation: ARMDisassembler.c:PPC_get_detail Unexecuted instantiation: ARMDisassembler.c:TriCore_get_detail Unexecuted instantiation: ARMInstPrinter.c:ARM_get_detail Unexecuted instantiation: ARMInstPrinter.c:PPC_get_detail Unexecuted instantiation: ARMInstPrinter.c:TriCore_get_detail Unexecuted instantiation: ARMMapping.c:PPC_get_detail Unexecuted instantiation: ARMMapping.c:TriCore_get_detail Unexecuted instantiation: AArch64Disassembler.c:ARM_get_detail Unexecuted instantiation: AArch64Disassembler.c:PPC_get_detail Unexecuted instantiation: AArch64Disassembler.c:TriCore_get_detail Unexecuted instantiation: AArch64InstPrinter.c:ARM_get_detail Unexecuted instantiation: AArch64InstPrinter.c:PPC_get_detail Unexecuted instantiation: AArch64InstPrinter.c:TriCore_get_detail Unexecuted instantiation: AArch64Mapping.c:ARM_get_detail Unexecuted instantiation: AArch64Mapping.c:PPC_get_detail Unexecuted instantiation: AArch64Mapping.c:TriCore_get_detail Unexecuted instantiation: MipsDisassembler.c:ARM_get_detail Unexecuted instantiation: MipsDisassembler.c:PPC_get_detail Unexecuted instantiation: MipsDisassembler.c:TriCore_get_detail Unexecuted instantiation: MipsInstPrinter.c:ARM_get_detail Unexecuted instantiation: MipsInstPrinter.c:PPC_get_detail Unexecuted instantiation: MipsInstPrinter.c:TriCore_get_detail Unexecuted instantiation: MipsMapping.c:ARM_get_detail Unexecuted instantiation: MipsMapping.c:PPC_get_detail Unexecuted instantiation: MipsMapping.c:TriCore_get_detail Unexecuted instantiation: PPCDisassembler.c:ARM_get_detail Unexecuted instantiation: PPCDisassembler.c:PPC_get_detail Unexecuted instantiation: PPCDisassembler.c:TriCore_get_detail Unexecuted instantiation: PPCInstPrinter.c:ARM_get_detail Unexecuted instantiation: PPCInstPrinter.c:PPC_get_detail Unexecuted instantiation: PPCInstPrinter.c:TriCore_get_detail Unexecuted instantiation: PPCMapping.c:ARM_get_detail Unexecuted instantiation: PPCMapping.c:TriCore_get_detail Unexecuted instantiation: X86Disassembler.c:ARM_get_detail Unexecuted instantiation: X86Disassembler.c:PPC_get_detail Unexecuted instantiation: X86Disassembler.c:TriCore_get_detail Unexecuted instantiation: X86DisassemblerDecoder.c:ARM_get_detail Unexecuted instantiation: X86DisassemblerDecoder.c:PPC_get_detail Unexecuted instantiation: X86DisassemblerDecoder.c:TriCore_get_detail Unexecuted instantiation: X86IntelInstPrinter.c:ARM_get_detail Unexecuted instantiation: X86IntelInstPrinter.c:PPC_get_detail Unexecuted instantiation: X86IntelInstPrinter.c:TriCore_get_detail Unexecuted instantiation: X86InstPrinterCommon.c:ARM_get_detail Unexecuted instantiation: X86InstPrinterCommon.c:PPC_get_detail Unexecuted instantiation: X86InstPrinterCommon.c:TriCore_get_detail Unexecuted instantiation: X86Mapping.c:ARM_get_detail Unexecuted instantiation: X86Mapping.c:PPC_get_detail Unexecuted instantiation: X86Mapping.c:TriCore_get_detail Unexecuted instantiation: SparcDisassembler.c:ARM_get_detail Unexecuted instantiation: SparcDisassembler.c:PPC_get_detail Unexecuted instantiation: SparcDisassembler.c:TriCore_get_detail Unexecuted instantiation: SparcInstPrinter.c:ARM_get_detail Unexecuted instantiation: SparcInstPrinter.c:PPC_get_detail Unexecuted instantiation: SparcInstPrinter.c:TriCore_get_detail Unexecuted instantiation: SparcMapping.c:ARM_get_detail Unexecuted instantiation: SparcMapping.c:PPC_get_detail Unexecuted instantiation: SparcMapping.c:TriCore_get_detail Unexecuted instantiation: SystemZDisassembler.c:ARM_get_detail Unexecuted instantiation: SystemZDisassembler.c:PPC_get_detail Unexecuted instantiation: SystemZDisassembler.c:TriCore_get_detail Unexecuted instantiation: SystemZInstPrinter.c:ARM_get_detail Unexecuted instantiation: SystemZInstPrinter.c:PPC_get_detail Unexecuted instantiation: SystemZInstPrinter.c:TriCore_get_detail Unexecuted instantiation: SystemZMapping.c:ARM_get_detail Unexecuted instantiation: SystemZMapping.c:PPC_get_detail Unexecuted instantiation: SystemZMapping.c:TriCore_get_detail Unexecuted instantiation: XCoreDisassembler.c:ARM_get_detail Unexecuted instantiation: XCoreDisassembler.c:PPC_get_detail Unexecuted instantiation: XCoreDisassembler.c:TriCore_get_detail Unexecuted instantiation: XCoreInstPrinter.c:ARM_get_detail Unexecuted instantiation: XCoreInstPrinter.c:PPC_get_detail Unexecuted instantiation: XCoreInstPrinter.c:TriCore_get_detail Unexecuted instantiation: XCoreMapping.c:ARM_get_detail Unexecuted instantiation: XCoreMapping.c:PPC_get_detail Unexecuted instantiation: XCoreMapping.c:TriCore_get_detail Unexecuted instantiation: M68KDisassembler.c:ARM_get_detail Unexecuted instantiation: M68KDisassembler.c:PPC_get_detail Unexecuted instantiation: M68KDisassembler.c:TriCore_get_detail Unexecuted instantiation: M68KInstPrinter.c:ARM_get_detail Unexecuted instantiation: M68KInstPrinter.c:PPC_get_detail Unexecuted instantiation: M68KInstPrinter.c:TriCore_get_detail Unexecuted instantiation: TMS320C64xDisassembler.c:ARM_get_detail Unexecuted instantiation: TMS320C64xDisassembler.c:PPC_get_detail Unexecuted instantiation: TMS320C64xDisassembler.c:TriCore_get_detail Unexecuted instantiation: TMS320C64xInstPrinter.c:ARM_get_detail Unexecuted instantiation: TMS320C64xInstPrinter.c:PPC_get_detail Unexecuted instantiation: TMS320C64xInstPrinter.c:TriCore_get_detail Unexecuted instantiation: TMS320C64xMapping.c:ARM_get_detail Unexecuted instantiation: TMS320C64xMapping.c:PPC_get_detail Unexecuted instantiation: TMS320C64xMapping.c:TriCore_get_detail Unexecuted instantiation: M680XDisassembler.c:ARM_get_detail Unexecuted instantiation: M680XDisassembler.c:PPC_get_detail Unexecuted instantiation: M680XDisassembler.c:TriCore_get_detail Unexecuted instantiation: M680XInstPrinter.c:ARM_get_detail Unexecuted instantiation: M680XInstPrinter.c:PPC_get_detail Unexecuted instantiation: M680XInstPrinter.c:TriCore_get_detail Unexecuted instantiation: EVMMapping.c:ARM_get_detail Unexecuted instantiation: EVMMapping.c:PPC_get_detail Unexecuted instantiation: EVMMapping.c:TriCore_get_detail Unexecuted instantiation: WASMMapping.c:ARM_get_detail Unexecuted instantiation: WASMMapping.c:PPC_get_detail Unexecuted instantiation: WASMMapping.c:TriCore_get_detail Unexecuted instantiation: BPFMapping.c:ARM_get_detail Unexecuted instantiation: BPFMapping.c:PPC_get_detail Unexecuted instantiation: BPFMapping.c:TriCore_get_detail Unexecuted instantiation: RISCVDisassembler.c:ARM_get_detail Unexecuted instantiation: RISCVDisassembler.c:PPC_get_detail Unexecuted instantiation: RISCVDisassembler.c:TriCore_get_detail Unexecuted instantiation: RISCVInstPrinter.c:ARM_get_detail Unexecuted instantiation: RISCVInstPrinter.c:PPC_get_detail Unexecuted instantiation: RISCVInstPrinter.c:TriCore_get_detail Unexecuted instantiation: RISCVMapping.c:ARM_get_detail Unexecuted instantiation: RISCVMapping.c:PPC_get_detail Unexecuted instantiation: RISCVMapping.c:TriCore_get_detail Unexecuted instantiation: SHDisassembler.c:ARM_get_detail Unexecuted instantiation: SHDisassembler.c:PPC_get_detail Unexecuted instantiation: SHDisassembler.c:TriCore_get_detail Unexecuted instantiation: SHInstPrinter.c:ARM_get_detail Unexecuted instantiation: SHInstPrinter.c:PPC_get_detail Unexecuted instantiation: SHInstPrinter.c:TriCore_get_detail Unexecuted instantiation: TriCoreDisassembler.c:ARM_get_detail Unexecuted instantiation: TriCoreDisassembler.c:PPC_get_detail Unexecuted instantiation: TriCoreDisassembler.c:TriCore_get_detail Unexecuted instantiation: TriCoreMapping.c:ARM_get_detail Unexecuted instantiation: TriCoreMapping.c:PPC_get_detail Unexecuted instantiation: TriCoreMapping.c:TriCore_get_detail Unexecuted instantiation: Mapping.c:ARM_get_detail Unexecuted instantiation: Mapping.c:PPC_get_detail Unexecuted instantiation: Mapping.c:TriCore_get_detail Unexecuted instantiation: AArch64BaseInfo.c:ARM_get_detail Unexecuted instantiation: AArch64BaseInfo.c:PPC_get_detail Unexecuted instantiation: AArch64BaseInfo.c:TriCore_get_detail Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_get_detail Unexecuted instantiation: TriCoreInstPrinter.c:ARM_get_detail Unexecuted instantiation: TriCoreInstPrinter.c:PPC_get_detail |
157 | | |
158 | | DEFINE_get_arch_detail(arm, ARM); |
159 | | DEFINE_get_arch_detail(ppc, PPC); |
160 | | DEFINE_get_arch_detail(tricore, TriCore); |
161 | | |
162 | | static inline bool detail_is_set(const MCInst *MI) |
163 | 0 | { |
164 | 0 | assert(MI && MI->flat_insn); |
165 | 0 | return MI->flat_insn->detail != NULL; |
166 | 0 | } Unexecuted instantiation: cs.c:detail_is_set Unexecuted instantiation: MCInst.c:detail_is_set Unexecuted instantiation: SStream.c:detail_is_set Unexecuted instantiation: utils.c:detail_is_set Unexecuted instantiation: ARMModule.c:detail_is_set Unexecuted instantiation: AArch64Module.c:detail_is_set Unexecuted instantiation: MipsModule.c:detail_is_set Unexecuted instantiation: PPCModule.c:detail_is_set Unexecuted instantiation: X86Module.c:detail_is_set Unexecuted instantiation: X86ATTInstPrinter.c:detail_is_set Unexecuted instantiation: SparcModule.c:detail_is_set Unexecuted instantiation: SystemZModule.c:detail_is_set Unexecuted instantiation: XCoreModule.c:detail_is_set Unexecuted instantiation: M68KModule.c:detail_is_set Unexecuted instantiation: TMS320C64xModule.c:detail_is_set Unexecuted instantiation: M680XModule.c:detail_is_set Unexecuted instantiation: EVMModule.c:detail_is_set Unexecuted instantiation: WASMModule.c:detail_is_set Unexecuted instantiation: MOS65XXModule.c:detail_is_set Unexecuted instantiation: MOS65XXDisassembler.c:detail_is_set Unexecuted instantiation: BPFModule.c:detail_is_set Unexecuted instantiation: RISCVModule.c:detail_is_set Unexecuted instantiation: SHModule.c:detail_is_set Unexecuted instantiation: TriCoreModule.c:detail_is_set Unexecuted instantiation: ARMDisassembler.c:detail_is_set Unexecuted instantiation: ARMInstPrinter.c:detail_is_set Unexecuted instantiation: AArch64Disassembler.c:detail_is_set Unexecuted instantiation: MipsDisassembler.c:detail_is_set Unexecuted instantiation: MipsInstPrinter.c:detail_is_set Unexecuted instantiation: MipsMapping.c:detail_is_set Unexecuted instantiation: PPCDisassembler.c:detail_is_set Unexecuted instantiation: PPCInstPrinter.c:detail_is_set Unexecuted instantiation: X86Disassembler.c:detail_is_set Unexecuted instantiation: X86DisassemblerDecoder.c:detail_is_set Unexecuted instantiation: X86IntelInstPrinter.c:detail_is_set Unexecuted instantiation: X86InstPrinterCommon.c:detail_is_set Unexecuted instantiation: X86Mapping.c:detail_is_set Unexecuted instantiation: SparcDisassembler.c:detail_is_set Unexecuted instantiation: SparcInstPrinter.c:detail_is_set Unexecuted instantiation: SparcMapping.c:detail_is_set Unexecuted instantiation: SystemZDisassembler.c:detail_is_set Unexecuted instantiation: SystemZInstPrinter.c:detail_is_set Unexecuted instantiation: SystemZMapping.c:detail_is_set Unexecuted instantiation: XCoreDisassembler.c:detail_is_set Unexecuted instantiation: XCoreInstPrinter.c:detail_is_set Unexecuted instantiation: XCoreMapping.c:detail_is_set Unexecuted instantiation: M68KDisassembler.c:detail_is_set Unexecuted instantiation: M68KInstPrinter.c:detail_is_set Unexecuted instantiation: TMS320C64xDisassembler.c:detail_is_set Unexecuted instantiation: TMS320C64xInstPrinter.c:detail_is_set Unexecuted instantiation: TMS320C64xMapping.c:detail_is_set Unexecuted instantiation: M680XDisassembler.c:detail_is_set Unexecuted instantiation: M680XInstPrinter.c:detail_is_set Unexecuted instantiation: EVMMapping.c:detail_is_set Unexecuted instantiation: WASMMapping.c:detail_is_set Unexecuted instantiation: BPFMapping.c:detail_is_set Unexecuted instantiation: RISCVInstPrinter.c:detail_is_set Unexecuted instantiation: SHDisassembler.c:detail_is_set Unexecuted instantiation: SHInstPrinter.c:detail_is_set Unexecuted instantiation: TriCoreDisassembler.c:detail_is_set Unexecuted instantiation: TriCoreMapping.c:detail_is_set Unexecuted instantiation: AArch64BaseInfo.c:detail_is_set Unexecuted instantiation: TriCoreInstPrinter.c:detail_is_set |
167 | | |
168 | | static inline cs_detail *get_detail(const MCInst *MI) |
169 | 0 | { |
170 | 0 | assert(MI && MI->flat_insn); |
171 | 0 | return MI->flat_insn->detail; |
172 | 0 | } Unexecuted instantiation: cs.c:get_detail Unexecuted instantiation: MCInst.c:get_detail Unexecuted instantiation: SStream.c:get_detail Unexecuted instantiation: utils.c:get_detail Unexecuted instantiation: ARMModule.c:get_detail Unexecuted instantiation: AArch64Module.c:get_detail Unexecuted instantiation: MipsModule.c:get_detail Unexecuted instantiation: PPCModule.c:get_detail Unexecuted instantiation: X86Module.c:get_detail Unexecuted instantiation: X86ATTInstPrinter.c:get_detail Unexecuted instantiation: SparcModule.c:get_detail Unexecuted instantiation: SystemZModule.c:get_detail Unexecuted instantiation: XCoreModule.c:get_detail Unexecuted instantiation: M68KModule.c:get_detail Unexecuted instantiation: TMS320C64xModule.c:get_detail Unexecuted instantiation: M680XModule.c:get_detail Unexecuted instantiation: EVMModule.c:get_detail Unexecuted instantiation: WASMModule.c:get_detail Unexecuted instantiation: MOS65XXModule.c:get_detail Unexecuted instantiation: MOS65XXDisassembler.c:get_detail Unexecuted instantiation: BPFModule.c:get_detail Unexecuted instantiation: RISCVModule.c:get_detail Unexecuted instantiation: SHModule.c:get_detail Unexecuted instantiation: TriCoreModule.c:get_detail Unexecuted instantiation: ARMDisassembler.c:get_detail Unexecuted instantiation: ARMInstPrinter.c:get_detail Unexecuted instantiation: AArch64Disassembler.c:get_detail Unexecuted instantiation: AArch64InstPrinter.c:get_detail Unexecuted instantiation: MipsDisassembler.c:get_detail Unexecuted instantiation: MipsInstPrinter.c:get_detail Unexecuted instantiation: MipsMapping.c:get_detail Unexecuted instantiation: PPCDisassembler.c:get_detail Unexecuted instantiation: PPCInstPrinter.c:get_detail Unexecuted instantiation: X86Disassembler.c:get_detail Unexecuted instantiation: X86DisassemblerDecoder.c:get_detail Unexecuted instantiation: X86IntelInstPrinter.c:get_detail Unexecuted instantiation: X86InstPrinterCommon.c:get_detail Unexecuted instantiation: X86Mapping.c:get_detail Unexecuted instantiation: SparcDisassembler.c:get_detail Unexecuted instantiation: SparcInstPrinter.c:get_detail Unexecuted instantiation: SparcMapping.c:get_detail Unexecuted instantiation: SystemZDisassembler.c:get_detail Unexecuted instantiation: SystemZInstPrinter.c:get_detail Unexecuted instantiation: SystemZMapping.c:get_detail Unexecuted instantiation: XCoreDisassembler.c:get_detail Unexecuted instantiation: XCoreInstPrinter.c:get_detail Unexecuted instantiation: XCoreMapping.c:get_detail Unexecuted instantiation: M68KDisassembler.c:get_detail Unexecuted instantiation: M68KInstPrinter.c:get_detail Unexecuted instantiation: TMS320C64xDisassembler.c:get_detail Unexecuted instantiation: TMS320C64xInstPrinter.c:get_detail Unexecuted instantiation: TMS320C64xMapping.c:get_detail Unexecuted instantiation: M680XDisassembler.c:get_detail Unexecuted instantiation: M680XInstPrinter.c:get_detail Unexecuted instantiation: EVMMapping.c:get_detail Unexecuted instantiation: WASMMapping.c:get_detail Unexecuted instantiation: BPFMapping.c:get_detail Unexecuted instantiation: RISCVDisassembler.c:get_detail Unexecuted instantiation: RISCVInstPrinter.c:get_detail Unexecuted instantiation: RISCVMapping.c:get_detail Unexecuted instantiation: SHDisassembler.c:get_detail Unexecuted instantiation: SHInstPrinter.c:get_detail Unexecuted instantiation: TriCoreDisassembler.c:get_detail Unexecuted instantiation: TriCoreMapping.c:get_detail Unexecuted instantiation: Mapping.c:get_detail Unexecuted instantiation: AArch64BaseInfo.c:get_detail Unexecuted instantiation: TriCoreInstPrinter.c:get_detail |
173 | | |
174 | | #endif // CS_MAPPING_H |