Lines Matching refs:vcpu_svm

187 struct vcpu_svm {  struct
388 static void svm_complete_interrupts(struct vcpu_svm *svm);
390 static int nested_svm_exit_handled(struct vcpu_svm *svm);
391 static int nested_svm_intercept(struct vcpu_svm *svm);
392 static int nested_svm_vmexit(struct vcpu_svm *svm);
393 static int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr,
479 static inline struct vcpu_svm *to_svm(struct kvm_vcpu *vcpu) in to_svm()
481 return container_of(vcpu, struct vcpu_svm, vcpu); in to_svm()
484 static inline void avic_update_vapic_bar(struct vcpu_svm *svm, u64 data) in avic_update_vapic_bar()
492 struct vcpu_svm *svm = to_svm(vcpu); in avic_vcpu_is_running()
501 static void recalc_intercepts(struct vcpu_svm *svm) in recalc_intercepts()
521 static inline struct vmcb *get_host_vmcb(struct vcpu_svm *svm) in get_host_vmcb()
529 static inline void set_cr_intercept(struct vcpu_svm *svm, int bit) in set_cr_intercept()
538 static inline void clr_cr_intercept(struct vcpu_svm *svm, int bit) in clr_cr_intercept()
547 static inline bool is_cr_intercept(struct vcpu_svm *svm, int bit) in is_cr_intercept()
554 static inline void set_dr_intercepts(struct vcpu_svm *svm) in set_dr_intercepts()
578 static inline void clr_dr_intercepts(struct vcpu_svm *svm) in clr_dr_intercepts()
587 static inline void set_exception_intercept(struct vcpu_svm *svm, int bit) in set_exception_intercept()
596 static inline void clr_exception_intercept(struct vcpu_svm *svm, int bit) in clr_exception_intercept()
605 static inline void set_intercept(struct vcpu_svm *svm, int bit) in set_intercept()
614 static inline void clr_intercept(struct vcpu_svm *svm, int bit) in clr_intercept()
623 static inline bool vgif_enabled(struct vcpu_svm *svm) in vgif_enabled()
628 static inline void enable_gif(struct vcpu_svm *svm) in enable_gif()
636 static inline void disable_gif(struct vcpu_svm *svm) in disable_gif()
644 static inline bool gif_set(struct vcpu_svm *svm) in gif_set()
758 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_interrupt_shadow()
768 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_interrupt_shadow()
779 struct vcpu_svm *svm = to_svm(vcpu); in skip_emulated_instruction()
802 struct vcpu_svm *svm = to_svm(vcpu); in svm_queue_exception()
1144 static void svm_enable_lbrv(struct vcpu_svm *svm) in svm_enable_lbrv()
1155 static void svm_disable_lbrv(struct vcpu_svm *svm) in svm_disable_lbrv()
1166 static void disable_nmi_singlestep(struct vcpu_svm *svm) in disable_nmi_singlestep()
1267 struct vcpu_svm *svm = to_svm(vcpu); in grow_ple_window()
1285 struct vcpu_svm *svm = to_svm(vcpu); in shrink_ple_window()
1450 struct vcpu_svm *svm = to_svm(vcpu); in svm_read_l1_tsc_offset()
1460 struct vcpu_svm *svm = to_svm(vcpu); in svm_write_l1_tsc_offset()
1480 static void avic_init_vmcb(struct vcpu_svm *svm) in avic_init_vmcb()
1495 static void init_vmcb(struct vcpu_svm *svm) in init_vmcb()
1703 struct vcpu_svm *svm = to_svm(vcpu); in avic_init_backing_page()
2006 struct vcpu_svm *svm = to_svm(vcpu); in avic_update_iommu_vcpu_affinity()
2035 struct vcpu_svm *svm = to_svm(vcpu); in avic_vcpu_load()
2065 struct vcpu_svm *svm = to_svm(vcpu); in avic_vcpu_put()
2083 struct vcpu_svm *svm = to_svm(vcpu); in avic_set_running()
2094 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_reset()
2117 static int avic_init_vcpu(struct vcpu_svm *svm) in avic_init_vcpu()
2137 struct vcpu_svm *svm; in svm_create_vcpu()
2144 BUILD_BUG_ON_MSG(offsetof(struct vcpu_svm, vcpu) != 0, in svm_create_vcpu()
2247 struct vcpu_svm *svm = to_svm(vcpu); in svm_free_vcpu()
2268 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_load()
2307 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_put()
2339 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_rflags()
2377 static void svm_set_vintr(struct vcpu_svm *svm) in svm_set_vintr()
2382 static void svm_clear_vintr(struct vcpu_svm *svm) in svm_clear_vintr()
2490 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_idt()
2498 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_idt()
2507 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_gdt()
2515 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_gdt()
2534 static void update_cr0_intercept(struct vcpu_svm *svm) in update_cr0_intercept()
2555 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_cr0()
2610 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_segment()
2640 struct vcpu_svm *svm = to_svm(vcpu); in update_bp_intercept()
2651 static void new_asid(struct vcpu_svm *svm, struct svm_cpu_data *sd) in new_asid()
2672 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_dr6()
2680 struct vcpu_svm *svm = to_svm(vcpu); in svm_sync_dirty_debug_regs()
2695 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_dr7()
2701 static int pf_interception(struct vcpu_svm *svm) in pf_interception()
2712 static int npf_interception(struct vcpu_svm *svm) in npf_interception()
2724 static int db_interception(struct vcpu_svm *svm) in db_interception()
2754 static int bp_interception(struct vcpu_svm *svm) in bp_interception()
2764 static int ud_interception(struct vcpu_svm *svm) in ud_interception()
2769 static int ac_interception(struct vcpu_svm *svm) in ac_interception()
2775 static int gp_interception(struct vcpu_svm *svm) in gp_interception()
2832 static void svm_handle_mce(struct vcpu_svm *svm) in svm_handle_mce()
2857 static int mc_interception(struct vcpu_svm *svm) in mc_interception()
2862 static int shutdown_interception(struct vcpu_svm *svm) in shutdown_interception()
2877 static int io_interception(struct vcpu_svm *svm) in io_interception()
2897 static int nmi_interception(struct vcpu_svm *svm) in nmi_interception()
2902 static int intr_interception(struct vcpu_svm *svm) in intr_interception()
2908 static int nop_on_interception(struct vcpu_svm *svm) in nop_on_interception()
2913 static int halt_interception(struct vcpu_svm *svm) in halt_interception()
2918 static int vmmcall_interception(struct vcpu_svm *svm) in vmmcall_interception()
2925 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_get_tdp_cr3()
2932 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_get_tdp_pdptr()
2947 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_set_tdp_cr3()
2956 struct vcpu_svm *svm = to_svm(vcpu); in nested_svm_inject_npf_exit()
3003 static int nested_svm_check_permissions(struct vcpu_svm *svm) in nested_svm_check_permissions()
3019 static int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr, in nested_svm_check_exception()
3051 static inline bool nested_svm_intr(struct vcpu_svm *svm) in nested_svm_intr()
3090 static inline bool nested_svm_nmi(struct vcpu_svm *svm) in nested_svm_nmi()
3104 static int nested_svm_intercept_ioio(struct vcpu_svm *svm) in nested_svm_intercept_ioio()
3129 static int nested_svm_exit_handled_msr(struct vcpu_svm *svm) in nested_svm_exit_handled_msr()
3155 static int nested_svm_intercept_db(struct vcpu_svm *svm) in nested_svm_intercept_db()
3179 static int nested_svm_exit_special(struct vcpu_svm *svm) in nested_svm_exit_special()
3208 static int nested_svm_intercept(struct vcpu_svm *svm) in nested_svm_intercept()
3260 static int nested_svm_exit_handled(struct vcpu_svm *svm) in nested_svm_exit_handled()
3304 static int nested_svm_vmexit(struct vcpu_svm *svm) in nested_svm_vmexit()
3447 static bool nested_svm_vmrun_msrpm(struct vcpu_svm *svm) in nested_svm_vmrun_msrpm()
3495 static void enter_svm_guest_mode(struct vcpu_svm *svm, u64 vmcb_gpa, in enter_svm_guest_mode()
3598 static int nested_svm_vmrun(struct vcpu_svm *svm) in nested_svm_vmrun()
3701 static int vmload_interception(struct vcpu_svm *svm) in vmload_interception()
3727 static int vmsave_interception(struct vcpu_svm *svm) in vmsave_interception()
3753 static int vmrun_interception(struct vcpu_svm *svm) in vmrun_interception()
3761 static int stgi_interception(struct vcpu_svm *svm) in stgi_interception()
3783 static int clgi_interception(struct vcpu_svm *svm) in clgi_interception()
3804 static int invlpga_interception(struct vcpu_svm *svm) in invlpga_interception()
3817 static int skinit_interception(struct vcpu_svm *svm) in skinit_interception()
3825 static int wbinvd_interception(struct vcpu_svm *svm) in wbinvd_interception()
3830 static int xsetbv_interception(struct vcpu_svm *svm) in xsetbv_interception()
3842 static int rdpru_interception(struct vcpu_svm *svm) in rdpru_interception()
3848 static int task_switch_interception(struct vcpu_svm *svm) in task_switch_interception()
3912 static int cpuid_interception(struct vcpu_svm *svm) in cpuid_interception()
3917 static int iret_interception(struct vcpu_svm *svm) in iret_interception()
3927 static int invlpg_interception(struct vcpu_svm *svm) in invlpg_interception()
3936 static int emulate_on_interception(struct vcpu_svm *svm) in emulate_on_interception()
3941 static int rsm_interception(struct vcpu_svm *svm) in rsm_interception()
3946 static int rdpmc_interception(struct vcpu_svm *svm) in rdpmc_interception()
3957 static bool check_selective_cr0_intercepted(struct vcpu_svm *svm, in check_selective_cr0_intercepted()
3983 static int cr_interception(struct vcpu_svm *svm) in cr_interception()
4054 static int dr_interception(struct vcpu_svm *svm) in dr_interception()
4091 static int cr8_write_interception(struct vcpu_svm *svm) in cr8_write_interception()
4125 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_msr()
4226 static int rdmsr_interception(struct vcpu_svm *svm) in rdmsr_interception()
4233 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_vm_cr()
4258 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_msr()
4416 static int wrmsr_interception(struct vcpu_svm *svm) in wrmsr_interception()
4421 static int msr_interception(struct vcpu_svm *svm) in msr_interception()
4429 static int interrupt_window_interception(struct vcpu_svm *svm) in interrupt_window_interception()
4439 static int pause_interception(struct vcpu_svm *svm) in pause_interception()
4451 static int nop_interception(struct vcpu_svm *svm) in nop_interception()
4456 static int monitor_interception(struct vcpu_svm *svm) in monitor_interception()
4462 static int mwait_interception(struct vcpu_svm *svm) in mwait_interception()
4475 static int avic_incomplete_ipi_interception(struct vcpu_svm *svm) in avic_incomplete_ipi_interception()
4587 struct vcpu_svm *svm = to_svm(vcpu); in avic_invalidate_logical_id_entry()
4598 struct vcpu_svm *svm = to_svm(vcpu); in avic_handle_ldr_update()
4619 struct vcpu_svm *svm = to_svm(vcpu); in avic_handle_apic_id_update()
4647 struct vcpu_svm *svm = to_svm(vcpu); in avic_handle_dfr_update()
4657 static int avic_unaccel_trap_write(struct vcpu_svm *svm) in avic_unaccel_trap_write()
4713 static int avic_unaccelerated_access_interception(struct vcpu_svm *svm) in avic_unaccelerated_access_interception()
4738 static int (*const svm_exit_handlers[])(struct vcpu_svm *svm) = {
4808 struct vcpu_svm *svm = to_svm(vcpu); in dump_vmcb()
4932 struct vcpu_svm *svm = to_svm(vcpu); in handle_exit()
5012 static void pre_sev_run(struct vcpu_svm *svm, int cpu) in pre_sev_run()
5036 static void pre_svm_run(struct vcpu_svm *svm) in pre_svm_run()
5052 struct vcpu_svm *svm = to_svm(vcpu); in svm_inject_nmi()
5060 static inline void svm_inject_irq(struct vcpu_svm *svm, int irq) in svm_inject_irq()
5075 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_irq()
5093 struct vcpu_svm *svm = to_svm(vcpu); in update_cr8_intercept()
5129 struct vcpu_svm *svm = to_svm(vcpu); in svm_refresh_apicv_exec_ctrl()
5164 static void svm_ir_list_del(struct vcpu_svm *svm, struct amd_iommu_pi_data *pi) in svm_ir_list_del()
5180 static int svm_ir_list_add(struct vcpu_svm *svm, struct amd_iommu_pi_data *pi) in svm_ir_list_add()
5195 struct vcpu_svm *prev_svm; in svm_ir_list_add()
5237 struct vcpu_data *vcpu_info, struct vcpu_svm **svm) in get_pi_vcpu_info()
5289 struct vcpu_svm *svm = NULL; in svm_update_pi_irte()
5371 struct vcpu_svm *svm = to_svm(vcpu); in svm_nmi_allowed()
5383 struct vcpu_svm *svm = to_svm(vcpu); in svm_get_nmi_mask()
5390 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_nmi_mask()
5403 struct vcpu_svm *svm = to_svm(vcpu); in svm_interrupt_allowed()
5421 struct vcpu_svm *svm = to_svm(vcpu); in enable_irq_window()
5442 struct vcpu_svm *svm = to_svm(vcpu); in enable_nmi_window()
5478 struct vcpu_svm *svm = to_svm(vcpu); in svm_flush_tlb()
5488 struct vcpu_svm *svm = to_svm(vcpu); in svm_flush_tlb_gva()
5499 struct vcpu_svm *svm = to_svm(vcpu); in sync_cr8_to_lapic()
5512 struct vcpu_svm *svm = to_svm(vcpu); in sync_lapic_to_cr8()
5524 static void svm_complete_interrupts(struct vcpu_svm *svm) in svm_complete_interrupts()
5590 struct vcpu_svm *svm = to_svm(vcpu); in svm_cancel_injection()
5601 struct vcpu_svm *svm = to_svm(vcpu); in svm_vcpu_run()
5717 [vmcb]"i"(offsetof(struct vcpu_svm, vmcb_pa)), in svm_vcpu_run()
5718 [rbx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RBX])), in svm_vcpu_run()
5719 [rcx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RCX])), in svm_vcpu_run()
5720 [rdx]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RDX])), in svm_vcpu_run()
5721 [rsi]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RSI])), in svm_vcpu_run()
5722 [rdi]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RDI])), in svm_vcpu_run()
5723 [rbp]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_RBP])) in svm_vcpu_run()
5725 , [r8]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R8])), in svm_vcpu_run()
5726 [r9]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R9])), in svm_vcpu_run()
5727 [r10]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R10])), in svm_vcpu_run()
5728 [r11]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R11])), in svm_vcpu_run()
5729 [r12]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R12])), in svm_vcpu_run()
5730 [r13]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R13])), in svm_vcpu_run()
5731 [r14]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R14])), in svm_vcpu_run()
5732 [r15]"i"(offsetof(struct vcpu_svm, vcpu.arch.regs[VCPU_REGS_R15])) in svm_vcpu_run()
5824 struct vcpu_svm *svm = to_svm(vcpu); in svm_set_cr3()
5832 struct vcpu_svm *svm = to_svm(vcpu); in set_tdp_cr3()
5894 struct vcpu_svm *svm = to_svm(vcpu); in svm_cpuid_update()
6057 struct vcpu_svm *svm = to_svm(vcpu); in svm_check_intercept()
6201 struct vcpu_svm *svm = to_svm(vcpu); in svm_smi_allowed()
6220 struct vcpu_svm *svm = to_svm(vcpu); in svm_pre_enter_smm()
6242 struct vcpu_svm *svm = to_svm(vcpu); in svm_pre_leave_smm()
6262 struct vcpu_svm *svm = to_svm(vcpu); in enable_smi_window()
7168 struct vcpu_svm *svm = to_svm(vcpu); in svm_apic_init_signal_blocked()
7323 return kvm_init(&svm_x86_ops, sizeof(struct vcpu_svm), in svm_init()
7324 __alignof__(struct vcpu_svm), THIS_MODULE); in svm_init()