Lines Matching defs:x86_emulate_ops
105 struct x86_emulate_ops { struct
106 void (*vm_bugged)(struct x86_emulate_ctxt *ctxt);
112 ulong (*read_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg);
119 void (*write_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val);
128 int (*read_std)(struct x86_emulate_ctxt *ctxt,
141 int (*write_std)(struct x86_emulate_ctxt *ctxt,
151 int (*fetch)(struct x86_emulate_ctxt *ctxt,
161 int (*read_emulated)(struct x86_emulate_ctxt *ctxt,
172 int (*write_emulated)(struct x86_emulate_ctxt *ctxt,
185 int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt,
191 void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr);
193 int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt,
197 int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt,
201 bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector,
203 void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector,
205 unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt,
207 void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
208 void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
209 void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
210 void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
211 ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr);
212 int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val);
213 int (*cpl)(struct x86_emulate_ctxt *ctxt);
214 ulong (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr);
215 int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value);
216 int (*set_msr_with_filter)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data);
217 int (*get_msr_with_filter)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
218 int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
219 int (*check_rdpmc_early)(struct x86_emulate_ctxt *ctxt, u32 pmc);
220 int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata);
221 void (*halt)(struct x86_emulate_ctxt *ctxt);
222 void (*wbinvd)(struct x86_emulate_ctxt *ctxt);
223 int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt);
224 int (*intercept)(struct x86_emulate_ctxt *ctxt,
228 bool (*get_cpuid)(struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx,
230 bool (*guest_has_movbe)(struct x86_emulate_ctxt *ctxt);
231 bool (*guest_has_fxsr)(struct x86_emulate_ctxt *ctxt);
232 bool (*guest_has_rdpid)(struct x86_emulate_ctxt *ctxt);
233 bool (*guest_cpuid_is_intel_compatible)(struct x86_emulate_ctxt *ctxt);
235 void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);
237 bool (*is_smm)(struct x86_emulate_ctxt *ctxt);
238 bool (*is_guest_mode)(struct x86_emulate_ctxt *ctxt);
239 int (*leave_smm)(struct x86_emulate_ctxt *ctxt);
240 void (*triple_fault)(struct x86_emulate_ctxt *ctxt);
241 int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr);
243 gva_t (*get_untagged_addr)(struct x86_emulate_ctxt *ctxt, gva_t addr,
246 bool (*is_canonical_addr)(struct x86_emulate_ctxt *ctxt, gva_t addr,