Lines Matching refs:loaded_vmcs
551 evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs; in hv_enable_direct_tlbflush()
641 void loaded_vmcs_init(struct loaded_vmcs *loaded_vmcs) in loaded_vmcs_init() argument
643 vmcs_clear(loaded_vmcs->vmcs); in loaded_vmcs_init()
644 if (loaded_vmcs->shadow_vmcs && loaded_vmcs->launched) in loaded_vmcs_init()
645 vmcs_clear(loaded_vmcs->shadow_vmcs); in loaded_vmcs_init()
646 loaded_vmcs->cpu = -1; in loaded_vmcs_init()
647 loaded_vmcs->launched = 0; in loaded_vmcs_init()
676 struct loaded_vmcs *v; in crash_vmclear_local_loaded_vmcss()
692 struct loaded_vmcs *loaded_vmcs = arg; in __loaded_vmcs_clear() local
695 if (loaded_vmcs->cpu != cpu) in __loaded_vmcs_clear()
697 if (per_cpu(current_vmcs, cpu) == loaded_vmcs->vmcs) in __loaded_vmcs_clear()
700 list_del(&loaded_vmcs->loaded_vmcss_on_cpu_link); in __loaded_vmcs_clear()
710 loaded_vmcs_init(loaded_vmcs); in __loaded_vmcs_clear()
714 void loaded_vmcs_clear(struct loaded_vmcs *loaded_vmcs) in loaded_vmcs_clear() argument
716 int cpu = loaded_vmcs->cpu; in loaded_vmcs_clear()
720 __loaded_vmcs_clear, loaded_vmcs, 1); in loaded_vmcs_clear()
819 msr_bitmap = to_vmx(vcpu)->loaded_vmcs->msr_bitmap; in msr_write_intercepted()
1159 host_state = &vmx->loaded_vmcs->host_state; in vmx_prepare_switch_to_guest()
1204 host_state = &vmx->loaded_vmcs->host_state; in vmx_prepare_switch_to_host()
1315 bool already_loaded = vmx->loaded_vmcs->cpu == cpu; in vmx_vcpu_load_vmcs()
1318 loaded_vmcs_clear(vmx->loaded_vmcs); in vmx_vcpu_load_vmcs()
1329 list_add(&vmx->loaded_vmcs->loaded_vmcss_on_cpu_link, in vmx_vcpu_load_vmcs()
1335 if (per_cpu(current_vmcs, cpu) != vmx->loaded_vmcs->vmcs) { in vmx_vcpu_load_vmcs()
1336 per_cpu(current_vmcs, cpu) = vmx->loaded_vmcs->vmcs; in vmx_vcpu_load_vmcs()
1337 vmcs_load(vmx->loaded_vmcs->vmcs); in vmx_vcpu_load_vmcs()
1366 vmx->loaded_vmcs->cpu = cpu; in vmx_vcpu_load_vmcs()
2289 struct loaded_vmcs *v, *n; in vmclear_local_loaded_vmcss()
2561 void free_loaded_vmcs(struct loaded_vmcs *loaded_vmcs) in free_loaded_vmcs() argument
2563 if (!loaded_vmcs->vmcs) in free_loaded_vmcs()
2565 loaded_vmcs_clear(loaded_vmcs); in free_loaded_vmcs()
2566 free_vmcs(loaded_vmcs->vmcs); in free_loaded_vmcs()
2567 loaded_vmcs->vmcs = NULL; in free_loaded_vmcs()
2568 if (loaded_vmcs->msr_bitmap) in free_loaded_vmcs()
2569 free_page((unsigned long)loaded_vmcs->msr_bitmap); in free_loaded_vmcs()
2570 WARN_ON(loaded_vmcs->shadow_vmcs != NULL); in free_loaded_vmcs()
2573 int alloc_loaded_vmcs(struct loaded_vmcs *loaded_vmcs) in alloc_loaded_vmcs() argument
2575 loaded_vmcs->vmcs = alloc_vmcs(false); in alloc_loaded_vmcs()
2576 if (!loaded_vmcs->vmcs) in alloc_loaded_vmcs()
2579 loaded_vmcs->shadow_vmcs = NULL; in alloc_loaded_vmcs()
2580 loaded_vmcs->hv_timer_soft_disabled = false; in alloc_loaded_vmcs()
2581 loaded_vmcs_init(loaded_vmcs); in alloc_loaded_vmcs()
2584 loaded_vmcs->msr_bitmap = (unsigned long *) in alloc_loaded_vmcs()
2586 if (!loaded_vmcs->msr_bitmap) in alloc_loaded_vmcs()
2588 memset(loaded_vmcs->msr_bitmap, 0xff, PAGE_SIZE); in alloc_loaded_vmcs()
2594 (struct hv_enlightened_vmcs *)loaded_vmcs->vmcs; in alloc_loaded_vmcs()
2600 memset(&loaded_vmcs->host_state, 0, sizeof(struct vmcs_host_state)); in alloc_loaded_vmcs()
2601 memset(&loaded_vmcs->controls_shadow, 0, in alloc_loaded_vmcs()
2607 free_loaded_vmcs(loaded_vmcs); in alloc_loaded_vmcs()
3893 vmx->loaded_vmcs->host_state.cr3 = cr3; in vmx_set_constant_host_state()
3898 vmx->loaded_vmcs->host_state.cr4 = cr4; in vmx_set_constant_host_state()
4430 vmx->loaded_vmcs->soft_vnmi_blocked = 1; in vmx_inject_nmi()
4431 vmx->loaded_vmcs->vnmi_blocked_time = 0; in vmx_inject_nmi()
4435 vmx->loaded_vmcs->nmi_known_unmasked = false; in vmx_inject_nmi()
4454 return vmx->loaded_vmcs->soft_vnmi_blocked; in vmx_get_nmi_mask()
4455 if (vmx->loaded_vmcs->nmi_known_unmasked) in vmx_get_nmi_mask()
4458 vmx->loaded_vmcs->nmi_known_unmasked = !masked; in vmx_get_nmi_mask()
4467 if (vmx->loaded_vmcs->soft_vnmi_blocked != masked) { in vmx_set_nmi_mask()
4468 vmx->loaded_vmcs->soft_vnmi_blocked = masked; in vmx_set_nmi_mask()
4469 vmx->loaded_vmcs->vnmi_blocked_time = 0; in vmx_set_nmi_mask()
4472 vmx->loaded_vmcs->nmi_known_unmasked = !masked; in vmx_set_nmi_mask()
4488 to_vmx(vcpu)->loaded_vmcs->soft_vnmi_blocked) in vmx_nmi_allowed()
5529 !unlikely(vmx->loaded_vmcs->hv_timer_soft_disabled)) in handle_preemption_timer()
5927 vmx->loaded_vmcs->soft_vnmi_blocked)) { in vmx_handle_exit()
5929 vmx->loaded_vmcs->soft_vnmi_blocked = 0; in vmx_handle_exit()
5930 } else if (vmx->loaded_vmcs->vnmi_blocked_time > 1000000000LL && in vmx_handle_exit()
5941 vmx->loaded_vmcs->soft_vnmi_blocked = 0; in vmx_handle_exit()
6323 if (vmx->loaded_vmcs->nmi_known_unmasked) in vmx_recover_nmi_blocking()
6347 vmx->loaded_vmcs->nmi_known_unmasked = in vmx_recover_nmi_blocking()
6350 } else if (unlikely(vmx->loaded_vmcs->soft_vnmi_blocked)) in vmx_recover_nmi_blocking()
6351 vmx->loaded_vmcs->vnmi_blocked_time += in vmx_recover_nmi_blocking()
6353 vmx->loaded_vmcs->entry_time)); in vmx_recover_nmi_blocking()
6470 vmx->loaded_vmcs->hv_timer_soft_disabled = false; in vmx_update_hv_timer()
6481 vmx->loaded_vmcs->hv_timer_soft_disabled = false; in vmx_update_hv_timer()
6482 } else if (!vmx->loaded_vmcs->hv_timer_soft_disabled) { in vmx_update_hv_timer()
6484 vmx->loaded_vmcs->hv_timer_soft_disabled = true; in vmx_update_hv_timer()
6490 if (unlikely(host_rsp != vmx->loaded_vmcs->host_state.rsp)) { in vmx_update_host_rsp()
6491 vmx->loaded_vmcs->host_state.rsp = host_rsp; in vmx_update_host_rsp()
6505 vmx->loaded_vmcs->soft_vnmi_blocked)) in vmx_vcpu_run()
6506 vmx->loaded_vmcs->entry_time = ktime_get(); in vmx_vcpu_run()
6527 if (unlikely(cr3 != vmx->loaded_vmcs->host_state.cr3)) { in vmx_vcpu_run()
6529 vmx->loaded_vmcs->host_state.cr3 = cr3; in vmx_vcpu_run()
6533 if (unlikely(cr4 != vmx->loaded_vmcs->host_state.cr4)) { in vmx_vcpu_run()
6535 vmx->loaded_vmcs->host_state.cr4 = cr4; in vmx_vcpu_run()
6583 vmx->loaded_vmcs->launched); in vmx_vcpu_run()
6665 vmx->loaded_vmcs->launched = 1; in vmx_vcpu_run()
6694 free_loaded_vmcs(vmx->loaded_vmcs); in vmx_free_vcpu()
6779 vmx->loaded_vmcs = &vmx->vmcs01; in vmx_create_vcpu()
6822 free_loaded_vmcs(vmx->loaded_vmcs); in vmx_create_vcpu()