x86_emulate_ctxt 17 arch/x86/include/asm/kvm_emulate.h struct x86_emulate_ctxt; x86_emulate_ctxt 96 arch/x86/include/asm/kvm_emulate.h ulong (*read_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg); x86_emulate_ctxt 103 arch/x86/include/asm/kvm_emulate.h void (*write_gpr)(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val); x86_emulate_ctxt 112 arch/x86/include/asm/kvm_emulate.h int (*read_std)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 124 arch/x86/include/asm/kvm_emulate.h int (*read_phys)(struct x86_emulate_ctxt *ctxt, unsigned long addr, x86_emulate_ctxt 135 arch/x86/include/asm/kvm_emulate.h int (*write_std)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 145 arch/x86/include/asm/kvm_emulate.h int (*fetch)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 155 arch/x86/include/asm/kvm_emulate.h int (*read_emulated)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 166 arch/x86/include/asm/kvm_emulate.h int (*write_emulated)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 179 arch/x86/include/asm/kvm_emulate.h int (*cmpxchg_emulated)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 185 arch/x86/include/asm/kvm_emulate.h void (*invlpg)(struct x86_emulate_ctxt *ctxt, ulong addr); x86_emulate_ctxt 187 arch/x86/include/asm/kvm_emulate.h int (*pio_in_emulated)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 191 arch/x86/include/asm/kvm_emulate.h int (*pio_out_emulated)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 195 arch/x86/include/asm/kvm_emulate.h bool (*get_segment)(struct x86_emulate_ctxt *ctxt, u16 *selector, x86_emulate_ctxt 197 arch/x86/include/asm/kvm_emulate.h void (*set_segment)(struct x86_emulate_ctxt *ctxt, u16 selector, x86_emulate_ctxt 199 arch/x86/include/asm/kvm_emulate.h unsigned long (*get_cached_segment_base)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 201 arch/x86/include/asm/kvm_emulate.h void (*get_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt); x86_emulate_ctxt 202 arch/x86/include/asm/kvm_emulate.h void (*get_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt); x86_emulate_ctxt 203 arch/x86/include/asm/kvm_emulate.h void (*set_gdt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt); x86_emulate_ctxt 204 arch/x86/include/asm/kvm_emulate.h void (*set_idt)(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt); x86_emulate_ctxt 205 arch/x86/include/asm/kvm_emulate.h ulong (*get_cr)(struct x86_emulate_ctxt *ctxt, int cr); x86_emulate_ctxt 206 arch/x86/include/asm/kvm_emulate.h int (*set_cr)(struct x86_emulate_ctxt *ctxt, int cr, ulong val); x86_emulate_ctxt 207 arch/x86/include/asm/kvm_emulate.h int (*cpl)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 208 arch/x86/include/asm/kvm_emulate.h int (*get_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong *dest); x86_emulate_ctxt 209 arch/x86/include/asm/kvm_emulate.h int (*set_dr)(struct x86_emulate_ctxt *ctxt, int dr, ulong value); x86_emulate_ctxt 210 arch/x86/include/asm/kvm_emulate.h u64 (*get_smbase)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 211 arch/x86/include/asm/kvm_emulate.h void (*set_smbase)(struct x86_emulate_ctxt *ctxt, u64 smbase); x86_emulate_ctxt 212 arch/x86/include/asm/kvm_emulate.h int (*set_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data); x86_emulate_ctxt 213 arch/x86/include/asm/kvm_emulate.h int (*get_msr)(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata); x86_emulate_ctxt 214 arch/x86/include/asm/kvm_emulate.h int (*check_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc); x86_emulate_ctxt 215 arch/x86/include/asm/kvm_emulate.h int (*read_pmc)(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata); x86_emulate_ctxt 216 arch/x86/include/asm/kvm_emulate.h void (*halt)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 217 arch/x86/include/asm/kvm_emulate.h void (*wbinvd)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 218 arch/x86/include/asm/kvm_emulate.h int (*fix_hypercall)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 219 arch/x86/include/asm/kvm_emulate.h int (*intercept)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 223 arch/x86/include/asm/kvm_emulate.h bool (*get_cpuid)(struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx, x86_emulate_ctxt 225 arch/x86/include/asm/kvm_emulate.h void (*set_nmi_mask)(struct x86_emulate_ctxt *ctxt, bool masked); x86_emulate_ctxt 227 arch/x86/include/asm/kvm_emulate.h unsigned (*get_hflags)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 228 arch/x86/include/asm/kvm_emulate.h void (*set_hflags)(struct x86_emulate_ctxt *ctxt, unsigned hflags); x86_emulate_ctxt 229 arch/x86/include/asm/kvm_emulate.h int (*pre_leave_smm)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 231 arch/x86/include/asm/kvm_emulate.h void (*post_leave_smm)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 232 arch/x86/include/asm/kvm_emulate.h int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr); x86_emulate_ctxt 323 arch/x86/include/asm/kvm_emulate.h int (*execute)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 324 arch/x86/include/asm/kvm_emulate.h int (*check_perm)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 444 arch/x86/include/asm/kvm_emulate.h int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len); x86_emulate_ctxt 445 arch/x86/include/asm/kvm_emulate.h bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 450 arch/x86/include/asm/kvm_emulate.h void init_decode_cache(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 451 arch/x86/include/asm/kvm_emulate.h int x86_emulate_insn(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 452 arch/x86/include/asm/kvm_emulate.h int emulator_task_switch(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 455 arch/x86/include/asm/kvm_emulate.h int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq); x86_emulate_ctxt 456 arch/x86/include/asm/kvm_emulate.h void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 457 arch/x86/include/asm/kvm_emulate.h void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 458 arch/x86/include/asm/kvm_emulate.h bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 657 arch/x86/include/asm/kvm_host.h struct x86_emulate_ctxt emulate_ctxt; x86_emulate_ctxt 1367 arch/x86/include/asm/kvm_host.h struct x86_emulate_ctxt; x86_emulate_ctxt 217 arch/x86/kvm/emulate.c int (*execute)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 226 arch/x86/kvm/emulate.c int (*check_perm)(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 265 arch/x86/kvm/emulate.c static ulong reg_read(struct x86_emulate_ctxt *ctxt, unsigned nr) x86_emulate_ctxt 274 arch/x86/kvm/emulate.c static ulong *reg_write(struct x86_emulate_ctxt *ctxt, unsigned nr) x86_emulate_ctxt 281 arch/x86/kvm/emulate.c static ulong *reg_rmw(struct x86_emulate_ctxt *ctxt, unsigned nr) x86_emulate_ctxt 287 arch/x86/kvm/emulate.c static void writeback_registers(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 295 arch/x86/kvm/emulate.c static void invalidate_registers(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 314 arch/x86/kvm/emulate.c static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)); x86_emulate_ctxt 494 arch/x86/kvm/emulate.c static int emulator_check_intercept(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 539 arch/x86/kvm/emulate.c static inline unsigned long ad_mask(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 544 arch/x86/kvm/emulate.c static ulong stack_mask(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 555 arch/x86/kvm/emulate.c static int stack_size(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 562 arch/x86/kvm/emulate.c address_mask(struct x86_emulate_ctxt *ctxt, unsigned long reg) x86_emulate_ctxt 571 arch/x86/kvm/emulate.c register_address(struct x86_emulate_ctxt *ctxt, int reg) x86_emulate_ctxt 582 arch/x86/kvm/emulate.c register_address_increment(struct x86_emulate_ctxt *ctxt, int reg, int inc) x86_emulate_ctxt 589 arch/x86/kvm/emulate.c static void rsp_increment(struct x86_emulate_ctxt *ctxt, int inc) x86_emulate_ctxt 601 arch/x86/kvm/emulate.c static unsigned long seg_base(struct x86_emulate_ctxt *ctxt, int seg) x86_emulate_ctxt 609 arch/x86/kvm/emulate.c static int emulate_exception(struct x86_emulate_ctxt *ctxt, int vec, x86_emulate_ctxt 619 arch/x86/kvm/emulate.c static int emulate_db(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 624 arch/x86/kvm/emulate.c static int emulate_gp(struct x86_emulate_ctxt *ctxt, int err) x86_emulate_ctxt 629 arch/x86/kvm/emulate.c static int emulate_ss(struct x86_emulate_ctxt *ctxt, int err) x86_emulate_ctxt 634 arch/x86/kvm/emulate.c static int emulate_ud(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 639 arch/x86/kvm/emulate.c static int emulate_ts(struct x86_emulate_ctxt *ctxt, int err) x86_emulate_ctxt 644 arch/x86/kvm/emulate.c static int emulate_de(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 649 arch/x86/kvm/emulate.c static int emulate_nm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 654 arch/x86/kvm/emulate.c static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg) x86_emulate_ctxt 663 arch/x86/kvm/emulate.c static void set_segment_selector(struct x86_emulate_ctxt *ctxt, u16 selector, x86_emulate_ctxt 683 arch/x86/kvm/emulate.c static unsigned insn_alignment(struct x86_emulate_ctxt *ctxt, unsigned size) x86_emulate_ctxt 702 arch/x86/kvm/emulate.c static __always_inline int __linearize(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 769 arch/x86/kvm/emulate.c static int linearize(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 779 arch/x86/kvm/emulate.c static inline int assign_eip(struct x86_emulate_ctxt *ctxt, ulong dst, x86_emulate_ctxt 796 arch/x86/kvm/emulate.c static inline int assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst) x86_emulate_ctxt 801 arch/x86/kvm/emulate.c static int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst, x86_emulate_ctxt 827 arch/x86/kvm/emulate.c static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel) x86_emulate_ctxt 832 arch/x86/kvm/emulate.c static int linear_read_system(struct x86_emulate_ctxt *ctxt, ulong linear, x86_emulate_ctxt 838 arch/x86/kvm/emulate.c static int linear_write_system(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 845 arch/x86/kvm/emulate.c static int segmented_read_std(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 859 arch/x86/kvm/emulate.c static int segmented_write_std(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 877 arch/x86/kvm/emulate.c static int __do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, int op_size) x86_emulate_ctxt 921 arch/x86/kvm/emulate.c static __always_inline int do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 960 arch/x86/kvm/emulate.c static void *decode_register(struct x86_emulate_ctxt *ctxt, u8 modrm_reg, x86_emulate_ctxt 973 arch/x86/kvm/emulate.c static int read_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1034 arch/x86/kvm/emulate.c static int em_bsf_c(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1042 arch/x86/kvm/emulate.c static int em_bsr_c(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1093 arch/x86/kvm/emulate.c static void read_sse_reg(struct x86_emulate_ctxt *ctxt, sse128_t *data, int reg) x86_emulate_ctxt 1120 arch/x86/kvm/emulate.c static void write_sse_reg(struct x86_emulate_ctxt *ctxt, sse128_t *data, x86_emulate_ctxt 1148 arch/x86/kvm/emulate.c static void read_mmx_reg(struct x86_emulate_ctxt *ctxt, u64 *data, int reg) x86_emulate_ctxt 1165 arch/x86/kvm/emulate.c static void write_mmx_reg(struct x86_emulate_ctxt *ctxt, u64 *data, int reg) x86_emulate_ctxt 1182 arch/x86/kvm/emulate.c static int em_fninit(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1193 arch/x86/kvm/emulate.c static int em_fnstcw(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1209 arch/x86/kvm/emulate.c static int em_fnstsw(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1225 arch/x86/kvm/emulate.c static void decode_register_operand(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1256 arch/x86/kvm/emulate.c static void adjust_modrm_seg(struct x86_emulate_ctxt *ctxt, int base_reg) x86_emulate_ctxt 1262 arch/x86/kvm/emulate.c static int decode_modrm(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1399 arch/x86/kvm/emulate.c static int decode_abs(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1420 arch/x86/kvm/emulate.c static void fetch_bit_operand(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1442 arch/x86/kvm/emulate.c static int read_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1466 arch/x86/kvm/emulate.c static int segmented_read(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1480 arch/x86/kvm/emulate.c static int segmented_write(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1495 arch/x86/kvm/emulate.c static int segmented_cmpxchg(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1510 arch/x86/kvm/emulate.c static int pio_in_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1545 arch/x86/kvm/emulate.c static int read_interrupt_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1560 arch/x86/kvm/emulate.c static void get_descriptor_table_ptr(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1581 arch/x86/kvm/emulate.c static int get_descriptor_ptr(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1610 arch/x86/kvm/emulate.c static int read_segment_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1624 arch/x86/kvm/emulate.c static int write_segment_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1637 arch/x86/kvm/emulate.c static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1811 arch/x86/kvm/emulate.c static int load_segment_descriptor(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1839 arch/x86/kvm/emulate.c static int writeback(struct x86_emulate_ctxt *ctxt, struct operand *op) x86_emulate_ctxt 1879 arch/x86/kvm/emulate.c static int push(struct x86_emulate_ctxt *ctxt, void *data, int bytes) x86_emulate_ctxt 1890 arch/x86/kvm/emulate.c static int em_push(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1897 arch/x86/kvm/emulate.c static int emulate_pop(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1913 arch/x86/kvm/emulate.c static int em_pop(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1918 arch/x86/kvm/emulate.c static int emulate_popf(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 1960 arch/x86/kvm/emulate.c static int em_popf(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1968 arch/x86/kvm/emulate.c static int em_enter(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1990 arch/x86/kvm/emulate.c static int em_leave(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 1997 arch/x86/kvm/emulate.c static int em_push_sreg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2010 arch/x86/kvm/emulate.c static int em_pop_sreg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2029 arch/x86/kvm/emulate.c static int em_pusha(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2049 arch/x86/kvm/emulate.c static int em_pushf(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2055 arch/x86/kvm/emulate.c static int em_popa(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2076 arch/x86/kvm/emulate.c static int __emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq) x86_emulate_ctxt 2125 arch/x86/kvm/emulate.c int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq) x86_emulate_ctxt 2136 arch/x86/kvm/emulate.c static int emulate_int(struct x86_emulate_ctxt *ctxt, int irq) x86_emulate_ctxt 2151 arch/x86/kvm/emulate.c static int emulate_iret_real(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2207 arch/x86/kvm/emulate.c static int em_iret(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2222 arch/x86/kvm/emulate.c static int em_jmp_far(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2245 arch/x86/kvm/emulate.c static int em_jmp_abs(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2250 arch/x86/kvm/emulate.c static int em_call_near_abs(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2264 arch/x86/kvm/emulate.c static int em_cmpxchg8b(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2285 arch/x86/kvm/emulate.c static int em_ret(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2297 arch/x86/kvm/emulate.c static int em_ret_far(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2326 arch/x86/kvm/emulate.c static int em_ret_far_imm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2337 arch/x86/kvm/emulate.c static int em_cmpxchg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2361 arch/x86/kvm/emulate.c static int em_lseg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2377 arch/x86/kvm/emulate.c static int emulator_has_longmode(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2403 arch/x86/kvm/emulate.c static int rsm_load_seg_32(struct x86_emulate_ctxt *ctxt, const char *smstate, x86_emulate_ctxt 2425 arch/x86/kvm/emulate.c static int rsm_load_seg_64(struct x86_emulate_ctxt *ctxt, const char *smstate, x86_emulate_ctxt 2446 arch/x86/kvm/emulate.c static int rsm_enter_protected_mode(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 2491 arch/x86/kvm/emulate.c static int rsm_load_state_32(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 2547 arch/x86/kvm/emulate.c static int rsm_load_state_64(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 2611 arch/x86/kvm/emulate.c static int em_rsm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2695 arch/x86/kvm/emulate.c setup_syscalls_segments(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 2721 arch/x86/kvm/emulate.c static bool vendor_intel(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2732 arch/x86/kvm/emulate.c static bool em_syscall_is_enabled(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2785 arch/x86/kvm/emulate.c static int em_syscall(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2845 arch/x86/kvm/emulate.c static int em_sysenter(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2897 arch/x86/kvm/emulate.c static int em_sysexit(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2956 arch/x86/kvm/emulate.c static bool emulator_bad_iopl(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 2970 arch/x86/kvm/emulate.c static bool emulator_io_port_access_allowed(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3011 arch/x86/kvm/emulate.c static bool emulator_io_permited(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3026 arch/x86/kvm/emulate.c static void string_registers_quirk(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3050 arch/x86/kvm/emulate.c static void save_state_to_tss16(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3071 arch/x86/kvm/emulate.c static int load_state_from_tss16(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3128 arch/x86/kvm/emulate.c static int task_switch_16(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3163 arch/x86/kvm/emulate.c static void save_state_to_tss32(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3186 arch/x86/kvm/emulate.c static int load_state_from_tss32(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3267 arch/x86/kvm/emulate.c static int task_switch_32(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3306 arch/x86/kvm/emulate.c static int emulator_do_task_switch(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3408 arch/x86/kvm/emulate.c int emulator_task_switch(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3429 arch/x86/kvm/emulate.c static void string_addr_inc(struct x86_emulate_ctxt *ctxt, int reg, x86_emulate_ctxt 3438 arch/x86/kvm/emulate.c static int em_das(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3476 arch/x86/kvm/emulate.c static int em_aam(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3498 arch/x86/kvm/emulate.c static int em_aad(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3516 arch/x86/kvm/emulate.c static int em_call(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3528 arch/x86/kvm/emulate.c static int em_call_far(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3572 arch/x86/kvm/emulate.c static int em_ret_near_imm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3587 arch/x86/kvm/emulate.c static int em_xchg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3599 arch/x86/kvm/emulate.c static int em_imul_3op(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3605 arch/x86/kvm/emulate.c static int em_cwd(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3615 arch/x86/kvm/emulate.c static int em_rdpid(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3625 arch/x86/kvm/emulate.c static int em_rdtsc(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3635 arch/x86/kvm/emulate.c static int em_rdpmc(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3646 arch/x86/kvm/emulate.c static int em_mov(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3654 arch/x86/kvm/emulate.c static int em_movbe(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3692 arch/x86/kvm/emulate.c static int em_cr_write(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3702 arch/x86/kvm/emulate.c static int em_dr_write(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3720 arch/x86/kvm/emulate.c static int em_wrmsr(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3732 arch/x86/kvm/emulate.c static int em_rdmsr(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3744 arch/x86/kvm/emulate.c static int em_store_sreg(struct x86_emulate_ctxt *ctxt, int segment) x86_emulate_ctxt 3757 arch/x86/kvm/emulate.c static int em_mov_rm_sreg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3765 arch/x86/kvm/emulate.c static int em_mov_sreg_rm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3780 arch/x86/kvm/emulate.c static int em_sldt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3785 arch/x86/kvm/emulate.c static int em_lldt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3794 arch/x86/kvm/emulate.c static int em_str(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3799 arch/x86/kvm/emulate.c static int em_ltr(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3808 arch/x86/kvm/emulate.c static int em_invlpg(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3821 arch/x86/kvm/emulate.c static int em_clts(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3831 arch/x86/kvm/emulate.c static int em_hypercall(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3845 arch/x86/kvm/emulate.c static int emulate_store_desc_ptr(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3846 arch/x86/kvm/emulate.c void (*get)(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 3868 arch/x86/kvm/emulate.c static int em_sgdt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3873 arch/x86/kvm/emulate.c static int em_sidt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3878 arch/x86/kvm/emulate.c static int em_lgdt_lidt(struct x86_emulate_ctxt *ctxt, bool lgdt) x86_emulate_ctxt 3902 arch/x86/kvm/emulate.c static int em_lgdt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3907 arch/x86/kvm/emulate.c static int em_lidt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3912 arch/x86/kvm/emulate.c static int em_smsw(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3924 arch/x86/kvm/emulate.c static int em_lmsw(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3932 arch/x86/kvm/emulate.c static int em_loop(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3944 arch/x86/kvm/emulate.c static int em_jcxz(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3954 arch/x86/kvm/emulate.c static int em_in(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3963 arch/x86/kvm/emulate.c static int em_out(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3972 arch/x86/kvm/emulate.c static int em_cli(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3981 arch/x86/kvm/emulate.c static int em_sti(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 3991 arch/x86/kvm/emulate.c static int em_cpuid(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4012 arch/x86/kvm/emulate.c static int em_sahf(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4025 arch/x86/kvm/emulate.c static int em_lahf(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4032 arch/x86/kvm/emulate.c static int em_bswap(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4047 arch/x86/kvm/emulate.c static int em_clflush(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4053 arch/x86/kvm/emulate.c static int em_movsxd(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4059 arch/x86/kvm/emulate.c static int check_fxsr(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4089 arch/x86/kvm/emulate.c static inline size_t fxstate_size(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4117 arch/x86/kvm/emulate.c static int em_fxsave(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4159 arch/x86/kvm/emulate.c static int em_fxrstor(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4196 arch/x86/kvm/emulate.c static int em_xsetbv(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4222 arch/x86/kvm/emulate.c static int check_cr_read(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4230 arch/x86/kvm/emulate.c static int check_cr_write(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4304 arch/x86/kvm/emulate.c static int check_dr7_gd(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4314 arch/x86/kvm/emulate.c static int check_dr_read(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4339 arch/x86/kvm/emulate.c static int check_dr_write(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4350 arch/x86/kvm/emulate.c static int check_svme(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4362 arch/x86/kvm/emulate.c static int check_svme_pa(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4373 arch/x86/kvm/emulate.c static int check_rdtsc(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4383 arch/x86/kvm/emulate.c static int check_rdpmc(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4402 arch/x86/kvm/emulate.c static int check_perm_in(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4411 arch/x86/kvm/emulate.c static int check_perm_out(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4967 arch/x86/kvm/emulate.c static unsigned imm_size(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 4977 arch/x86/kvm/emulate.c static int decode_imm(struct x86_emulate_ctxt *ctxt, struct operand *op, x86_emulate_ctxt 5017 arch/x86/kvm/emulate.c static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op, x86_emulate_ctxt 5183 arch/x86/kvm/emulate.c int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len) x86_emulate_ctxt 5479 arch/x86/kvm/emulate.c bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5484 arch/x86/kvm/emulate.c static bool string_insn_completed(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5504 arch/x86/kvm/emulate.c static int flush_pending_x87_faults(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5518 arch/x86/kvm/emulate.c static void fetch_possible_mmx_operand(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5525 arch/x86/kvm/emulate.c static int fastop(struct x86_emulate_ctxt *ctxt, void (*fop)(struct fastop *)) x86_emulate_ctxt 5543 arch/x86/kvm/emulate.c void init_decode_cache(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5553 arch/x86/kvm/emulate.c int x86_emulate_insn(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5907 arch/x86/kvm/emulate.c void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5912 arch/x86/kvm/emulate.c void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 5917 arch/x86/kvm/emulate.c bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 7139 arch/x86/kvm/vmx/vmx.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 229 arch/x86/kvm/x86.c static int emulator_fix_hypercall(struct x86_emulate_ctxt *ctxt); x86_emulate_ctxt 5418 arch/x86/kvm/x86.c static int kvm_fetch_guest_virt(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5462 arch/x86/kvm/x86.c static int emulator_read_std(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5475 arch/x86/kvm/x86.c static int kvm_read_guest_phys_system(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5515 arch/x86/kvm/x86.c static int emulator_write_std(struct x86_emulate_ctxt *ctxt, gva_t addr, void *val, x86_emulate_ctxt 5703 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 5745 arch/x86/kvm/x86.c static int emulator_read_write(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5799 arch/x86/kvm/x86.c static int emulator_read_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5809 arch/x86/kvm/x86.c static int emulator_write_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5829 arch/x86/kvm/x86.c static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5935 arch/x86/kvm/x86.c static int emulator_pio_in_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5959 arch/x86/kvm/x86.c static int emulator_pio_out_emulated(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 5975 arch/x86/kvm/x86.c static void emulator_invlpg(struct x86_emulate_ctxt *ctxt, ulong address) x86_emulate_ctxt 6007 arch/x86/kvm/x86.c static void emulator_wbinvd(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6012 arch/x86/kvm/x86.c static int emulator_get_dr(struct x86_emulate_ctxt *ctxt, int dr, x86_emulate_ctxt 6018 arch/x86/kvm/x86.c static int emulator_set_dr(struct x86_emulate_ctxt *ctxt, int dr, x86_emulate_ctxt 6030 arch/x86/kvm/x86.c static unsigned long emulator_get_cr(struct x86_emulate_ctxt *ctxt, int cr) x86_emulate_ctxt 6059 arch/x86/kvm/x86.c static int emulator_set_cr(struct x86_emulate_ctxt *ctxt, int cr, ulong val) x86_emulate_ctxt 6088 arch/x86/kvm/x86.c static int emulator_get_cpl(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6093 arch/x86/kvm/x86.c static void emulator_get_gdt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt) x86_emulate_ctxt 6098 arch/x86/kvm/x86.c static void emulator_get_idt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt) x86_emulate_ctxt 6103 arch/x86/kvm/x86.c static void emulator_set_gdt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt) x86_emulate_ctxt 6108 arch/x86/kvm/x86.c static void emulator_set_idt(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt) x86_emulate_ctxt 6114 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt, int seg) x86_emulate_ctxt 6119 arch/x86/kvm/x86.c static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector, x86_emulate_ctxt 6155 arch/x86/kvm/x86.c static void emulator_set_segment(struct x86_emulate_ctxt *ctxt, u16 selector, x86_emulate_ctxt 6185 arch/x86/kvm/x86.c static int emulator_get_msr(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6191 arch/x86/kvm/x86.c static int emulator_set_msr(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6197 arch/x86/kvm/x86.c static u64 emulator_get_smbase(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6204 arch/x86/kvm/x86.c static void emulator_set_smbase(struct x86_emulate_ctxt *ctxt, u64 smbase) x86_emulate_ctxt 6211 arch/x86/kvm/x86.c static int emulator_check_pmc(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6217 arch/x86/kvm/x86.c static int emulator_read_pmc(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6223 arch/x86/kvm/x86.c static void emulator_halt(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6228 arch/x86/kvm/x86.c static int emulator_intercept(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6235 arch/x86/kvm/x86.c static bool emulator_get_cpuid(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6241 arch/x86/kvm/x86.c static ulong emulator_read_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg) x86_emulate_ctxt 6246 arch/x86/kvm/x86.c static void emulator_write_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val) x86_emulate_ctxt 6251 arch/x86/kvm/x86.c static void emulator_set_nmi_mask(struct x86_emulate_ctxt *ctxt, bool masked) x86_emulate_ctxt 6256 arch/x86/kvm/x86.c static unsigned emulator_get_hflags(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6261 arch/x86/kvm/x86.c static void emulator_set_hflags(struct x86_emulate_ctxt *ctxt, unsigned emul_flags) x86_emulate_ctxt 6266 arch/x86/kvm/x86.c static int emulator_pre_leave_smm(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6272 arch/x86/kvm/x86.c static void emulator_post_leave_smm(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6277 arch/x86/kvm/x86.c static int emulator_set_xcr(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr) x86_emulate_ctxt 6347 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 6361 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 6385 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 6508 arch/x86/kvm/x86.c static bool retry_instruction(struct x86_emulate_ctxt *ctxt, x86_emulate_ctxt 6663 arch/x86/kvm/x86.c static bool is_vmware_backdoor_opcode(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 6698 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 7515 arch/x86/kvm/x86.c static int emulator_fix_hypercall(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 8820 arch/x86/kvm/x86.c struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt; x86_emulate_ctxt 157 arch/x86/kvm/x86.h static inline u8 ctxt_virt_addr_bits(struct x86_emulate_ctxt *ctxt) x86_emulate_ctxt 177 arch/x86/kvm/x86.h struct x86_emulate_ctxt *ctxt)