Lines Matching defs:DisasContext
83 typedef struct DisasContext { struct
84 DisasContextBase base; argument
86 target_ulong pc; /* pc = eip + cs_base */
87 target_ulong cs_base; /* base of CS segment */
88 target_ulong pc_save;
90 MemOp aflag;
91 MemOp dflag;
93 int8_t override; /* -1 if no override, else R_CS, R_DS, etc */
94 uint8_t prefix;
96 bool has_modrm;
97 uint8_t modrm;
100 uint8_t cpl; /* code priv level */
101 uint8_t iopl; /* i/o priv level */
103 uint8_t vex_l; /* vex vector length */
104 uint8_t vex_v; /* vex vvvv register, without 1's complement. */
105 uint8_t popl_esp_hack; /* for correct popl with esp base handling */
106 uint8_t rip_offset; /* only used in x86_64, but left for simplicity */
109 uint8_t rex_r;
110 uint8_t rex_x;
111 uint8_t rex_b;
113 bool vex_w; /* used by AVX even on 32-bit processors */
114 bool jmp_opt; /* use direct block chaining for direct jumps */
115 bool repz_opt; /* optimize jumps within repz instructions */
116 bool cc_op_dirty;
118 CCOp cc_op; /* current CC operation */
119 int mem_index; /* select memory access functions */
120 uint32_t flags; /* all execution flags */
121 int cpuid_features;
122 int cpuid_ext_features;
146 } DisasContext; argument