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 (*write_std)(struct x86_emulate_ctxt *ctxt,
131 int (*fetch)(struct x86_emulate_ctxt *ctxt,
141 int (*read_emulated)(struct x86_emulate_ctxt *ctxt,
152 int (*write_emulated)(struct x86_emulate_ctxt *ctxt,
165 int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt,
171 void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr);
173 int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt,
177 int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt,
181 bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector,
183 void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector,
185 unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt,
187 void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
188 void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
189 void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
190 void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
191 ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr);
192 int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val);
193 int (*cpl)(struct x86_emulate_ctxt *ctxt);
194 int (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong *dest);
195 int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value);
196 int (*set_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data);
197 int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
198 int (*check_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc);
199 int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata);
200 void (*halt)(struct x86_emulate_ctxt *ctxt);
201 void (*wbinvd)(struct x86_emulate_ctxt *ctxt);
202 int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt);
203 void (*get_fpu)(struct x86_emulate_ctxt *ctxt); /* disables preempt */
204 void (*put_fpu)(struct x86_emulate_ctxt *ctxt); /* reenables preempt */
205 int (*intercept)(struct x86_emulate_ctxt *ctxt,
209 void (*get_cpuid)(struct x86_emulate_ctxt *ctxt,
211 void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);