• Home
  • Raw
  • Download

Lines Matching refs:nested

59        if (vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_EXCEPTION_OFFSET + PF_VECTOR) &&  in svm_inject_page_fault_nested()
60 !svm->nested.nested_run_pending) { in svm_inject_page_fault_nested()
74 u64 cr3 = svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_pdptr()
89 return svm->nested.ctl.nested_cr3; in nested_svm_get_tdp_cr3()
95 struct vmcb *hsave = svm->nested.hsave; in nested_svm_init_mmu_context()
101 svm->nested.ctl.nested_cr3); in nested_svm_init_mmu_context()
126 h = &svm->nested.hsave->control; in recalc_intercepts()
127 g = &svm->nested.ctl; in recalc_intercepts()
195 if (!(vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT))) in nested_svm_vmrun_msrpm()
206 offset = svm->nested.ctl.msrpm_base_pa + (p * 4); in nested_svm_vmrun_msrpm()
211 svm->nested.msrpm[p] = svm->msrpm[p] | value; in nested_svm_vmrun_msrpm()
214 svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm)); in nested_svm_vmrun_msrpm()
290 copy_vmcb_control_area(&svm->nested.ctl, control); in load_nested_vmcb_control()
293 svm->nested.ctl.asid = control->asid; in load_nested_vmcb_control()
294 svm->nested.ctl.msrpm_base_pa &= ~0x0fffULL; in load_nested_vmcb_control()
295 svm->nested.ctl.iopm_base_pa &= ~0x0fffULL; in load_nested_vmcb_control()
305 svm->nested.ctl.event_inj = svm->vmcb->control.event_inj; in sync_nested_vmcb_control()
306 svm->nested.ctl.event_inj_err = svm->vmcb->control.event_inj_err; in sync_nested_vmcb_control()
310 if (!(svm->nested.ctl.int_ctl & V_INTR_MASKING_MASK) && in sync_nested_vmcb_control()
322 svm->nested.ctl.int_ctl &= ~mask; in sync_nested_vmcb_control()
323 svm->nested.ctl.int_ctl |= svm->vmcb->control.int_ctl & mask; in sync_nested_vmcb_control()
365 return svm->nested.ctl.nested_ctl & SVM_NESTED_CTL_NP_ENABLE; in nested_npt_enabled()
444 svm->vcpu.arch.l1_tsc_offset + svm->nested.ctl.tsc_offset; in nested_prepare_vmcb_control()
447 (svm->nested.ctl.int_ctl & int_ctl_vmcb12_bits) | in nested_prepare_vmcb_control()
448 (svm->nested.hsave->control.int_ctl & int_ctl_vmcb01_bits); in nested_prepare_vmcb_control()
450 svm->vmcb->control.int_vector = svm->nested.ctl.int_vector; in nested_prepare_vmcb_control()
451 svm->vmcb->control.int_state = svm->nested.ctl.int_state; in nested_prepare_vmcb_control()
452 svm->vmcb->control.event_inj = svm->nested.ctl.event_inj; in nested_prepare_vmcb_control()
453 svm->vmcb->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_prepare_vmcb_control()
455 svm->vmcb->control.pause_filter_count = svm->nested.ctl.pause_filter_count; in nested_prepare_vmcb_control()
456 svm->vmcb->control.pause_filter_thresh = svm->nested.ctl.pause_filter_thresh; in nested_prepare_vmcb_control()
475 svm->nested.vmcb12_gpa = vmcb12_gpa; in enter_svm_guest_mode()
496 struct vmcb *hsave = svm->nested.hsave; in nested_svm_vmrun()
519 if (WARN_ON_ONCE(!svm->nested.initialized)) in nested_svm_vmrun()
525 !nested_vmcb_check_controls(&svm->nested.ctl)) { in nested_svm_vmrun()
574 svm->nested.nested_run_pending = 1; in nested_svm_vmrun()
583 svm->nested.nested_run_pending = 0; in nested_svm_vmrun()
618 struct vmcb *hsave = svm->nested.hsave; in nested_svm_vmexit()
622 rc = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->nested.vmcb12_gpa), &map); in nested_svm_vmexit()
633 svm->nested.vmcb12_gpa = 0; in nested_svm_vmexit()
634 WARN_ON_ONCE(svm->nested.nested_run_pending); in nested_svm_vmexit()
674 vmcb12->control.int_ctl = svm->nested.ctl.int_ctl; in nested_svm_vmexit()
675 vmcb12->control.tlb_ctl = svm->nested.ctl.tlb_ctl; in nested_svm_vmexit()
676 vmcb12->control.event_inj = svm->nested.ctl.event_inj; in nested_svm_vmexit()
677 vmcb12->control.event_inj_err = svm->nested.ctl.event_inj_err; in nested_svm_vmexit()
693 svm->nested.ctl.nested_cr3 = 0; in nested_svm_vmexit()
748 if (svm->nested.initialized) in svm_allocate_nested()
754 svm->nested.hsave = page_address(hsave_page); in svm_allocate_nested()
756 svm->nested.msrpm = svm_vcpu_alloc_msrpm(); in svm_allocate_nested()
757 if (!svm->nested.msrpm) in svm_allocate_nested()
759 svm_vcpu_init_msrpm(&svm->vcpu, svm->nested.msrpm); in svm_allocate_nested()
761 svm->nested.initialized = true; in svm_allocate_nested()
771 if (!svm->nested.initialized) in svm_free_nested()
774 svm_vcpu_free_msrpm(svm->nested.msrpm); in svm_free_nested()
775 svm->nested.msrpm = NULL; in svm_free_nested()
777 __free_page(virt_to_page(svm->nested.hsave)); in svm_free_nested()
778 svm->nested.hsave = NULL; in svm_free_nested()
780 svm->nested.initialized = false; in svm_free_nested()
791 struct vmcb *hsave = svm->nested.hsave; in svm_leave_nested()
794 svm->nested.nested_run_pending = 0; in svm_leave_nested()
808 if (!(vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_MSR_PROT))) in nested_svm_exit_handled_msr()
822 if (kvm_vcpu_read_guest(&svm->vcpu, svm->nested.ctl.msrpm_base_pa + offset, &value, 4)) in nested_svm_exit_handled_msr()
835 if (!(vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_IOIO_PROT))) in nested_svm_intercept_ioio()
841 gpa = svm->nested.ctl.iopm_base_pa + (port / 8); in nested_svm_intercept_ioio()
866 if (vmcb_is_intercept(&svm->nested.ctl, exit_code)) in nested_svm_intercept()
871 if (vmcb_is_intercept(&svm->nested.ctl, exit_code)) in nested_svm_intercept()
889 if (vmcb_is_intercept(&svm->nested.ctl, exit_code)) in nested_svm_intercept()
929 return (svm->nested.ctl.intercepts[INTERCEPT_EXCEPTION] & BIT(nr)); in nested_exit_on_exception()
997 return vmcb_is_intercept(&svm->nested.ctl, INTERCEPT_INIT); in nested_exit_on_init()
1014 kvm_event_needs_reinjection(vcpu) || svm->nested.nested_run_pending; in svm_check_nested_events()
1117 kvm_state.hdr.svm.vmcb_pa = svm->nested.vmcb12_gpa; in svm_get_nested_state()
1121 if (svm->nested.nested_run_pending) in svm_get_nested_state()
1140 if (copy_to_user(&user_vmcb->control, &svm->nested.ctl, in svm_get_nested_state()
1143 if (copy_to_user(&user_vmcb->save, &svm->nested.hsave->save, in svm_get_nested_state()
1156 struct vmcb *hsave = svm->nested.hsave; in svm_set_nested_state()
1246 svm->nested.vmcb12_gpa = kvm_state->hdr.svm.vmcb_pa; in svm_set_nested_state()