Lines Matching defs:x86_emulate_ops

88 struct x86_emulate_ops {  struct
94 ulong (*read_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg);
101 void (*write_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val);
109 int (*read_std)(struct x86_emulate_ctxt *ctxt,
121 int (*read_phys)(struct x86_emulate_ctxt *ctxt, unsigned long addr,
131 int (*write_std)(struct x86_emulate_ctxt *ctxt,
141 int (*fetch)(struct x86_emulate_ctxt *ctxt,
151 int (*read_emulated)(struct x86_emulate_ctxt *ctxt,
162 int (*write_emulated)(struct x86_emulate_ctxt *ctxt,
175 int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt,
181 void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr);
183 int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt,
187 int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt,
191 bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector,
193 void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector,
195 unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt,
197 void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
198 void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
199 void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
200 void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
201 ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr);
202 int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val);
203 int (*cpl)(struct x86_emulate_ctxt *ctxt);
204 int (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong *dest);
205 int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value);
206 u64 (*get_smbase)(struct x86_emulate_ctxt *ctxt);
207 void (*set_smbase)(struct x86_emulate_ctxt *ctxt, u64 smbase);
208 int (*set_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data);
209 int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
210 int (*check_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc);
211 int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata);
212 void (*halt)(struct x86_emulate_ctxt *ctxt);
213 void (*wbinvd)(struct x86_emulate_ctxt *ctxt);
214 int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt);
215 void (*get_fpu)(struct x86_emulate_ctxt *ctxt); /* disables preempt */
216 void (*put_fpu)(struct x86_emulate_ctxt *ctxt); /* reenables preempt */
217 int (*intercept)(struct x86_emulate_ctxt *ctxt,
221 void (*get_cpuid)(struct x86_emulate_ctxt *ctxt,
223 void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);