Lines Matching defs:x86_emulate_ops
90 struct x86_emulate_ops { struct
96 ulong (*read_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg);
103 void (*write_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val);
112 int (*read_std)(struct x86_emulate_ctxt *ctxt,
124 int (*read_phys)(struct x86_emulate_ctxt *ctxt, unsigned long addr,
135 int (*write_std)(struct x86_emulate_ctxt *ctxt,
145 int (*fetch)(struct x86_emulate_ctxt *ctxt,
155 int (*read_emulated)(struct x86_emulate_ctxt *ctxt,
166 int (*write_emulated)(struct x86_emulate_ctxt *ctxt,
179 int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt,
185 void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr);
187 int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt,
191 int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt,
195 bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector,
197 void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector,
199 unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt,
201 void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
202 void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
203 void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
204 void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
205 ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr);
206 int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val);
207 int (*cpl)(struct x86_emulate_ctxt *ctxt);
208 int (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong *dest);
209 int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value);
210 u64 (*get_smbase)(struct x86_emulate_ctxt *ctxt);
211 void (*set_smbase)(struct x86_emulate_ctxt *ctxt, u64 smbase);
212 int (*set_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data);
213 int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
214 int (*check_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc);
215 int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata);
216 void (*halt)(struct x86_emulate_ctxt *ctxt);
217 void (*wbinvd)(struct x86_emulate_ctxt *ctxt);
218 int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt);
219 int (*intercept)(struct x86_emulate_ctxt *ctxt,
223 bool (*get_cpuid)(struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx,
225 bool (*guest_has_long_mode)(struct x86_emulate_ctxt *ctxt);
226 bool (*guest_has_movbe)(struct x86_emulate_ctxt *ctxt);
227 bool (*guest_has_fxsr)(struct x86_emulate_ctxt *ctxt);
229 void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);
231 unsigned (*get_hflags)(struct x86_emulate_ctxt *ctxt);
232 void (*set_hflags)(struct x86_emulate_ctxt *ctxt, unsigned hflags);
233 int (*pre_leave_smm)(struct x86_emulate_ctxt *ctxt,
235 void (*post_leave_smm)(struct x86_emulate_ctxt *ctxt);
236 int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr);