Lines Matching refs:vcpu_svm

130 struct vcpu_svm {  struct
208 static void svm_complete_interrupts(struct vcpu_svm *svm);
210 static int nested_svm_exit_handled(struct vcpu_svm *svm);
211 static int nested_svm_intercept(struct vcpu_svm *svm);
212 static int nested_svm_vmexit(struct vcpu_svm *svm);
213 static int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr,
251 static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu) in to_svm()
253 return container_of(vcpu, struct vcpu_svm, vcpu); in to_svm()
256 static void recalc_intercepts(struct vcpu_svm *svm) in recalc_intercepts()
276 static inline struct vmcb *get_host_vmcb(struct vcpu_svm *svm) in get_host_vmcb()
284 static inline void set_cr_intercept(struct vcpu_svm *svm, int bit) in set_cr_intercept()
293 static inline void clr_cr_intercept(struct vcpu_svm *svm, int bit) in clr_cr_intercept()
302 static inline bool is_cr_intercept(struct vcpu_svm *svm, int bit) in is_cr_intercept()
309 static inline void set_dr_intercepts(struct vcpu_svm *svm) in set_dr_intercepts()
333 static inline void clr_dr_intercepts(struct vcpu_svm *svm) in clr_dr_intercepts()
342 static inline void set_exception_intercept(struct vcpu_svm *svm, int bit) in set_exception_intercept()
351 static inline void clr_exception_intercept(struct vcpu_svm *svm, int bit) in clr_exception_intercept()
360 static inline void set_intercept(struct vcpu_svm *svm, int bit) in set_intercept()
369 static inline void clr_intercept(struct vcpu_svm *svm, int bit) in clr_intercept()
378 static inline void enable_gif(struct vcpu_svm *svm) in enable_gif()
383 static inline void disable_gif(struct vcpu_svm *svm) in disable_gif()
388 static inline bool gif_set(struct vcpu_svm *svm) in gif_set()
493 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_interrupt_shadow()
503 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_interrupt_shadow()
514 struct vcpu_svm *svm = to_svm(vcpu); in skip_emulated_instruction()
539 struct vcpu_svm *svm = to_svm(vcpu); in svm_queue_exception()
847 static void svm_enable_lbrv(struct vcpu_svm *svm) in svm_enable_lbrv()
858 static void svm_disable_lbrv(struct vcpu_svm *svm) in svm_disable_lbrv()
962 struct vcpu_svm *svm = to_svm(vcpu); in svm_read_tsc_offset()
969 struct vcpu_svm *svm = to_svm(vcpu); in svm_write_tsc_offset()
988 struct vcpu_svm *svm = to_svm(vcpu); in svm_adjust_tsc_offset_guest()
1001 static void init_vmcb(struct vcpu_svm *svm) in init_vmcb()
1118 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_reset()
1136 struct vcpu_svm *svm; in svm_create_vcpu()
1204 struct vcpu_svm *svm = to_svm(vcpu); in svm_free_vcpu()
1216 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_load()
1245 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_put()
1290 static void svm_set_vintr(struct vcpu_svm *svm) in svm_set_vintr()
1295 static void svm_clear_vintr(struct vcpu_svm *svm) in svm_clear_vintr()
1402 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_idt()
1410 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_idt()
1419 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_gdt()
1427 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_gdt()
1446 static void update_cr0_intercept(struct vcpu_svm *svm) in update_cr0_intercept()
1470 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_cr0()
1527 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_segment()
1560 struct vcpu_svm *svm = to_svm(vcpu); in update_bp_intercept()
1571 static void new_asid(struct vcpu_svm *svm, struct svm_cpu_data *sd) in new_asid()
1592 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_dr6()
1600 struct vcpu_svm *svm = to_svm(vcpu); in svm_sync_dirty_debug_regs()
1615 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_dr7()
1621 static int pf_interception(struct vcpu_svm *svm) in pf_interception()
1654 static int db_interception(struct vcpu_svm *svm) in db_interception()
1684 static int bp_interception(struct vcpu_svm *svm) in bp_interception()
1694 static int ud_interception(struct vcpu_svm *svm) in ud_interception()
1704 static int ac_interception(struct vcpu_svm *svm) in ac_interception()
1712 struct vcpu_svm *svm = to_svm(vcpu); in svm_fpu_activate()
1720 static int nm_interception(struct vcpu_svm *svm) in nm_interception()
1765 static void svm_handle_mce(struct vcpu_svm *svm) in svm_handle_mce()
1790 static int mc_interception(struct vcpu_svm *svm) in mc_interception()
1795 static int shutdown_interception(struct vcpu_svm *svm) in shutdown_interception()
1810 static int io_interception(struct vcpu_svm *svm) in io_interception()
1831 static int nmi_interception(struct vcpu_svm *svm) in nmi_interception()
1836 static int intr_interception(struct vcpu_svm *svm) in intr_interception()
1842 static int nop_on_interception(struct vcpu_svm *svm) in nop_on_interception()
1847 static int halt_interception(struct vcpu_svm *svm) in halt_interception()
1853 static int vmmcall_interception(struct vcpu_svm *svm) in vmmcall_interception()
1862 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_get_tdp_cr3()
1869 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_get_tdp_pdptr()
1884 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_set_tdp_cr3()
1894 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_inject_npf_exit()
1938 static int nested_svm_check_permissions(struct vcpu_svm *svm) in nested_svm_check_permissions()
1954 static int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr, in nested_svm_check_exception()
1975 static inline bool nested_svm_intr(struct vcpu_svm *svm) in nested_svm_intr()
2014 static inline bool nested_svm_nmi(struct vcpu_svm *svm) in nested_svm_nmi()
2028 static void *nested_svm_map(struct vcpu_svm *svm, u64 gpa, struct page **_page) in nested_svm_map()
2054 static int nested_svm_intercept_ioio(struct vcpu_svm *svm) in nested_svm_intercept_ioio()
2079 static int nested_svm_exit_handled_msr(struct vcpu_svm *svm) in nested_svm_exit_handled_msr()
2104 static int nested_svm_exit_special(struct vcpu_svm *svm) in nested_svm_exit_special()
2136 static int nested_svm_intercept(struct vcpu_svm *svm) in nested_svm_intercept()
2184 static int nested_svm_exit_handled(struct vcpu_svm *svm) in nested_svm_exit_handled()
2226 static int nested_svm_vmexit(struct vcpu_svm *svm) in nested_svm_vmexit()
2349 static bool nested_svm_vmrun_msrpm(struct vcpu_svm *svm) in nested_svm_vmrun_msrpm()
2396 static bool nested_svm_vmrun(struct vcpu_svm *svm) in nested_svm_vmrun()
2572 static int vmload_interception(struct vcpu_svm *svm) in vmload_interception()
2593 static int vmsave_interception(struct vcpu_svm *svm) in vmsave_interception()
2614 static int vmrun_interception(struct vcpu_svm *svm) in vmrun_interception()
2642 static int stgi_interception(struct vcpu_svm *svm) in stgi_interception()
2656 static int clgi_interception(struct vcpu_svm *svm) in clgi_interception()
2675 static int invlpga_interception(struct vcpu_svm *svm) in invlpga_interception()
2690 static int skinit_interception(struct vcpu_svm *svm) in skinit_interception()
2698 static int wbinvd_interception(struct vcpu_svm *svm) in wbinvd_interception()
2704 static int xsetbv_interception(struct vcpu_svm *svm) in xsetbv_interception()
2717 static int task_switch_interception(struct vcpu_svm *svm) in task_switch_interception()
2785 static int cpuid_interception(struct vcpu_svm *svm) in cpuid_interception()
2792 static int iret_interception(struct vcpu_svm *svm) in iret_interception()
2802 static int invlpg_interception(struct vcpu_svm *svm) in invlpg_interception()
2812 static int emulate_on_interception(struct vcpu_svm *svm) in emulate_on_interception()
2817 static int rdpmc_interception(struct vcpu_svm *svm) in rdpmc_interception()
2830 static bool check_selective_cr0_intercepted(struct vcpu_svm *svm, in check_selective_cr0_intercepted()
2856 static int cr_interception(struct vcpu_svm *svm) in cr_interception()
2929 static int dr_interception(struct vcpu_svm *svm) in dr_interception()
2968 static int cr8_write_interception(struct vcpu_svm *svm) in cr8_write_interception()
2992 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_msr()
3062 static int rdmsr_interception(struct vcpu_svm *svm) in rdmsr_interception()
3087 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_vm_cr()
3112 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_msr()
3178 static int wrmsr_interception(struct vcpu_svm *svm) in wrmsr_interception()
3199 static int msr_interception(struct vcpu_svm *svm) in msr_interception()
3207 static int interrupt_window_interception(struct vcpu_svm *svm) in interrupt_window_interception()
3217 static int pause_interception(struct vcpu_svm *svm) in pause_interception()
3223 static int nop_interception(struct vcpu_svm *svm) in nop_interception()
3229 static int monitor_interception(struct vcpu_svm *svm) in monitor_interception()
3235 static int mwait_interception(struct vcpu_svm *svm) in mwait_interception()
3241 static int (*const svm_exit_handlers[])(struct vcpu_svm *svm) = {
3308 struct vcpu_svm *svm = to_svm(vcpu); in dump_vmcb()
3421 struct vcpu_svm *svm = to_svm(vcpu); in handle_exit()
3497 static void pre_svm_run(struct vcpu_svm *svm) in pre_svm_run()
3510 struct vcpu_svm *svm = to_svm(vcpu); in svm_inject_nmi()
3518 static inline void svm_inject_irq(struct vcpu_svm *svm, int irq) in svm_inject_irq()
3532 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_irq()
3545 struct vcpu_svm *svm = to_svm(vcpu); in update_cr8_intercept()
3581 struct vcpu_svm *svm = to_svm(vcpu); in svm_nmi_allowed()
3593 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_nmi_mask()
3600 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_nmi_mask()
3613 struct vcpu_svm *svm = to_svm(vcpu); in svm_interrupt_allowed()
3631 struct vcpu_svm *svm = to_svm(vcpu); in enable_irq_window()
3647 struct vcpu_svm *svm = to_svm(vcpu); in enable_nmi_window()
3668 struct vcpu_svm *svm = to_svm(vcpu); in svm_flush_tlb()
3682 struct vcpu_svm *svm = to_svm(vcpu); in sync_cr8_to_lapic()
3695 struct vcpu_svm *svm = to_svm(vcpu); in sync_lapic_to_cr8()
3706 static void svm_complete_interrupts(struct vcpu_svm *svm) in svm_complete_interrupts()
3772 struct vcpu_svm *svm = to_svm(vcpu); in svm_cancel_injection()
3783 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_run()
3853 [vmcb]"i"(offsetof(struct vcpu_svm, vmcb_pa)), in svm_vcpu_run()
3854 [rbx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RBX])), in svm_vcpu_run()
3855 [rcx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RCX])), in svm_vcpu_run()
3856 [rdx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RDX])), in svm_vcpu_run()
3857 [rsi]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RSI])), in svm_vcpu_run()
3858 [rdi]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RDI])), in svm_vcpu_run()
3859 [rbp]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RBP])) in svm_vcpu_run()
3861 , [r8]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R8])), in svm_vcpu_run()
3862 [r9]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R9])), in svm_vcpu_run()
3863 [r10]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R10])), in svm_vcpu_run()
3864 [r11]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R11])), in svm_vcpu_run()
3865 [r12]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R12])), in svm_vcpu_run()
3866 [r13]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R13])), in svm_vcpu_run()
3867 [r14]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R14])), in svm_vcpu_run()
3868 [r15]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R15])) in svm_vcpu_run()
3935 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_cr3()
3944 struct vcpu_svm *svm = to_svm(vcpu); in set_tdp_cr3()
4000 struct vcpu_svm *svm = to_svm(vcpu); in svm_cpuid_update()
4065 struct vcpu_svm *svm = to_svm(vcpu); in svm_fpu_deactivate()
4138 struct vcpu_svm *svm = to_svm(vcpu); in svm_check_intercept()
4371 return kvm_init(&svm_x86_ops, sizeof(struct vcpu_svm), in svm_init()
4372 __alignof__(struct vcpu_svm), THIS_MODULE); in svm_init()