arch/x86/include/asm/kvm_host.h
233
struct x86_emulate_ctxt;
arch/x86/include/asm/kvm_host.h
942
struct x86_emulate_ctxt *emulate_ctxt;
arch/x86/kvm/emulate.c
1006
static int em_bsr_c(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1038
static int em_fninit(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1049
static int em_fnstcw(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1065
static int em_fnstsw(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1081
static void __decode_register_operand(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1112
static void decode_register_operand(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1125
static void adjust_modrm_seg(struct x86_emulate_ctxt *ctxt, int base_reg)
arch/x86/kvm/emulate.c
1131
static int decode_modrm(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1251
static int decode_abs(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1272
static void fetch_bit_operand(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1294
static int read_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1319
static int segmented_read(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1333
static int segmented_write(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1348
static int segmented_cmpxchg(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1363
static int pio_in_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1398
static int read_interrupt_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1413
static void get_descriptor_table_ptr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1434
static int get_descriptor_ptr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1463
static int read_segment_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1477
static int write_segment_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1490
static bool emulator_is_ssp_invalid(struct x86_emulate_ctxt *ctxt, u8 cpl)
arch/x86/kvm/emulate.c
1521
static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1731
static int load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1759
static int writeback(struct x86_emulate_ctxt *ctxt, struct operand *op)
arch/x86/kvm/emulate.c
1805
static int emulate_push(struct x86_emulate_ctxt *ctxt, const void *data, int len)
arch/x86/kvm/emulate.c
1816
static int em_push(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1823
static int emulate_pop(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1839
static int em_pop(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1844
static int emulate_popf(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
1887
static int em_popf(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1895
static int em_enter(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1917
static int em_leave(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1924
static int em_push_sreg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1937
static int em_pop_sreg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
195
int (*execute)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/emulate.c
1956
static int em_pusha(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1976
static int em_pushf(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
1982
static int em_popa(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2003
static int __emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq)
arch/x86/kvm/emulate.c
203
int (*check_perm)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/emulate.c
2052
int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq)
arch/x86/kvm/emulate.c
2063
static int emulate_int(struct x86_emulate_ctxt *ctxt, int irq)
arch/x86/kvm/emulate.c
2078
static int emulate_iret_real(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2134
static int em_iret(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2149
static int em_jmp_far(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2172
static int em_jmp_abs(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2177
static int em_call_near_abs(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2191
static int em_cmpxchg8b(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2212
static int em_ret(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2224
static int em_ret_far(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2251
static int em_ret_far_imm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2262
static int em_cmpxchg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2286
static int em_lseg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2302
static int em_rsm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2339
static int em_syscall(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2406
static int em_sysenter(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2459
static int em_sysexit(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
249
static void writeback_registers(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2519
static bool emulator_bad_iopl(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2533
static bool emulator_io_port_access_allowed(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2574
static bool emulator_io_permitted(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
258
static void invalidate_registers(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2589
static void string_registers_quirk(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
2620
static void save_state_to_tss16(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2641
static int load_state_from_tss16(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2698
static int task_switch_16(struct x86_emulate_ctxt *ctxt, u16 old_tss_sel,
arch/x86/kvm/emulate.c
2732
static void save_state_to_tss32(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2755
static int load_state_from_tss32(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
278
static int em_##op(struct x86_emulate_ctxt *ctxt) \
arch/x86/kvm/emulate.c
2836
static int task_switch_32(struct x86_emulate_ctxt *ctxt, u16 old_tss_sel,
arch/x86/kvm/emulate.c
2874
static int emulator_do_task_switch(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2975
int emulator_task_switch(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
2996
static void string_addr_inc(struct x86_emulate_ctxt *ctxt, int reg,
arch/x86/kvm/emulate.c
3005
static int em_das(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3043
static int em_aam(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3065
static int em_aad(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3083
static int em_call(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3095
static int em_call_far(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3139
static int em_ret_near_imm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3154
static int em_xchg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3166
static int em_imul_3op(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3172
static int em_cwd(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3182
static int em_rdpid(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3194
static int em_rdtsc(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3204
static int em_rdpmc(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3215
static int em_mov(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3221
static int em_movbe(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3254
static int em_cr_write(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3278
static int em_dr_write(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3296
static int em_wrmsr(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3312
static int em_rdmsr(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3330
static int em_store_sreg(struct x86_emulate_ctxt *ctxt, int segment)
arch/x86/kvm/emulate.c
3343
static int em_mov_rm_sreg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3351
static int em_mov_sreg_rm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3366
static int em_sldt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3371
static int em_lldt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3380
static int em_str(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3385
static int em_ltr(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3394
static int em_invlpg(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3409
static int em_clts(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3419
static int em_hypercall(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3433
static int emulate_store_desc_ptr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
3434
void (*get)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
3456
static int em_sgdt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3461
static int em_sidt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3466
static int em_lgdt_lidt(struct x86_emulate_ctxt *ctxt, bool lgdt)
arch/x86/kvm/emulate.c
3491
static int em_lgdt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3496
static int em_lidt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3501
static int em_smsw(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3513
static int em_lmsw(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3521
static int em_loop(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3533
static int em_jcxz(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3543
static int em_in(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3552
static int em_out(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3561
static int em_cli(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3570
static int em_sti(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3580
static int em_cpuid(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3601
static int em_sahf(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3614
static int em_lahf(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3621
static int em_bswap(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3636
static int em_clflush(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3642
static int em_clflushopt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3648
static int em_movsxd(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3654
static int check_fxsr(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3681
static inline size_t fxstate_size(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3709
static int em_fxsave(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3751
static int em_fxrstor(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3788
static int em_xsetbv(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3817
static int check_cr_access(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3825
static int check_dr_read(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3850
static int check_dr_write(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3861
static int check_svme(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3873
static int check_svme_pa(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
388
static int em_salc(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3884
static int check_rdtsc(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3894
static int check_rdpmc(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3918
static int check_perm_in(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
3927
static int check_perm_out(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
413
static int emulator_check_intercept(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
4500
static bool is_shstk_instruction(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
4505
static bool is_ibt_instruction(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
4554
static unsigned imm_size(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
4564
static int decode_imm(struct x86_emulate_ctxt *ctxt, struct operand *op,
arch/x86/kvm/emulate.c
4604
static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op,
arch/x86/kvm/emulate.c
461
static inline unsigned long ad_mask(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
466
static ulong stack_mask(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
4767
static int x86_decode_avx(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
477
static int stack_size(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
484
address_mask(struct x86_emulate_ctxt *ctxt, unsigned long reg)
arch/x86/kvm/emulate.c
4842
int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len, int emulation_type)
arch/x86/kvm/emulate.c
493
register_address(struct x86_emulate_ctxt *ctxt, int reg)
arch/x86/kvm/emulate.c
504
register_address_increment(struct x86_emulate_ctxt *ctxt, int reg, int inc)
arch/x86/kvm/emulate.c
511
static void rsp_increment(struct x86_emulate_ctxt *ctxt, int inc)
arch/x86/kvm/emulate.c
5202
bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
5207
static bool string_insn_completed(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
5227
static int flush_pending_x87_faults(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
523
static unsigned long seg_base(struct x86_emulate_ctxt *ctxt, int seg)
arch/x86/kvm/emulate.c
5247
void init_decode_cache(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
5264
int x86_emulate_insn(struct x86_emulate_ctxt *ctxt, bool check_intercepts)
arch/x86/kvm/emulate.c
531
static int emulate_exception(struct x86_emulate_ctxt *ctxt, int vec,
arch/x86/kvm/emulate.c
543
static int emulate_db(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
548
static int emulate_gp(struct x86_emulate_ctxt *ctxt, int err)
arch/x86/kvm/emulate.c
553
static int emulate_ss(struct x86_emulate_ctxt *ctxt, int err)
arch/x86/kvm/emulate.c
558
static int emulate_ud(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
5626
void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
563
static int emulate_ts(struct x86_emulate_ctxt *ctxt, int err)
arch/x86/kvm/emulate.c
5631
void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
5636
bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
568
static int emulate_de(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
573
static int emulate_nm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
578
static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg)
arch/x86/kvm/emulate.c
587
static void set_segment_selector(struct x86_emulate_ctxt *ctxt, u16 selector,
arch/x86/kvm/emulate.c
598
static inline u8 ctxt_virt_addr_bits(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
604
struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
619
static unsigned insn_alignment(struct x86_emulate_ctxt *ctxt, unsigned size)
arch/x86/kvm/emulate.c
637
static __always_inline int __linearize(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
704
static int linearize(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
714
static inline int assign_eip(struct x86_emulate_ctxt *ctxt, ulong dst)
arch/x86/kvm/emulate.c
731
static inline int emulator_recalc_and_set_mode(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/emulate.c
777
static inline int assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst)
arch/x86/kvm/emulate.c
782
static int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst)
arch/x86/kvm/emulate.c
792
static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel)
arch/x86/kvm/emulate.c
797
static int linear_read_system(struct x86_emulate_ctxt *ctxt, ulong linear,
arch/x86/kvm/emulate.c
803
static int linear_write_system(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
810
static int segmented_read_std(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
824
static int segmented_write_std(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
842
static int __do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, int op_size)
arch/x86/kvm/emulate.c
886
static __always_inline int do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
925
static void *decode_register(struct x86_emulate_ctxt *ctxt, u8 modrm_reg,
arch/x86/kvm/emulate.c
938
static int read_descriptor(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/emulate.c
998
static int em_bsf_c(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/kvm_emulate.h
106
void (*vm_bugged)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
112
ulong (*read_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg);
arch/x86/kvm/kvm_emulate.h
119
void (*write_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val);
arch/x86/kvm/kvm_emulate.h
128
int (*read_std)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
141
int (*write_std)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
151
int (*fetch)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
161
int (*read_emulated)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
172
int (*write_emulated)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
18
struct x86_emulate_ctxt;
arch/x86/kvm/kvm_emulate.h
185
int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
191
void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr);
arch/x86/kvm/kvm_emulate.h
193
int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
197
int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
201
bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector,
arch/x86/kvm/kvm_emulate.h
203
void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector,
arch/x86/kvm/kvm_emulate.h
205
unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
207
void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
arch/x86/kvm/kvm_emulate.h
208
void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
arch/x86/kvm/kvm_emulate.h
209
void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
arch/x86/kvm/kvm_emulate.h
210
void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt);
arch/x86/kvm/kvm_emulate.h
211
ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr);
arch/x86/kvm/kvm_emulate.h
212
int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val);
arch/x86/kvm/kvm_emulate.h
213
int (*cpl)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
214
ulong (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr);
arch/x86/kvm/kvm_emulate.h
215
int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value);
arch/x86/kvm/kvm_emulate.h
216
int (*set_msr_with_filter)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data);
arch/x86/kvm/kvm_emulate.h
217
int (*get_msr_with_filter)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
arch/x86/kvm/kvm_emulate.h
218
int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata);
arch/x86/kvm/kvm_emulate.h
219
int (*check_rdpmc_early)(struct x86_emulate_ctxt *ctxt, u32 pmc);
arch/x86/kvm/kvm_emulate.h
220
int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata);
arch/x86/kvm/kvm_emulate.h
221
void (*halt)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
222
void (*wbinvd)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
223
int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
224
int (*intercept)(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
228
bool (*get_cpuid)(struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx,
arch/x86/kvm/kvm_emulate.h
230
bool (*guest_has_movbe)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
231
bool (*guest_has_fxsr)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
232
bool (*guest_has_rdpid)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
233
bool (*guest_cpuid_is_intel_compatible)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
235
void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked);
arch/x86/kvm/kvm_emulate.h
237
bool (*is_smm)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
238
int (*leave_smm)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
239
void (*triple_fault)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
240
int (*get_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 *xcr);
arch/x86/kvm/kvm_emulate.h
241
int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr);
arch/x86/kvm/kvm_emulate.h
243
gva_t (*get_untagged_addr)(struct x86_emulate_ctxt *ctxt, gva_t addr,
arch/x86/kvm/kvm_emulate.h
246
bool (*is_canonical_addr)(struct x86_emulate_ctxt *ctxt, gva_t addr,
arch/x86/kvm/kvm_emulate.h
365
int (*execute)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
368
int (*check_perm)(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
528
int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len, int emulation_type);
arch/x86/kvm/kvm_emulate.h
529
bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
534
void init_decode_cache(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
535
int x86_emulate_insn(struct x86_emulate_ctxt *ctxt, bool check_intercepts);
arch/x86/kvm/kvm_emulate.h
536
int emulator_task_switch(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/kvm_emulate.h
539
int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq);
arch/x86/kvm/kvm_emulate.h
540
void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
541
void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
542
bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/kvm_emulate.h
544
static inline ulong reg_read(struct x86_emulate_ctxt *ctxt, unsigned nr)
arch/x86/kvm/kvm_emulate.h
556
static inline ulong *reg_write(struct x86_emulate_ctxt *ctxt, unsigned nr)
arch/x86/kvm/kvm_emulate.h
569
static inline ulong *reg_rmw(struct x86_emulate_ctxt *ctxt, unsigned nr)
arch/x86/kvm/smm.c
464
static int rsm_load_state_32(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/smm.c
516
static int rsm_load_state_64(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/smm.c
573
int emulator_leave_smm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/smm.h
159
int emulator_leave_smm(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/svm/svm.c
2215
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/vmx/tdx.c
1341
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/vmx/tdx.c
1358
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
10498
static int emulator_fix_hypercall(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
12282
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
563
unsigned int useroffset = offsetof(struct x86_emulate_ctxt, src);
arch/x86/kvm/x86.c
564
unsigned int size = sizeof(struct x86_emulate_ctxt);
arch/x86/kvm/x86.c
567
__alignof__(struct x86_emulate_ctxt),
arch/x86/kvm/x86.c
572
static int emulator_fix_hypercall(struct x86_emulate_ctxt *ctxt);
arch/x86/kvm/x86.c
7902
static int kvm_fetch_guest_virt(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
7947
static int emulator_read_std(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
7992
static int emulator_write_std(struct x86_emulate_ctxt *ctxt, gva_t addr, void *val,
arch/x86/kvm/x86.c
8192
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
8233
static int emulator_read_write(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8287
static int emulator_read_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8297
static int emulator_write_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8310
static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8463
static int emulator_pio_in_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8491
static int emulator_pio_out_emulated(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8503
static void emulator_invlpg(struct x86_emulate_ctxt *ctxt, ulong address)
arch/x86/kvm/x86.c
8534
static void emulator_wbinvd(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8539
static unsigned long emulator_get_dr(struct x86_emulate_ctxt *ctxt, int dr)
arch/x86/kvm/x86.c
8544
static int emulator_set_dr(struct x86_emulate_ctxt *ctxt, int dr,
arch/x86/kvm/x86.c
8556
static unsigned long emulator_get_cr(struct x86_emulate_ctxt *ctxt, int cr)
arch/x86/kvm/x86.c
8585
static int emulator_set_cr(struct x86_emulate_ctxt *ctxt, int cr, ulong val)
arch/x86/kvm/x86.c
8614
static int emulator_get_cpl(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8619
static void emulator_get_gdt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
arch/x86/kvm/x86.c
8624
static void emulator_get_idt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
arch/x86/kvm/x86.c
8629
static void emulator_set_gdt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
arch/x86/kvm/x86.c
8634
static void emulator_set_idt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
arch/x86/kvm/x86.c
8640
struct x86_emulate_ctxt *ctxt, int seg)
arch/x86/kvm/x86.c
8645
static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector,
arch/x86/kvm/x86.c
8681
static void emulator_set_segment(struct x86_emulate_ctxt *ctxt, u16 selector,
arch/x86/kvm/x86.c
8711
static int emulator_get_msr_with_filter(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8734
static int emulator_set_msr_with_filter(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8757
static int emulator_get_msr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8772
static int emulator_check_rdpmc_early(struct x86_emulate_ctxt *ctxt, u32 pmc)
arch/x86/kvm/x86.c
8777
static int emulator_read_pmc(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8783
static void emulator_halt(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8788
static int emulator_intercept(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8796
static bool emulator_get_cpuid(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8803
static bool emulator_guest_has_movbe(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8808
static bool emulator_guest_has_fxsr(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8813
static bool emulator_guest_has_rdpid(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8818
static bool emulator_guest_cpuid_is_intel_compatible(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8823
static ulong emulator_read_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg)
arch/x86/kvm/x86.c
8828
static void emulator_write_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val)
arch/x86/kvm/x86.c
8833
static void emulator_set_nmi_mask(struct x86_emulate_ctxt *ctxt, bool masked)
arch/x86/kvm/x86.c
8838
static bool emulator_is_smm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8844
static int emulator_leave_smm(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8851
static void emulator_triple_fault(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8856
static int emulator_get_xcr(struct x86_emulate_ctxt *ctxt, u32 index, u64 *xcr)
arch/x86/kvm/x86.c
8864
static int emulator_set_xcr(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr)
arch/x86/kvm/x86.c
8869
static void emulator_vm_bugged(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
8877
static gva_t emulator_get_untagged_addr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8887
static bool emulator_is_canonical_addr(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
8963
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
8974
static struct x86_emulate_ctxt *alloc_emulate_ctxt(struct kvm_vcpu *vcpu)
arch/x86/kvm/x86.c
8976
struct x86_emulate_ctxt *ctxt;
arch/x86/kvm/x86.c
8993
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
9019
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
9091
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
9341
static bool is_vmware_backdoor_opcode(struct x86_emulate_ctxt *ctxt)
arch/x86/kvm/x86.c
9372
static bool is_soft_int_instruction(struct x86_emulate_ctxt *ctxt,
arch/x86/kvm/x86.c
9402
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;
arch/x86/kvm/x86.c
9420
struct x86_emulate_ctxt *ctxt = vcpu->arch.emulate_ctxt;