Lines Matching refs:x86_emulate_ctxt
16 struct x86_emulate_ctxt;
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,
264 struct x86_emulate_ctxt { struct
296 int (*execute)(struct x86_emulate_ctxt *ctxt); argument
297 int (*check_perm)(struct x86_emulate_ctxt *ctxt); argument
412 int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len);
413 bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt);
418 void init_decode_cache(struct x86_emulate_ctxt *ctxt);
419 int x86_emulate_insn(struct x86_emulate_ctxt *ctxt);
420 int emulator_task_switch(struct x86_emulate_ctxt *ctxt,
423 int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq);
424 void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt);
425 void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt);