Lines Matching refs:control

39 	if (svm->vmcb->control.exit_code != SVM_EXIT_NPF) {  in nested_svm_inject_npf_exit()
44 svm->vmcb->control.exit_code = SVM_EXIT_NPF; in nested_svm_inject_npf_exit()
45 svm->vmcb->control.exit_code_hi = 0; in nested_svm_inject_npf_exit()
46 svm->vmcb->control.exit_info_1 = (1ULL << 32); in nested_svm_inject_npf_exit()
47 svm->vmcb->control.exit_info_2 = fault->address; in nested_svm_inject_npf_exit()
50 svm->vmcb->control.exit_info_1 &= ~0xffffffffULL; in nested_svm_inject_npf_exit()
51 svm->vmcb->control.exit_info_1 |= fault->error_code; in nested_svm_inject_npf_exit()
63 svm->vmcb->control.exit_code = SVM_EXIT_EXCP_BASE + PF_VECTOR; in svm_inject_page_fault_nested()
64 svm->vmcb->control.exit_code_hi = 0; in svm_inject_page_fault_nested()
65 svm->vmcb->control.exit_info_1 = fault->error_code; in svm_inject_page_fault_nested()
66 svm->vmcb->control.exit_info_2 = fault->address; in svm_inject_page_fault_nested()
132 c = &svm->vmcb->control; in recalc_intercepts()
133 h = &svm->vmcb01.ptr->control; in recalc_intercepts()
225 svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm)); in nested_svm_vmrun_msrpm()
242 struct vmcb_control_area *control) in nested_vmcb_check_controls() argument
244 if (CC(!vmcb_is_intercept(control, INTERCEPT_VMRUN))) in nested_vmcb_check_controls()
247 if (CC(control->asid == 0)) in nested_vmcb_check_controls()
250 if (CC((control->nested_ctl & SVM_NESTED_CTL_NP_ENABLE) && !npt_enabled)) in nested_vmcb_check_controls()
253 if (CC(!nested_svm_check_bitmap_pa(vcpu, control->msrpm_base_pa, in nested_vmcb_check_controls()
256 if (CC(!nested_svm_check_bitmap_pa(vcpu, control->iopm_base_pa, in nested_vmcb_check_controls()
315 struct vmcb_control_area *control) in nested_load_control_from_vmcb12() argument
317 copy_vmcb_control_area(&svm->nested.ctl, control); in nested_load_control_from_vmcb12()
320 svm->nested.ctl.asid = control->asid; in nested_load_control_from_vmcb12()
332 svm->nested.ctl.event_inj = svm->vmcb->control.event_inj; in nested_sync_control_from_vmcb02()
333 svm->nested.ctl.event_inj_err = svm->vmcb->control.event_inj_err; in nested_sync_control_from_vmcb02()
350 svm->nested.ctl.int_ctl |= svm->vmcb->control.int_ctl & mask; in nested_sync_control_from_vmcb02()
370 vmcb12->control.exit_int_info_err = in nested_save_pending_event_to_vmcb12()
387 vmcb12->control.exit_int_info = exit_int_info; in nested_save_pending_event_to_vmcb12()
528 svm->vmcb->control.nested_ctl = svm->vmcb01.ptr->control.nested_ctl; in nested_vmcb02_prepare_control()
529 svm->vmcb->control.iopm_base_pa = svm->vmcb01.ptr->control.iopm_base_pa; in nested_vmcb02_prepare_control()
530 svm->vmcb->control.msrpm_base_pa = svm->vmcb01.ptr->control.msrpm_base_pa; in nested_vmcb02_prepare_control()
535 svm->vmcb->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; in nested_vmcb02_prepare_control()
541 svm->vmcb->control.tsc_offset = vcpu->arch.tsc_offset = in nested_vmcb02_prepare_control()
544 svm->vmcb->control.int_ctl = in nested_vmcb02_prepare_control()
546 (svm->vmcb01.ptr->control.int_ctl & int_ctl_vmcb01_bits); in nested_vmcb02_prepare_control()
548 svm->vmcb->control.int_vector = svm->nested.ctl.int_vector; in nested_vmcb02_prepare_control()
549 svm->vmcb->control.int_state = svm->nested.ctl.int_state; in nested_vmcb02_prepare_control()
550 svm->vmcb->control.event_inj = svm->nested.ctl.event_inj; in nested_vmcb02_prepare_control()
551 svm->vmcb->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_vmcb02_prepare_control()
553 svm->vmcb->control.pause_filter_count = svm->nested.ctl.pause_filter_count; in nested_vmcb02_prepare_control()
554 svm->vmcb->control.pause_filter_thresh = svm->nested.ctl.pause_filter_thresh; in nested_vmcb02_prepare_control()
588 vmcb12->control.int_ctl, in enter_svm_guest_mode()
589 vmcb12->control.event_inj, in enter_svm_guest_mode()
590 vmcb12->control.nested_ctl); in enter_svm_guest_mode()
592 trace_kvm_nested_intercepts(vmcb12->control.intercepts[INTERCEPT_CR] & 0xffff, in enter_svm_guest_mode()
593 vmcb12->control.intercepts[INTERCEPT_CR] >> 16, in enter_svm_guest_mode()
594 vmcb12->control.intercepts[INTERCEPT_EXCEPTION], in enter_svm_guest_mode()
595 vmcb12->control.intercepts[INTERCEPT_WORD3], in enter_svm_guest_mode()
596 vmcb12->control.intercepts[INTERCEPT_WORD4], in enter_svm_guest_mode()
597 vmcb12->control.intercepts[INTERCEPT_WORD5]); in enter_svm_guest_mode()
660 nested_load_control_from_vmcb12(svm, &vmcb12->control); in nested_svm_vmrun()
664 vmcb12->control.exit_code = SVM_EXIT_ERR; in nested_svm_vmrun()
665 vmcb12->control.exit_code_hi = 0; in nested_svm_vmrun()
666 vmcb12->control.exit_info_1 = 0; in nested_svm_vmrun()
667 vmcb12->control.exit_info_2 = 0; in nested_svm_vmrun()
695 svm->vmcb->control.exit_code = SVM_EXIT_ERR; in nested_svm_vmrun()
696 svm->vmcb->control.exit_code_hi = 0; in nested_svm_vmrun()
697 svm->vmcb->control.exit_info_1 = 0; in nested_svm_vmrun()
698 svm->vmcb->control.exit_info_2 = 0; in nested_svm_vmrun()
796 vmcb12->control.int_state = vmcb->control.int_state; in nested_svm_vmexit()
797 vmcb12->control.exit_code = vmcb->control.exit_code; in nested_svm_vmexit()
798 vmcb12->control.exit_code_hi = vmcb->control.exit_code_hi; in nested_svm_vmexit()
799 vmcb12->control.exit_info_1 = vmcb->control.exit_info_1; in nested_svm_vmexit()
800 vmcb12->control.exit_info_2 = vmcb->control.exit_info_2; in nested_svm_vmexit()
802 if (vmcb12->control.exit_code != SVM_EXIT_ERR) in nested_svm_vmexit()
806 vmcb12->control.next_rip = vmcb->control.next_rip; in nested_svm_vmexit()
808 vmcb12->control.int_ctl = svm->nested.ctl.int_ctl; in nested_svm_vmexit()
809 vmcb12->control.tlb_ctl = svm->nested.ctl.tlb_ctl; in nested_svm_vmexit()
810 vmcb12->control.event_inj = svm->nested.ctl.event_inj; in nested_svm_vmexit()
811 vmcb12->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_svm_vmexit()
813 vmcb12->control.pause_filter_count = in nested_svm_vmexit()
814 svm->vmcb->control.pause_filter_count; in nested_svm_vmexit()
815 vmcb12->control.pause_filter_thresh = in nested_svm_vmexit()
816 svm->vmcb->control.pause_filter_thresh; in nested_svm_vmexit()
827 svm->vmcb->control.exit_int_info = 0; in nested_svm_vmexit()
830 if (svm->vmcb->control.tsc_offset != svm->vcpu.arch.tsc_offset) { in nested_svm_vmexit()
831 svm->vmcb->control.tsc_offset = svm->vcpu.arch.tsc_offset; in nested_svm_vmexit()
851 trace_kvm_nested_vmexit_inject(vmcb12->control.exit_code, in nested_svm_vmexit()
852 vmcb12->control.exit_info_1, in nested_svm_vmexit()
853 vmcb12->control.exit_info_2, in nested_svm_vmexit()
854 vmcb12->control.exit_int_info, in nested_svm_vmexit()
855 vmcb12->control.exit_int_info_err, in nested_svm_vmexit()
974 write = svm->vmcb->control.exit_info_1 & 1; in nested_svm_exit_handled_msr()
999 port = svm->vmcb->control.exit_info_1 >> 16; in nested_svm_intercept_ioio()
1000 size = (svm->vmcb->control.exit_info_1 & SVM_IOIO_SIZE_MASK) >> in nested_svm_intercept_ioio()
1016 u32 exit_code = svm->vmcb->control.exit_code; in nested_svm_intercept()
1096 svm->vmcb->control.exit_code = SVM_EXIT_EXCP_BASE + nr; in nested_svm_inject_exception_vmexit()
1097 svm->vmcb->control.exit_code_hi = 0; in nested_svm_inject_exception_vmexit()
1100 svm->vmcb->control.exit_info_1 = svm->vcpu.arch.exception.error_code; in nested_svm_inject_exception_vmexit()
1108 svm->vmcb->control.exit_info_2 = svm->vcpu.arch.apf.nested_apf_token; in nested_svm_inject_exception_vmexit()
1110 svm->vmcb->control.exit_info_2 = svm->vcpu.arch.exception.payload; in nested_svm_inject_exception_vmexit()
1112 svm->vmcb->control.exit_info_2 = svm->vcpu.arch.cr2; in nested_svm_inject_exception_vmexit()
1196 u32 exit_code = svm->vmcb->control.exit_code; in nested_svm_exit_special()
1206 if (svm->vmcb01.ptr->control.intercepts[INTERCEPT_EXCEPTION] & in nested_svm_exit_special()
1268 if (copy_to_user(&user_vmcb->control, &svm->nested.ctl, in svm_get_nested_state()
1269 sizeof(user_vmcb->control))) in svm_get_nested_state()
1333 if (copy_from_user(ctl, &user_vmcb->control, sizeof(*ctl))) in svm_set_nested_state()