Lines Matching defs:ctxt

246 static void writeback_registers(struct x86_emulate_ctxt *ctxt)  in writeback_registers()
255 static void invalidate_registers(struct x86_emulate_ctxt *ctxt) in invalidate_registers()
385 static int em_salc(struct x86_emulate_ctxt *ctxt) in em_salc()
410 static int emulator_check_intercept(struct x86_emulate_ctxt *ctxt, in emulator_check_intercept()
458 static inline unsigned long ad_mask(struct x86_emulate_ctxt *ctxt) in ad_mask()
463 static ulong stack_mask(struct x86_emulate_ctxt *ctxt) in stack_mask()
474 static int stack_size(struct x86_emulate_ctxt *ctxt) in stack_size()
481 address_mask(struct x86_emulate_ctxt *ctxt, unsigned long reg) in address_mask()
490 register_address(struct x86_emulate_ctxt *ctxt, int reg) in register_address()
501 register_address_increment(struct x86_emulate_ctxt *ctxt, int reg, int inc) in register_address_increment()
508 static void rsp_increment(struct x86_emulate_ctxt *ctxt, int inc) in rsp_increment()
520 static unsigned long seg_base(struct x86_emulate_ctxt *ctxt, int seg) in seg_base()
528 static int emulate_exception(struct x86_emulate_ctxt *ctxt, int vec, in emulate_exception()
540 static int emulate_db(struct x86_emulate_ctxt *ctxt) in emulate_db()
545 static int emulate_gp(struct x86_emulate_ctxt *ctxt, int err) in emulate_gp()
550 static int emulate_ss(struct x86_emulate_ctxt *ctxt, int err) in emulate_ss()
555 static int emulate_ud(struct x86_emulate_ctxt *ctxt) in emulate_ud()
560 static int emulate_ts(struct x86_emulate_ctxt *ctxt, int err) in emulate_ts()
565 static int emulate_de(struct x86_emulate_ctxt *ctxt) in emulate_de()
570 static int emulate_nm(struct x86_emulate_ctxt *ctxt) in emulate_nm()
575 static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg) in get_segment_selector()
584 static void set_segment_selector(struct x86_emulate_ctxt *ctxt, u16 selector, in set_segment_selector()
595 static inline u8 ctxt_virt_addr_bits(struct x86_emulate_ctxt *ctxt) in ctxt_virt_addr_bits()
601 struct x86_emulate_ctxt *ctxt, in emul_is_noncanonical_address()
616 static unsigned insn_alignment(struct x86_emulate_ctxt *ctxt, unsigned size) in insn_alignment()
635 static __always_inline int __linearize(struct x86_emulate_ctxt *ctxt, in __linearize()
702 static int linearize(struct x86_emulate_ctxt *ctxt, in linearize()
712 static inline int assign_eip(struct x86_emulate_ctxt *ctxt, ulong dst) in assign_eip()
729 static inline int emulator_recalc_and_set_mode(struct x86_emulate_ctxt *ctxt) in emulator_recalc_and_set_mode()
775 static inline int assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst) in assign_eip_near()
780 static int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst) in assign_eip_far()
790 static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel) in jmp_rel()
795 static int linear_read_system(struct x86_emulate_ctxt *ctxt, ulong linear, in linear_read_system()
801 static int linear_write_system(struct x86_emulate_ctxt *ctxt, in linear_write_system()
808 static int segmented_read_std(struct x86_emulate_ctxt *ctxt, in segmented_read_std()
822 static int segmented_write_std(struct x86_emulate_ctxt *ctxt, in segmented_write_std()
840 static int __do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, int op_size) in __do_insn_fetch_bytes()
884 static __always_inline int do_insn_fetch_bytes(struct x86_emulate_ctxt *ctxt, in do_insn_fetch_bytes()
923 static void *decode_register(struct x86_emulate_ctxt *ctxt, u8 modrm_reg, in decode_register()
936 static int read_descriptor(struct x86_emulate_ctxt *ctxt, in read_descriptor()
996 static int em_bsf_c(struct x86_emulate_ctxt *ctxt) in em_bsf_c()
1004 static int em_bsr_c(struct x86_emulate_ctxt *ctxt) in em_bsr_c()
1035 static int em_fninit(struct x86_emulate_ctxt *ctxt) in em_fninit()
1046 static int em_fnstcw(struct x86_emulate_ctxt *ctxt) in em_fnstcw()
1062 static int em_fnstsw(struct x86_emulate_ctxt *ctxt) in em_fnstsw()
1078 static void decode_register_operand(struct x86_emulate_ctxt *ctxt, in decode_register_operand()
1111 static void adjust_modrm_seg(struct x86_emulate_ctxt *ctxt, int base_reg) in adjust_modrm_seg()
1117 static int decode_modrm(struct x86_emulate_ctxt *ctxt, in decode_modrm()
1254 static int decode_abs(struct x86_emulate_ctxt *ctxt, in decode_abs()
1275 static void fetch_bit_operand(struct x86_emulate_ctxt *ctxt) in fetch_bit_operand()
1297 static int read_emulated(struct x86_emulate_ctxt *ctxt, in read_emulated()
1322 static int segmented_read(struct x86_emulate_ctxt *ctxt, in segmented_read()
1336 static int segmented_write(struct x86_emulate_ctxt *ctxt, in segmented_write()
1351 static int segmented_cmpxchg(struct x86_emulate_ctxt *ctxt, in segmented_cmpxchg()
1366 static int pio_in_emulated(struct x86_emulate_ctxt *ctxt, in pio_in_emulated()
1401 static int read_interrupt_descriptor(struct x86_emulate_ctxt *ctxt, in read_interrupt_descriptor()
1416 static void get_descriptor_table_ptr(struct x86_emulate_ctxt *ctxt, in get_descriptor_table_ptr()
1437 static int get_descriptor_ptr(struct x86_emulate_ctxt *ctxt, in get_descriptor_ptr()
1466 static int read_segment_descriptor(struct x86_emulate_ctxt *ctxt, in read_segment_descriptor()
1480 static int write_segment_descriptor(struct x86_emulate_ctxt *ctxt, in write_segment_descriptor()
1493 static bool emulator_is_ssp_invalid(struct x86_emulate_ctxt *ctxt, u8 cpl) in emulator_is_ssp_invalid()
1524 static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt, in __load_segment_descriptor()
1734 static int load_segment_descriptor(struct x86_emulate_ctxt *ctxt, in load_segment_descriptor()
1762 static int writeback(struct x86_emulate_ctxt *ctxt, struct operand *op) in writeback()
1800 static int emulate_push(struct x86_emulate_ctxt *ctxt, const void *data, int len) in emulate_push()
1811 static int em_push(struct x86_emulate_ctxt *ctxt) in em_push()
1818 static int emulate_pop(struct x86_emulate_ctxt *ctxt, in emulate_pop()
1834 static int em_pop(struct x86_emulate_ctxt *ctxt) in em_pop()
1839 static int emulate_popf(struct x86_emulate_ctxt *ctxt, in emulate_popf()
1882 static int em_popf(struct x86_emulate_ctxt *ctxt) in em_popf()
1890 static int em_enter(struct x86_emulate_ctxt *ctxt) in em_enter()
1912 static int em_leave(struct x86_emulate_ctxt *ctxt) in em_leave()
1919 static int em_push_sreg(struct x86_emulate_ctxt *ctxt) in em_push_sreg()
1932 static int em_pop_sreg(struct x86_emulate_ctxt *ctxt) in em_pop_sreg()
1951 static int em_pusha(struct x86_emulate_ctxt *ctxt) in em_pusha()
1971 static int em_pushf(struct x86_emulate_ctxt *ctxt) in em_pushf()
1977 static int em_popa(struct x86_emulate_ctxt *ctxt) in em_popa()
1998 static int __emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq) in __emulate_int_real()
2047 int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq) in emulate_int_real()
2058 static int emulate_int(struct x86_emulate_ctxt *ctxt, int irq) in emulate_int()
2073 static int emulate_iret_real(struct x86_emulate_ctxt *ctxt) in emulate_iret_real()
2129 static int em_iret(struct x86_emulate_ctxt *ctxt) in em_iret()
2144 static int em_jmp_far(struct x86_emulate_ctxt *ctxt) in em_jmp_far()
2167 static int em_jmp_abs(struct x86_emulate_ctxt *ctxt) in em_jmp_abs()
2172 static int em_call_near_abs(struct x86_emulate_ctxt *ctxt) in em_call_near_abs()
2186 static int em_cmpxchg8b(struct x86_emulate_ctxt *ctxt) in em_cmpxchg8b()
2207 static int em_ret(struct x86_emulate_ctxt *ctxt) in em_ret()
2219 static int em_ret_far(struct x86_emulate_ctxt *ctxt) in em_ret_far()
2246 static int em_ret_far_imm(struct x86_emulate_ctxt *ctxt) in em_ret_far_imm()
2257 static int em_cmpxchg(struct x86_emulate_ctxt *ctxt) in em_cmpxchg()
2281 static int em_lseg(struct x86_emulate_ctxt *ctxt) in em_lseg()
2297 static int em_rsm(struct x86_emulate_ctxt *ctxt) in em_rsm()
2334 static int em_syscall(struct x86_emulate_ctxt *ctxt) in em_syscall()
2401 static int em_sysenter(struct x86_emulate_ctxt *ctxt) in em_sysenter()
2454 static int em_sysexit(struct x86_emulate_ctxt *ctxt) in em_sysexit()
2514 static bool emulator_bad_iopl(struct x86_emulate_ctxt *ctxt) in emulator_bad_iopl()
2528 static bool emulator_io_port_access_allowed(struct x86_emulate_ctxt *ctxt, in emulator_io_port_access_allowed()
2569 static bool emulator_io_permitted(struct x86_emulate_ctxt *ctxt, in emulator_io_permitted()
2584 static void string_registers_quirk(struct x86_emulate_ctxt *ctxt) in string_registers_quirk()
2615 static void save_state_to_tss16(struct x86_emulate_ctxt *ctxt, in save_state_to_tss16()
2636 static int load_state_from_tss16(struct x86_emulate_ctxt *ctxt, in load_state_from_tss16()
2693 static int task_switch_16(struct x86_emulate_ctxt *ctxt, u16 old_tss_sel, in task_switch_16()
2727 static void save_state_to_tss32(struct x86_emulate_ctxt *ctxt, in save_state_to_tss32()
2750 static int load_state_from_tss32(struct x86_emulate_ctxt *ctxt, in load_state_from_tss32()
2831 static int task_switch_32(struct x86_emulate_ctxt *ctxt, u16 old_tss_sel, in task_switch_32()
2869 static int emulator_do_task_switch(struct x86_emulate_ctxt *ctxt, in emulator_do_task_switch()
2970 int emulator_task_switch(struct x86_emulate_ctxt *ctxt, in emulator_task_switch()
2991 static void string_addr_inc(struct x86_emulate_ctxt *ctxt, int reg, in string_addr_inc()
3000 static int em_das(struct x86_emulate_ctxt *ctxt) in em_das()
3038 static int em_aam(struct x86_emulate_ctxt *ctxt) in em_aam()
3060 static int em_aad(struct x86_emulate_ctxt *ctxt) in em_aad()
3078 static int em_call(struct x86_emulate_ctxt *ctxt) in em_call()
3090 static int em_call_far(struct x86_emulate_ctxt *ctxt) in em_call_far()
3134 static int em_ret_near_imm(struct x86_emulate_ctxt *ctxt) in em_ret_near_imm()
3149 static int em_xchg(struct x86_emulate_ctxt *ctxt) in em_xchg()
3161 static int em_imul_3op(struct x86_emulate_ctxt *ctxt) in em_imul_3op()
3167 static int em_cwd(struct x86_emulate_ctxt *ctxt) in em_cwd()
3177 static int em_rdpid(struct x86_emulate_ctxt *ctxt) in em_rdpid()
3189 static int em_rdtsc(struct x86_emulate_ctxt *ctxt) in em_rdtsc()
3199 static int em_rdpmc(struct x86_emulate_ctxt *ctxt) in em_rdpmc()
3210 static int em_mov(struct x86_emulate_ctxt *ctxt) in em_mov()
3216 static int em_movbe(struct x86_emulate_ctxt *ctxt) in em_movbe()
3249 static int em_cr_write(struct x86_emulate_ctxt *ctxt) in em_cr_write()
3273 static int em_dr_write(struct x86_emulate_ctxt *ctxt) in em_dr_write()
3291 static int em_wrmsr(struct x86_emulate_ctxt *ctxt) in em_wrmsr()
3307 static int em_rdmsr(struct x86_emulate_ctxt *ctxt) in em_rdmsr()
3325 static int em_store_sreg(struct x86_emulate_ctxt *ctxt, int segment) in em_store_sreg()
3338 static int em_mov_rm_sreg(struct x86_emulate_ctxt *ctxt) in em_mov_rm_sreg()
3346 static int em_mov_sreg_rm(struct x86_emulate_ctxt *ctxt) in em_mov_sreg_rm()
3361 static int em_sldt(struct x86_emulate_ctxt *ctxt) in em_sldt()
3366 static int em_lldt(struct x86_emulate_ctxt *ctxt) in em_lldt()
3375 static int em_str(struct x86_emulate_ctxt *ctxt) in em_str()
3380 static int em_ltr(struct x86_emulate_ctxt *ctxt) in em_ltr()
3389 static int em_invlpg(struct x86_emulate_ctxt *ctxt) in em_invlpg()
3404 static int em_clts(struct x86_emulate_ctxt *ctxt) in em_clts()
3414 static int em_hypercall(struct x86_emulate_ctxt *ctxt) in em_hypercall()
3428 static int emulate_store_desc_ptr(struct x86_emulate_ctxt *ctxt, in emulate_store_desc_ptr()
3429 void (*get)(struct x86_emulate_ctxt *ctxt, in emulate_store_desc_ptr()
3451 static int em_sgdt(struct x86_emulate_ctxt *ctxt) in em_sgdt()
3456 static int em_sidt(struct x86_emulate_ctxt *ctxt) in em_sidt()
3461 static int em_lgdt_lidt(struct x86_emulate_ctxt *ctxt, bool lgdt) in em_lgdt_lidt()
3486 static int em_lgdt(struct x86_emulate_ctxt *ctxt) in em_lgdt()
3491 static int em_lidt(struct x86_emulate_ctxt *ctxt) in em_lidt()
3496 static int em_smsw(struct x86_emulate_ctxt *ctxt) in em_smsw()
3508 static int em_lmsw(struct x86_emulate_ctxt *ctxt) in em_lmsw()
3516 static int em_loop(struct x86_emulate_ctxt *ctxt) in em_loop()
3528 static int em_jcxz(struct x86_emulate_ctxt *ctxt) in em_jcxz()
3538 static int em_in(struct x86_emulate_ctxt *ctxt) in em_in()
3547 static int em_out(struct x86_emulate_ctxt *ctxt) in em_out()
3556 static int em_cli(struct x86_emulate_ctxt *ctxt) in em_cli()
3565 static int em_sti(struct x86_emulate_ctxt *ctxt) in em_sti()
3575 static int em_cpuid(struct x86_emulate_ctxt *ctxt) in em_cpuid()
3596 static int em_sahf(struct x86_emulate_ctxt *ctxt) in em_sahf()
3609 static int em_lahf(struct x86_emulate_ctxt *ctxt) in em_lahf()
3616 static int em_bswap(struct x86_emulate_ctxt *ctxt) in em_bswap()
3631 static int em_clflush(struct x86_emulate_ctxt *ctxt) in em_clflush()
3637 static int em_clflushopt(struct x86_emulate_ctxt *ctxt) in em_clflushopt()
3643 static int em_movsxd(struct x86_emulate_ctxt *ctxt) in em_movsxd()
3649 static int check_fxsr(struct x86_emulate_ctxt *ctxt) in check_fxsr()
3676 static inline size_t fxstate_size(struct x86_emulate_ctxt *ctxt) in fxstate_size()
3704 static int em_fxsave(struct x86_emulate_ctxt *ctxt) in em_fxsave()
3746 static int em_fxrstor(struct x86_emulate_ctxt *ctxt) in em_fxrstor()
3783 static int em_xsetbv(struct x86_emulate_ctxt *ctxt) in em_xsetbv()
3812 static int check_cr_access(struct x86_emulate_ctxt *ctxt) in check_cr_access()
3820 static int check_dr_read(struct x86_emulate_ctxt *ctxt) in check_dr_read()
3845 static int check_dr_write(struct x86_emulate_ctxt *ctxt) in check_dr_write()
3856 static int check_svme(struct x86_emulate_ctxt *ctxt) in check_svme()
3868 static int check_svme_pa(struct x86_emulate_ctxt *ctxt) in check_svme_pa()
3879 static int check_rdtsc(struct x86_emulate_ctxt *ctxt) in check_rdtsc()
3889 static int check_rdpmc(struct x86_emulate_ctxt *ctxt) in check_rdpmc()
3913 static int check_perm_in(struct x86_emulate_ctxt *ctxt) in check_perm_in()
3922 static int check_perm_out(struct x86_emulate_ctxt *ctxt) in check_perm_out()
4488 static bool is_shstk_instruction(struct x86_emulate_ctxt *ctxt) in is_shstk_instruction()
4493 static bool is_ibt_instruction(struct x86_emulate_ctxt *ctxt) in is_ibt_instruction()
4542 static unsigned imm_size(struct x86_emulate_ctxt *ctxt) in imm_size()
4552 static int decode_imm(struct x86_emulate_ctxt *ctxt, struct operand *op, in decode_imm()
4592 static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op, in decode_operand()
4758 int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len, int emulation_type) in x86_decode_insn()
5091 bool x86_page_table_writing_insn(struct x86_emulate_ctxt *ctxt) in x86_page_table_writing_insn()
5096 static bool string_insn_completed(struct x86_emulate_ctxt *ctxt) in string_insn_completed()
5116 static int flush_pending_x87_faults(struct x86_emulate_ctxt *ctxt) in flush_pending_x87_faults()
5136 void init_decode_cache(struct x86_emulate_ctxt *ctxt) in init_decode_cache()
5151 int x86_emulate_insn(struct x86_emulate_ctxt *ctxt, bool check_intercepts) in x86_emulate_insn()
5499 void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt) in emulator_invalidate_register_cache()
5504 void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt) in emulator_writeback_register_cache()
5509 bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt) in emulator_can_use_gpa()