Lines Matching refs:nested
180 if (to_vmx(vcpu)->nested.hv_evmcs_vmptr != EVMPTR_INVALID) in nested_vmx_failValid()
181 to_vmx(vcpu)->nested.need_vmcs12_to_shadow_sync = true; in nested_vmx_failValid()
194 if (vmx->nested.current_vmptr == INVALID_GPA && in nested_vmx_fail()
195 !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in nested_vmx_fail()
222 vmx->nested.need_vmcs12_to_shadow_sync = false; in vmx_disable_shadow_vmcs()
229 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) { in nested_release_evmcs()
230 kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map, true); in nested_release_evmcs()
231 vmx->nested.hv_evmcs = NULL; in nested_release_evmcs()
234 vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID; in nested_release_evmcs()
286 if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon) in free_nested()
291 vmx->nested.vmxon = false; in free_nested()
292 vmx->nested.smm.vmxon = false; in free_nested()
293 vmx->nested.vmxon_ptr = INVALID_GPA; in free_nested()
294 free_vpid(vmx->nested.vpid02); in free_nested()
295 vmx->nested.posted_intr_nv = -1; in free_nested()
296 vmx->nested.current_vmptr = INVALID_GPA; in free_nested()
303 kfree(vmx->nested.cached_vmcs12); in free_nested()
304 vmx->nested.cached_vmcs12 = NULL; in free_nested()
305 kfree(vmx->nested.cached_shadow_vmcs12); in free_nested()
306 vmx->nested.cached_shadow_vmcs12 = NULL; in free_nested()
308 if (vmx->nested.apic_access_page) { in free_nested()
309 kvm_release_page_clean(vmx->nested.apic_access_page); in free_nested()
310 vmx->nested.apic_access_page = NULL; in free_nested()
312 kvm_vcpu_unmap(vcpu, &vmx->nested.virtual_apic_map, true); in free_nested()
313 kvm_vcpu_unmap(vcpu, &vmx->nested.pi_desc_map, true); in free_nested()
314 vmx->nested.pi_desc = NULL; in free_nested()
320 free_loaded_vmcs(&vmx->nested.vmcs02); in free_nested()
367 if (vmx->nested.pml_full) { in nested_ept_inject_page_fault()
369 vmx->nested.pml_full = false; in nested_ept_inject_page_fault()
395 to_vmx(vcpu)->nested.msrs.ept_caps & in nested_ept_new_eptp()
479 !to_vmx(vcpu)->nested.nested_run_pending) { in vmx_inject_page_fault_nested()
593 unsigned long *msr_bitmap_l0 = vmx->nested.vmcs02.msr_bitmap; in nested_vmx_prepare_msr_bitmap()
594 struct kvm_host_map *map = &vmx->nested.msr_bitmap_map; in nested_vmx_prepare_msr_bitmap()
665 kvm_vcpu_unmap(vcpu, &vmx->nested.msr_bitmap_map, false); in nested_vmx_prepare_msr_bitmap()
674 struct gfn_to_hva_cache *ghc = &vmx->nested.shadow_vmcs12_cache; in nested_cache_shadow_vmcs12()
693 struct gfn_to_hva_cache *ghc = &vmx->nested.shadow_vmcs12_cache; in nested_flush_cached_shadow_vmcs12()
892 u64 vmx_misc = vmx_control_msr(vmx->nested.msrs.misc_low, in nested_vmx_max_atomic_switch_msrs()
893 vmx->nested.msrs.misc_high); in nested_vmx_max_atomic_switch_msrs()
1133 (nested_cpu_has_vpid(vmcs12) && to_vmx(vcpu)->nested.vpid02); in nested_has_guest_tlb_tag()
1171 if (is_vmenter && vmcs12->virtual_processor_id != vmx->nested.last_vpid) { in nested_vmx_transition_tlb_flush()
1172 vmx->nested.last_vpid = vmcs12->virtual_processor_id; in nested_vmx_transition_tlb_flush()
1202 u64 vmx_basic = vmx->nested.msrs.basic; in vmx_restore_vmx_basic()
1221 vmx->nested.msrs.basic = data; in vmx_restore_vmx_basic()
1233 lowp = &vmx->nested.msrs.pinbased_ctls_low; in vmx_restore_control_msr()
1234 highp = &vmx->nested.msrs.pinbased_ctls_high; in vmx_restore_control_msr()
1237 lowp = &vmx->nested.msrs.procbased_ctls_low; in vmx_restore_control_msr()
1238 highp = &vmx->nested.msrs.procbased_ctls_high; in vmx_restore_control_msr()
1241 lowp = &vmx->nested.msrs.exit_ctls_low; in vmx_restore_control_msr()
1242 highp = &vmx->nested.msrs.exit_ctls_high; in vmx_restore_control_msr()
1245 lowp = &vmx->nested.msrs.entry_ctls_low; in vmx_restore_control_msr()
1246 highp = &vmx->nested.msrs.entry_ctls_high; in vmx_restore_control_msr()
1249 lowp = &vmx->nested.msrs.secondary_ctls_low; in vmx_restore_control_msr()
1250 highp = &vmx->nested.msrs.secondary_ctls_high; in vmx_restore_control_msr()
1281 vmx_misc = vmx_control_msr(vmx->nested.msrs.misc_low, in vmx_restore_vmx_misc()
1282 vmx->nested.msrs.misc_high); in vmx_restore_vmx_misc()
1287 if ((vmx->nested.msrs.pinbased_ctls_high & in vmx_restore_vmx_misc()
1302 vmx->nested.msrs.misc_low = data; in vmx_restore_vmx_misc()
1303 vmx->nested.msrs.misc_high = data >> 32; in vmx_restore_vmx_misc()
1312 vmx_ept_vpid_cap = vmx_control_msr(vmx->nested.msrs.ept_caps, in vmx_restore_vmx_ept_vpid_cap()
1313 vmx->nested.msrs.vpid_caps); in vmx_restore_vmx_ept_vpid_cap()
1319 vmx->nested.msrs.ept_caps = data; in vmx_restore_vmx_ept_vpid_cap()
1320 vmx->nested.msrs.vpid_caps = data >> 32; in vmx_restore_vmx_ept_vpid_cap()
1330 msr = &vmx->nested.msrs.cr0_fixed0; in vmx_restore_fixed0_msr()
1333 msr = &vmx->nested.msrs.cr4_fixed0; in vmx_restore_fixed0_msr()
1363 if (vmx->nested.vmxon) in vmx_set_vmx_msr()
1404 vmx->nested.msrs.vmcs_enum = data; in vmx_set_vmx_msr()
1407 if (data & ~vmx->nested.msrs.vmfunc_controls) in vmx_set_vmx_msr()
1409 vmx->nested.msrs.vmfunc_controls = data; in vmx_set_vmx_msr()
1568 struct vmcs12 *vmcs12 = vmx->nested.cached_vmcs12; in copy_enlightened_to_vmcs12()
1569 struct hv_enlightened_vmcs *evmcs = vmx->nested.hv_evmcs; in copy_enlightened_to_vmcs12()
1784 struct vmcs12 *vmcs12 = vmx->nested.cached_vmcs12; in copy_vmcs12_to_enlightened()
1785 struct hv_enlightened_vmcs *evmcs = vmx->nested.hv_evmcs; in copy_vmcs12_to_enlightened()
1956 if (likely(!vmx->nested.enlightened_vmcs_enabled)) in nested_vmx_handle_enlightened_vmptrld()
1964 if (unlikely(evmcs_gpa != vmx->nested.hv_evmcs_vmptr)) { in nested_vmx_handle_enlightened_vmptrld()
1965 vmx->nested.current_vmptr = INVALID_GPA; in nested_vmx_handle_enlightened_vmptrld()
1970 &vmx->nested.hv_evmcs_map)) in nested_vmx_handle_enlightened_vmptrld()
1973 vmx->nested.hv_evmcs = vmx->nested.hv_evmcs_map.hva; in nested_vmx_handle_enlightened_vmptrld()
1997 if ((vmx->nested.hv_evmcs->revision_id != KVM_EVMCS_VERSION) && in nested_vmx_handle_enlightened_vmptrld()
1998 (vmx->nested.hv_evmcs->revision_id != VMCS12_REVISION)) { in nested_vmx_handle_enlightened_vmptrld()
2003 vmx->nested.hv_evmcs_vmptr = evmcs_gpa; in nested_vmx_handle_enlightened_vmptrld()
2025 vmx->nested.hv_evmcs->hv_clean_fields &= in nested_vmx_handle_enlightened_vmptrld()
2035 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in nested_sync_vmcs12_to_shadow()
2040 vmx->nested.need_vmcs12_to_shadow_sync = false; in nested_sync_vmcs12_to_shadow()
2046 container_of(timer, struct vcpu_vmx, nested.preemption_timer); in vmx_preemption_timer_fn()
2048 vmx->nested.preemption_timer_expired = true; in vmx_preemption_timer_fn()
2063 if (!vmx->nested.has_preemption_timer_deadline) { in vmx_calc_preemption_timer_value()
2064 vmx->nested.preemption_timer_deadline = in vmx_calc_preemption_timer_value()
2066 vmx->nested.has_preemption_timer_deadline = true; in vmx_calc_preemption_timer_value()
2068 return vmx->nested.preemption_timer_deadline - l1_scaled_tsc; in vmx_calc_preemption_timer_value()
2081 vmx_preemption_timer_fn(&vmx->nested.preemption_timer); in vmx_start_preemption_timer()
2091 hrtimer_start(&vmx->nested.preemption_timer, in vmx_start_preemption_timer()
2098 if (vmx->nested.nested_run_pending && in nested_vmx_calc_efer()
2115 if (vmx->nested.vmcs02_initialized) in prepare_vmcs02_constant_state()
2117 vmx->nested.vmcs02_initialized = true; in prepare_vmcs02_constant_state()
2136 vmcs_write64(MSR_BITMAP, __pa(vmx->nested.vmcs02.msr_bitmap)); in prepare_vmcs02_constant_state()
2171 if (nested_cpu_has_vpid(vmcs12) && vmx->nested.vpid02) in prepare_vmcs02_early_rare()
2172 vmcs_write16(VIRTUAL_PROCESSOR_ID, vmx->nested.vpid02); in prepare_vmcs02_early_rare()
2184 if (vmx->nested.dirty_vmcs12 || evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in prepare_vmcs02_early()
2195 vmx->nested.pi_pending = false; in prepare_vmcs02_early()
2197 vmx->nested.posted_intr_nv = vmcs12->posted_intr_nv; in prepare_vmcs02_early()
2211 vmx->nested.l1_tpr_threshold = -1; in prepare_vmcs02_early()
2324 if (vmx->nested.nested_run_pending) { in prepare_vmcs02_early()
2342 struct hv_enlightened_vmcs *hv_evmcs = vmx->nested.hv_evmcs; in prepare_vmcs02_rare()
2405 if (kvm_mpx_supported() && vmx->nested.nested_run_pending && in prepare_vmcs02_rare()
2476 if (vmx->nested.dirty_vmcs12 || evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) { in prepare_vmcs02()
2478 vmx->nested.dirty_vmcs12 = false; in prepare_vmcs02()
2480 load_guest_pdptrs_vmcs12 = !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr) || in prepare_vmcs02()
2481 !(vmx->nested.hv_evmcs->hv_clean_fields & in prepare_vmcs02()
2485 if (vmx->nested.nested_run_pending && in prepare_vmcs02()
2491 vmcs_write64(GUEST_IA32_DEBUGCTL, vmx->nested.vmcs01_debugctl); in prepare_vmcs02()
2493 if (kvm_mpx_supported() && (!vmx->nested.nested_run_pending || in prepare_vmcs02()
2495 vmcs_write64(GUEST_BNDCFGS, vmx->nested.vmcs01_guest_bndcfgs); in prepare_vmcs02()
2506 if (vmx->nested.nested_run_pending && in prepare_vmcs02()
2608 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in prepare_vmcs02()
2609 vmx->nested.hv_evmcs->hv_clean_fields |= in prepare_vmcs02()
2635 if (CC(!(vmx->nested.msrs.ept_caps & VMX_EPTP_UC_BIT))) in nested_vmx_check_eptp()
2639 if (CC(!(vmx->nested.msrs.ept_caps & VMX_EPTP_WB_BIT))) in nested_vmx_check_eptp()
2649 if (CC(!(vmx->nested.msrs.ept_caps & VMX_EPT_PAGE_WALK_5_BIT))) in nested_vmx_check_eptp()
2653 if (CC(!(vmx->nested.msrs.ept_caps & VMX_EPT_PAGE_WALK_4_BIT))) in nested_vmx_check_eptp()
2666 if (CC(!(vmx->nested.msrs.ept_caps & VMX_EPT_AD_BIT))) in nested_vmx_check_eptp()
2682 vmx->nested.msrs.pinbased_ctls_low, in nested_check_vm_execution_controls()
2683 vmx->nested.msrs.pinbased_ctls_high)) || in nested_check_vm_execution_controls()
2685 vmx->nested.msrs.procbased_ctls_low, in nested_check_vm_execution_controls()
2686 vmx->nested.msrs.procbased_ctls_high))) in nested_check_vm_execution_controls()
2691 vmx->nested.msrs.secondary_ctls_low, in nested_check_vm_execution_controls()
2692 vmx->nested.msrs.secondary_ctls_high))) in nested_check_vm_execution_controls()
2719 ~vmx->nested.msrs.vmfunc_controls)) in nested_check_vm_execution_controls()
2741 vmx->nested.msrs.exit_ctls_low, in nested_check_vm_exit_controls()
2742 vmx->nested.msrs.exit_ctls_high)) || in nested_check_vm_exit_controls()
2758 vmx->nested.msrs.entry_ctls_low, in nested_check_vm_entry_controls()
2759 vmx->nested.msrs.entry_ctls_high))) in nested_check_vm_entry_controls()
2832 if (to_vmx(vcpu)->nested.enlightened_vmcs_enabled) in nested_vmx_check_controls()
2928 struct gfn_to_hva_cache *ghc = &vmx->nested.shadow_vmcs12_cache; in nested_vmx_check_vmcs_link_ptr()
3006 if (to_vmx(vcpu)->nested.nested_run_pending && in nested_vmx_check_guest_state()
3114 if (vmx->nested.enlightened_vmcs_enabled && in nested_get_evmcs_page()
3115 vmx->nested.hv_evmcs_vmptr == EVMPTR_MAP_PENDING) { in nested_get_evmcs_page()
3127 vmx->nested.need_vmcs12_to_shadow_sync = true; in nested_get_evmcs_page()
3160 if (vmx->nested.apic_access_page) { /* shouldn't happen */ in nested_get_vmcs12_pages()
3161 kvm_release_page_clean(vmx->nested.apic_access_page); in nested_get_vmcs12_pages()
3162 vmx->nested.apic_access_page = NULL; in nested_get_vmcs12_pages()
3166 vmx->nested.apic_access_page = page; in nested_get_vmcs12_pages()
3167 hpa = page_to_phys(vmx->nested.apic_access_page); in nested_get_vmcs12_pages()
3181 map = &vmx->nested.virtual_apic_map; in nested_get_vmcs12_pages()
3207 map = &vmx->nested.pi_desc_map; in nested_get_vmcs12_pages()
3210 vmx->nested.pi_desc = in nested_get_vmcs12_pages()
3222 vmx->nested.pi_desc = NULL; in nested_get_vmcs12_pages()
3262 if (WARN_ON_ONCE(vmx->nested.pml_full)) in nested_vmx_write_pml_buffer()
3274 vmx->nested.pml_full = true; in nested_vmx_write_pml_buffer()
3299 if (!to_vmx(vcpu)->nested.vmxon) { in nested_vmx_check_permission()
3354 vmx->nested.vmcs01_debugctl = vmcs_read64(GUEST_IA32_DEBUGCTL); in nested_vmx_enter_non_root_mode()
3357 vmx->nested.vmcs01_guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS); in nested_vmx_enter_non_root_mode()
3378 vmx_switch_vmcs(vcpu, &vmx->nested.vmcs02); in nested_vmx_enter_non_root_mode()
3451 vmx->nested.preemption_timer_expired = false; in nested_vmx_enter_non_root_mode()
3483 if (enable_shadow_vmcs || evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in nested_vmx_enter_non_root_mode()
3484 vmx->nested.need_vmcs12_to_shadow_sync = true; in nested_vmx_enter_non_root_mode()
3511 if (CC(!evmptr_is_valid(vmx->nested.hv_evmcs_vmptr) && in nested_vmx_run()
3512 vmx->nested.current_vmptr == INVALID_GPA)) in nested_vmx_run()
3526 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) { in nested_vmx_run()
3527 copy_enlightened_to_vmcs12(vmx, vmx->nested.hv_evmcs->hv_clean_fields); in nested_vmx_run()
3565 vmx->nested.nested_run_pending = 1; in nested_vmx_run()
3566 vmx->nested.has_preemption_timer_deadline = false; in nested_vmx_run()
3573 kvm_apic_has_interrupt(vcpu) == vmx->nested.posted_intr_nv) { in nested_vmx_run()
3574 vmx->nested.pi_pending = true; in nested_vmx_run()
3576 kvm_apic_clear_irr(vcpu, vmx->nested.posted_intr_nv); in nested_vmx_run()
3605 vmx->nested.nested_run_pending = 0; in nested_vmx_run()
3610 vmx->nested.nested_run_pending = 0; in nested_vmx_run()
3620 vmx->nested.nested_run_pending = 0; in nested_vmx_run()
3737 if (!vmx->nested.pi_pending) in vmx_complete_nested_posted_interrupt()
3740 if (!vmx->nested.pi_desc) in vmx_complete_nested_posted_interrupt()
3743 vmx->nested.pi_pending = false; in vmx_complete_nested_posted_interrupt()
3745 if (!pi_test_and_clear_on(vmx->nested.pi_desc)) in vmx_complete_nested_posted_interrupt()
3748 max_irr = find_last_bit((unsigned long *)vmx->nested.pi_desc->pir, 256); in vmx_complete_nested_posted_interrupt()
3750 vapic_page = vmx->nested.virtual_apic_map.hva; in vmx_complete_nested_posted_interrupt()
3754 __kvm_apic_update_irr(vmx->nested.pi_desc->pir, in vmx_complete_nested_posted_interrupt()
3826 to_vmx(vcpu)->nested.preemption_timer_expired; in nested_vmx_preemption_timer_pending()
3834 vmx->nested.nested_run_pending || kvm_event_needs_reinjection(vcpu); in vmx_check_nested_events()
3835 bool mtf_pending = vmx->nested.mtf_pending; in vmx_check_nested_events()
3843 vmx->nested.mtf_pending = false; in vmx_check_nested_events()
3878 if (vmx->nested.nested_run_pending) in vmx_check_nested_events()
3895 if (vmx->nested.nested_run_pending) in vmx_check_nested_events()
3950 hrtimer_get_remaining(&to_vmx(vcpu)->nested.preemption_timer); in vmx_get_preemption_timer_value()
4052 vmx->nested.need_sync_vmcs02_to_vmcs12_rare = false; in sync_vmcs02_to_vmcs12_rare()
4061 if (!vmx->nested.need_sync_vmcs02_to_vmcs12_rare) in copy_vmcs02_to_vmcs12_rare()
4068 vmx->loaded_vmcs = &vmx->nested.vmcs02; in copy_vmcs02_to_vmcs12_rare()
4074 vmx_vcpu_load_vmcs(vcpu, cpu, &vmx->nested.vmcs02); in copy_vmcs02_to_vmcs12_rare()
4088 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in sync_vmcs02_to_vmcs12()
4091 vmx->nested.need_sync_vmcs02_to_vmcs12_rare = in sync_vmcs02_to_vmcs12()
4092 !evmptr_is_valid(vmx->nested.hv_evmcs_vmptr); in sync_vmcs02_to_vmcs12()
4116 !vmx->nested.nested_run_pending) in sync_vmcs02_to_vmcs12()
4488 WARN_ON_ONCE(vmx->nested.nested_run_pending); in nested_vmx_vmexit()
4517 hrtimer_cancel(&to_vmx(vcpu)->nested.preemption_timer); in nested_vmx_vmexit()
4563 if (vmx->nested.l1_tpr_threshold != -1) in nested_vmx_vmexit()
4564 vmcs_write32(TPR_THRESHOLD, vmx->nested.l1_tpr_threshold); in nested_vmx_vmexit()
4566 if (vmx->nested.change_vmcs01_virtual_apic_mode) { in nested_vmx_vmexit()
4567 vmx->nested.change_vmcs01_virtual_apic_mode = false; in nested_vmx_vmexit()
4571 if (vmx->nested.update_vmcs01_cpu_dirty_logging) { in nested_vmx_vmexit()
4572 vmx->nested.update_vmcs01_cpu_dirty_logging = false; in nested_vmx_vmexit()
4577 if (vmx->nested.apic_access_page) { in nested_vmx_vmexit()
4578 kvm_release_page_clean(vmx->nested.apic_access_page); in nested_vmx_vmexit()
4579 vmx->nested.apic_access_page = NULL; in nested_vmx_vmexit()
4581 kvm_vcpu_unmap(vcpu, &vmx->nested.virtual_apic_map, true); in nested_vmx_vmexit()
4582 kvm_vcpu_unmap(vcpu, &vmx->nested.pi_desc_map, true); in nested_vmx_vmexit()
4583 vmx->nested.pi_desc = NULL; in nested_vmx_vmexit()
4585 if (vmx->nested.reload_vmcs01_apic_access_page) { in nested_vmx_vmexit()
4586 vmx->nested.reload_vmcs01_apic_access_page = false; in nested_vmx_vmexit()
4591 (enable_shadow_vmcs || evmptr_is_valid(vmx->nested.hv_evmcs_vmptr))) in nested_vmx_vmexit()
4592 vmx->nested.need_vmcs12_to_shadow_sync = true; in nested_vmx_vmexit()
4783 vmx->nested.msrs.entry_ctls_high |= in nested_vmx_pmu_entry_exit_ctls_update()
4785 vmx->nested.msrs.exit_ctls_high |= in nested_vmx_pmu_entry_exit_ctls_update()
4788 vmx->nested.msrs.entry_ctls_high &= in nested_vmx_pmu_entry_exit_ctls_update()
4790 vmx->nested.msrs.exit_ctls_high &= in nested_vmx_pmu_entry_exit_ctls_update()
4849 r = alloc_loaded_vmcs(&vmx->nested.vmcs02); in enter_vmx_operation()
4853 vmx->nested.cached_vmcs12 = kzalloc(VMCS12_SIZE, GFP_KERNEL_ACCOUNT); in enter_vmx_operation()
4854 if (!vmx->nested.cached_vmcs12) in enter_vmx_operation()
4857 vmx->nested.shadow_vmcs12_cache.gpa = INVALID_GPA; in enter_vmx_operation()
4858 vmx->nested.cached_shadow_vmcs12 = kzalloc(VMCS12_SIZE, GFP_KERNEL_ACCOUNT); in enter_vmx_operation()
4859 if (!vmx->nested.cached_shadow_vmcs12) in enter_vmx_operation()
4865 hrtimer_init(&vmx->nested.preemption_timer, CLOCK_MONOTONIC, in enter_vmx_operation()
4867 vmx->nested.preemption_timer.function = vmx_preemption_timer_fn; in enter_vmx_operation()
4869 vmx->nested.vpid02 = allocate_vpid(); in enter_vmx_operation()
4871 vmx->nested.vmcs02_initialized = false; in enter_vmx_operation()
4872 vmx->nested.vmxon = true; in enter_vmx_operation()
4882 kfree(vmx->nested.cached_shadow_vmcs12); in enter_vmx_operation()
4885 kfree(vmx->nested.cached_vmcs12); in enter_vmx_operation()
4888 free_loaded_vmcs(&vmx->nested.vmcs02); in enter_vmx_operation()
4924 if (vmx->nested.vmxon) in handle_vmon()
4951 vmx->nested.vmxon_ptr = vmptr; in handle_vmon()
4963 if (vmx->nested.current_vmptr == INVALID_GPA) in nested_release_vmcs12()
4974 vmx->nested.posted_intr_nv = -1; in nested_release_vmcs12()
4978 vmx->nested.current_vmptr >> PAGE_SHIFT, in nested_release_vmcs12()
4979 vmx->nested.cached_vmcs12, 0, VMCS12_SIZE); in nested_release_vmcs12()
4983 vmx->nested.current_vmptr = INVALID_GPA; in nested_release_vmcs12()
5018 if (vmptr == vmx->nested.vmxon_ptr) in handle_vmclear()
5031 if (likely(!vmx->nested.enlightened_vmcs_enabled || in handle_vmclear()
5033 if (vmptr == vmx->nested.current_vmptr) in handle_vmclear()
5040 } else if (vmx->nested.hv_evmcs && vmptr == vmx->nested.hv_evmcs_vmptr) { in handle_vmclear()
5081 if (vmx->nested.current_vmptr == INVALID_GPA || in handle_vmread()
5173 if (vmx->nested.current_vmptr == INVALID_GPA || in handle_vmwrite()
5245 vmx->nested.dirty_vmcs12 = true; in handle_vmwrite()
5253 vmx->nested.current_vmptr = vmptr; in set_current_vmptr()
5258 vmx->nested.need_vmcs12_to_shadow_sync = true; in set_current_vmptr()
5260 vmx->nested.dirty_vmcs12 = true; in set_current_vmptr()
5279 if (vmptr == vmx->nested.vmxon_ptr) in handle_vmptrld()
5283 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in handle_vmptrld()
5286 if (vmx->nested.current_vmptr != vmptr) { in handle_vmptrld()
5287 struct gfn_to_hva_cache *ghc = &vmx->nested.vmcs12_cache; in handle_vmptrld()
5321 if (kvm_read_guest_cached(vcpu->kvm, ghc, vmx->nested.cached_vmcs12, in handle_vmptrld()
5338 gpa_t current_vmptr = to_vmx(vcpu)->nested.current_vmptr; in handle_vmptrst()
5346 if (unlikely(evmptr_is_valid(to_vmx(vcpu)->nested.hv_evmcs_vmptr))) in handle_vmptrst()
5375 if (!(vmx->nested.msrs.secondary_ctls_high & in handle_invept()
5377 !(vmx->nested.msrs.ept_caps & VMX_EPT_INVEPT_BIT)) { in handle_invept()
5389 types = (vmx->nested.msrs.ept_caps >> VMX_EPT_EXTENT_SHIFT) & 6; in handle_invept()
5456 if (!(vmx->nested.msrs.secondary_ctls_high & in handle_invvpid()
5458 !(vmx->nested.msrs.vpid_caps & VMX_VPID_INVVPID_BIT)) { in handle_invvpid()
5470 types = (vmx->nested.msrs.vpid_caps & in handle_invvpid()
6047 WARN_ON_ONCE(vmx->nested.nested_run_pending); in nested_vmx_reflect_vmexit()
6117 (vmx->nested.vmxon || vmx->nested.smm.vmxon)) { in vmx_get_nested_state()
6118 kvm_state.hdr.vmx.vmxon_pa = vmx->nested.vmxon_ptr; in vmx_get_nested_state()
6119 kvm_state.hdr.vmx.vmcs12_pa = vmx->nested.current_vmptr; in vmx_get_nested_state()
6125 if (vmx->nested.hv_evmcs_vmptr != EVMPTR_INVALID) in vmx_get_nested_state()
6134 if (vmx->nested.smm.vmxon) in vmx_get_nested_state()
6137 if (vmx->nested.smm.guest_mode) in vmx_get_nested_state()
6143 if (vmx->nested.nested_run_pending) in vmx_get_nested_state()
6146 if (vmx->nested.mtf_pending) in vmx_get_nested_state()
6150 vmx->nested.has_preemption_timer_deadline) { in vmx_get_nested_state()
6154 vmx->nested.preemption_timer_deadline; in vmx_get_nested_state()
6180 if (!vmx->nested.need_vmcs12_to_shadow_sync) { in vmx_get_nested_state()
6181 if (evmptr_is_valid(vmx->nested.hv_evmcs_vmptr)) in vmx_get_nested_state()
6221 to_vmx(vcpu)->nested.nested_run_pending = 0; in vmx_leave_nested()
6294 (!nested_vmx_allowed(vcpu) || !vmx->nested.enlightened_vmcs_enabled)) in vmx_set_nested_state()
6302 vmx->nested.vmxon_ptr = kvm_state->hdr.vmx.vmxon_pa; in vmx_set_nested_state()
6331 vmx->nested.hv_evmcs_vmptr = EVMPTR_MAP_PENDING; in vmx_set_nested_state()
6338 vmx->nested.smm.vmxon = true; in vmx_set_nested_state()
6339 vmx->nested.vmxon = false; in vmx_set_nested_state()
6342 vmx->nested.smm.guest_mode = true; in vmx_set_nested_state()
6355 vmx->nested.nested_run_pending = in vmx_set_nested_state()
6358 vmx->nested.mtf_pending = in vmx_set_nested_state()
6383 vmx->nested.has_preemption_timer_deadline = false; in vmx_set_nested_state()
6385 vmx->nested.has_preemption_timer_deadline = true; in vmx_set_nested_state()
6386 vmx->nested.preemption_timer_deadline = in vmx_set_nested_state()
6395 vmx->nested.dirty_vmcs12 = true; in vmx_set_nested_state()
6403 vmx->nested.nested_run_pending = 0; in vmx_set_nested_state()