Lines Matching refs:vmcb

39 	struct vmcb *vmcb = svm->vmcb;  in nested_svm_inject_npf_exit()  local
41 if (vmcb->control.exit_code != SVM_EXIT_NPF) { in nested_svm_inject_npf_exit()
46 vmcb->control.exit_code = SVM_EXIT_NPF; in nested_svm_inject_npf_exit()
47 vmcb->control.exit_code_hi = 0; in nested_svm_inject_npf_exit()
48 vmcb->control.exit_info_1 = (1ULL << 32); in nested_svm_inject_npf_exit()
49 vmcb->control.exit_info_2 = fault->address; in nested_svm_inject_npf_exit()
52 vmcb->control.exit_info_1 &= ~0xffffffffULL; in nested_svm_inject_npf_exit()
53 vmcb->control.exit_info_1 |= fault->error_code; in nested_svm_inject_npf_exit()
127 vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS); in recalc_intercepts()
132 c = &svm->vmcb->control; in recalc_intercepts()
227 svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm)); in nested_svm_vmrun_msrpm()
412 svm->nested.ctl.event_inj = svm->vmcb->control.event_inj; in nested_sync_control_from_vmcb02()
413 svm->nested.ctl.event_inj_err = svm->vmcb->control.event_inj_err; in nested_sync_control_from_vmcb02()
434 svm->nested.ctl.int_ctl |= svm->vmcb->control.int_ctl & mask; in nested_sync_control_from_vmcb02()
442 struct vmcb *vmcb12) in nested_save_pending_event_to_vmcb12()
527 static void nested_vmcb02_prepare_save(struct vcpu_svm *svm, struct vmcb *vmcb12) in nested_vmcb02_prepare_save()
530 struct vmcb *vmcb01 = svm->vmcb01.ptr; in nested_vmcb02_prepare_save()
531 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_save()
628 struct vmcb *vmcb01 = svm->vmcb01.ptr; in nested_vmcb02_prepare_control()
629 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_vmcb02_prepare_control()
744 static void nested_svm_copy_common_state(struct vmcb *from_vmcb, struct vmcb *to_vmcb) in nested_svm_copy_common_state()
757 struct vmcb *vmcb12, bool from_vmrun) in enter_svm_guest_mode()
762 trace_kvm_nested_vmenter(svm->vmcb->save.rip, in enter_svm_guest_mode()
782 WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr); in enter_svm_guest_mode()
810 struct vmcb *vmcb12; in nested_svm_vmrun()
813 struct vmcb *vmcb01 = svm->vmcb01.ptr; in nested_svm_vmrun()
825 vmcb12_gpa = svm->vmcb->save.rax; in nested_svm_vmrun()
879 svm->vmcb->control.exit_code = SVM_EXIT_ERR; in nested_svm_vmrun()
880 svm->vmcb->control.exit_code_hi = 0; in nested_svm_vmrun()
881 svm->vmcb->control.exit_info_1 = 0; in nested_svm_vmrun()
882 svm->vmcb->control.exit_info_2 = 0; in nested_svm_vmrun()
913 void svm_copy_vmloadsave_state(struct vmcb *to_vmcb, struct vmcb *from_vmcb) in svm_copy_vmloadsave_state()
932 struct vmcb *vmcb01 = svm->vmcb01.ptr; in nested_svm_vmexit()
933 struct vmcb *vmcb02 = svm->nested.vmcb02.ptr; in nested_svm_vmexit()
934 struct vmcb *vmcb12; in nested_svm_vmexit()
1134 if (WARN_ON_ONCE(svm->vmcb != svm->vmcb01.ptr)) in svm_free_nested()
1168 vmcb_mark_all_dirty(svm->vmcb); in svm_leave_nested()
1184 write = svm->vmcb->control.exit_info_1 & 1; in nested_svm_exit_handled_msr()
1209 port = svm->vmcb->control.exit_info_1 >> 16; in nested_svm_intercept_ioio()
1210 size = (svm->vmcb->control.exit_info_1 & SVM_IOIO_SIZE_MASK) >> in nested_svm_intercept_ioio()
1226 u32 exit_code = svm->vmcb->control.exit_code; in nested_svm_intercept()
1287 if (to_svm(vcpu)->vmcb->save.cpl) { in nested_svm_check_permissions()
1307 struct vmcb *vmcb = svm->vmcb; in nested_svm_inject_exception_vmexit() local
1309 vmcb->control.exit_code = SVM_EXIT_EXCP_BASE + ex->vector; in nested_svm_inject_exception_vmexit()
1310 vmcb->control.exit_code_hi = 0; in nested_svm_inject_exception_vmexit()
1313 vmcb->control.exit_info_1 = ex->error_code; in nested_svm_inject_exception_vmexit()
1321 vmcb->control.exit_info_2 = ex->payload; in nested_svm_inject_exception_vmexit()
1323 vmcb->control.exit_info_2 = vcpu->arch.cr2; in nested_svm_inject_exception_vmexit()
1409 trace_kvm_nested_intr_vmexit(svm->vmcb->save.rip); in svm_check_nested_events()
1419 u32 exit_code = svm->vmcb->control.exit_code; in nested_svm_exit_special()
1503 struct vmcb __user *user_vmcb = (struct vmcb __user *) in svm_get_nested_state()
1563 struct vmcb __user *user_vmcb = (struct vmcb __user *) in svm_set_nested_state()
1668 nested_vmcb02_prepare_control(svm, svm->vmcb->save.rip, svm->vmcb->save.cs.base); in svm_set_nested_state()