Lines Matching refs:loaded_vmcs
538 evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs; in hv_enable_l2_tlb_flush()
763 struct loaded_vmcs *v; in vmx_emergency_disable()
785 struct loaded_vmcs *loaded_vmcs = arg; in __loaded_vmcs_clear() local
788 if (loaded_vmcs->cpu != cpu) in __loaded_vmcs_clear()
790 if (per_cpu(current_vmcs, cpu) == loaded_vmcs->vmcs) in __loaded_vmcs_clear()
793 vmcs_clear(loaded_vmcs->vmcs); in __loaded_vmcs_clear()
794 if (loaded_vmcs->shadow_vmcs && loaded_vmcs->launched) in __loaded_vmcs_clear()
795 vmcs_clear(loaded_vmcs->shadow_vmcs); in __loaded_vmcs_clear()
797 list_del(&loaded_vmcs->loaded_vmcss_on_cpu_link); in __loaded_vmcs_clear()
808 loaded_vmcs->cpu = -1; in __loaded_vmcs_clear()
809 loaded_vmcs->launched = 0; in __loaded_vmcs_clear()
812 void loaded_vmcs_clear(struct loaded_vmcs *loaded_vmcs) in loaded_vmcs_clear() argument
814 int cpu = loaded_vmcs->cpu; in loaded_vmcs_clear()
818 __loaded_vmcs_clear, loaded_vmcs, 1); in loaded_vmcs_clear()
939 return vmx_test_msr_bitmap_write(vmx->loaded_vmcs->msr_bitmap, msr); in msr_write_intercepted()
946 if (vmx->loaded_vmcs->launched) in __vmx_vcpu_run_flags()
1316 host_state = &vmx->loaded_vmcs->host_state; in vmx_prepare_switch_to_guest()
1361 host_state = &vmx->loaded_vmcs->host_state; in vmx_prepare_switch_to_host()
1414 struct loaded_vmcs *buddy) in vmx_vcpu_load_vmcs()
1417 bool already_loaded = vmx->loaded_vmcs->cpu == cpu; in vmx_vcpu_load_vmcs()
1421 loaded_vmcs_clear(vmx->loaded_vmcs); in vmx_vcpu_load_vmcs()
1432 list_add(&vmx->loaded_vmcs->loaded_vmcss_on_cpu_link, in vmx_vcpu_load_vmcs()
1438 if (prev != vmx->loaded_vmcs->vmcs) { in vmx_vcpu_load_vmcs()
1439 per_cpu(current_vmcs, cpu) = vmx->loaded_vmcs->vmcs; in vmx_vcpu_load_vmcs()
1440 vmcs_load(vmx->loaded_vmcs->vmcs); in vmx_vcpu_load_vmcs()
1476 vmx->loaded_vmcs->cpu = cpu; in vmx_vcpu_load_vmcs()
2839 struct loaded_vmcs *v, *n; in vmclear_local_loaded_vmcss()
2889 void free_loaded_vmcs(struct loaded_vmcs *loaded_vmcs) in free_loaded_vmcs() argument
2891 if (!loaded_vmcs->vmcs) in free_loaded_vmcs()
2893 loaded_vmcs_clear(loaded_vmcs); in free_loaded_vmcs()
2894 free_vmcs(loaded_vmcs->vmcs); in free_loaded_vmcs()
2895 loaded_vmcs->vmcs = NULL; in free_loaded_vmcs()
2896 if (loaded_vmcs->msr_bitmap) in free_loaded_vmcs()
2897 free_page((unsigned long)loaded_vmcs->msr_bitmap); in free_loaded_vmcs()
2898 WARN_ON(loaded_vmcs->shadow_vmcs != NULL); in free_loaded_vmcs()
2901 int alloc_loaded_vmcs(struct loaded_vmcs *loaded_vmcs) in alloc_loaded_vmcs() argument
2903 loaded_vmcs->vmcs = alloc_vmcs(false); in alloc_loaded_vmcs()
2904 if (!loaded_vmcs->vmcs) in alloc_loaded_vmcs()
2907 vmcs_clear(loaded_vmcs->vmcs); in alloc_loaded_vmcs()
2909 loaded_vmcs->shadow_vmcs = NULL; in alloc_loaded_vmcs()
2910 loaded_vmcs->hv_timer_soft_disabled = false; in alloc_loaded_vmcs()
2911 loaded_vmcs->cpu = -1; in alloc_loaded_vmcs()
2912 loaded_vmcs->launched = 0; in alloc_loaded_vmcs()
2915 loaded_vmcs->msr_bitmap = (unsigned long *) in alloc_loaded_vmcs()
2917 if (!loaded_vmcs->msr_bitmap) in alloc_loaded_vmcs()
2919 memset(loaded_vmcs->msr_bitmap, 0xff, PAGE_SIZE); in alloc_loaded_vmcs()
2922 memset(&loaded_vmcs->host_state, 0, sizeof(struct vmcs_host_state)); in alloc_loaded_vmcs()
2923 memset(&loaded_vmcs->controls_shadow, 0, in alloc_loaded_vmcs()
2929 free_loaded_vmcs(loaded_vmcs); in alloc_loaded_vmcs()
4307 vmx->loaded_vmcs->host_state.cr3 = cr3; in vmx_set_constant_host_state()
4312 vmx->loaded_vmcs->host_state.cr4 = cr4; in vmx_set_constant_host_state()
4965 vmx->loaded_vmcs->soft_vnmi_blocked = 1; in vmx_inject_nmi()
4966 vmx->loaded_vmcs->vnmi_blocked_time = 0; in vmx_inject_nmi()
4970 vmx->loaded_vmcs->nmi_known_unmasked = false; in vmx_inject_nmi()
4989 return vmx->loaded_vmcs->soft_vnmi_blocked; in vmx_get_nmi_mask()
4990 if (vmx->loaded_vmcs->nmi_known_unmasked) in vmx_get_nmi_mask()
4993 vmx->loaded_vmcs->nmi_known_unmasked = !masked; in vmx_get_nmi_mask()
5002 if (vmx->loaded_vmcs->soft_vnmi_blocked != masked) { in vmx_set_nmi_mask()
5003 vmx->loaded_vmcs->soft_vnmi_blocked = masked; in vmx_set_nmi_mask()
5004 vmx->loaded_vmcs->vnmi_blocked_time = 0; in vmx_set_nmi_mask()
5007 vmx->loaded_vmcs->nmi_known_unmasked = !masked; in vmx_set_nmi_mask()
5022 if (!enable_vnmi && to_vmx(vcpu)->loaded_vmcs->soft_vnmi_blocked) in vmx_nmi_blocked()
6000 !unlikely(vmx->loaded_vmcs->hv_timer_soft_disabled)) { in handle_fastpath_preemption_timer()
6255 vmx->loaded_vmcs->vmcs, vcpu->arch.last_vmentry_cpu); in dump_vmcs()
6524 vmx->loaded_vmcs->soft_vnmi_blocked)) { in __vmx_handle_exit()
6526 vmx->loaded_vmcs->soft_vnmi_blocked = 0; in __vmx_handle_exit()
6527 } else if (vmx->loaded_vmcs->vnmi_blocked_time > 1000000000LL && in __vmx_handle_exit()
6538 vmx->loaded_vmcs->soft_vnmi_blocked = 0; in __vmx_handle_exit()
7027 if (vmx->loaded_vmcs->nmi_known_unmasked) in vmx_recover_nmi_blocking()
7048 vmx->loaded_vmcs->nmi_known_unmasked = in vmx_recover_nmi_blocking()
7051 } else if (unlikely(vmx->loaded_vmcs->soft_vnmi_blocked)) in vmx_recover_nmi_blocking()
7052 vmx->loaded_vmcs->vnmi_blocked_time += in vmx_recover_nmi_blocking()
7054 vmx->loaded_vmcs->entry_time)); in vmx_recover_nmi_blocking()
7159 vmx->loaded_vmcs->hv_timer_soft_disabled = false; in vmx_update_hv_timer()
7170 vmx->loaded_vmcs->hv_timer_soft_disabled = false; in vmx_update_hv_timer()
7171 } else if (!vmx->loaded_vmcs->hv_timer_soft_disabled) { in vmx_update_hv_timer()
7173 vmx->loaded_vmcs->hv_timer_soft_disabled = true; in vmx_update_hv_timer()
7179 if (unlikely(host_rsp != vmx->loaded_vmcs->host_state.rsp)) { in vmx_update_host_rsp()
7180 vmx->loaded_vmcs->host_state.rsp = host_rsp; in vmx_update_host_rsp()
7280 vmx->loaded_vmcs->soft_vnmi_blocked)) in vmx_vcpu_run()
7281 vmx->loaded_vmcs->entry_time = ktime_get(); in vmx_vcpu_run()
7327 if (unlikely(cr3 != vmx->loaded_vmcs->host_state.cr3)) { in vmx_vcpu_run()
7329 vmx->loaded_vmcs->host_state.cr3 = cr3; in vmx_vcpu_run()
7333 if (unlikely(cr4 != vmx->loaded_vmcs->host_state.cr4)) { in vmx_vcpu_run()
7335 vmx->loaded_vmcs->host_state.cr4 = cr4; in vmx_vcpu_run()
7418 vmx->loaded_vmcs->launched = 1; in vmx_vcpu_run()
7437 free_loaded_vmcs(vmx->loaded_vmcs); in vmx_vcpu_free()
7517 vmx->loaded_vmcs = &vmx->vmcs01; in vmx_vcpu_create()
7538 free_loaded_vmcs(vmx->loaded_vmcs); in vmx_vcpu_create()