Lines Matching refs:loaded_vmcs

626 	evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs;
772 struct loaded_vmcs *v;
782 struct loaded_vmcs *loaded_vmcs = arg;
785 if (loaded_vmcs->cpu != cpu)
787 if (per_cpu(current_vmcs, cpu) == loaded_vmcs->vmcs)
790 vmcs_clear(loaded_vmcs->vmcs);
791 if (loaded_vmcs->shadow_vmcs && loaded_vmcs->launched)
792 vmcs_clear(loaded_vmcs->shadow_vmcs);
794 list_del(&loaded_vmcs->loaded_vmcss_on_cpu_link);
797 * Ensure all writes to loaded_vmcs, including deleting it from its
798 * current percpu list, complete before setting loaded_vmcs->vcpu to
800 * loaded_vmcs to its percpu list before it's deleted from this cpu's
805 loaded_vmcs->cpu = -1;
806 loaded_vmcs->launched = 0;
809 void loaded_vmcs_clear(struct loaded_vmcs *loaded_vmcs)
811 int cpu = loaded_vmcs->cpu;
815 __loaded_vmcs_clear, loaded_vmcs, 1);
926 msr_bitmap = vmx->loaded_vmcs->msr_bitmap;
942 if (vmx->loaded_vmcs->launched)
1305 host_state = &vmx->loaded_vmcs->host_state;
1350 host_state = &vmx->loaded_vmcs->host_state;
1403 struct loaded_vmcs *buddy)
1406 bool already_loaded = vmx->loaded_vmcs->cpu == cpu;
1410 loaded_vmcs_clear(vmx->loaded_vmcs);
1414 * Ensure loaded_vmcs->cpu is read before adding loaded_vmcs to
1421 list_add(&vmx->loaded_vmcs->loaded_vmcss_on_cpu_link,
1427 if (prev != vmx->loaded_vmcs->vmcs) {
1428 per_cpu(current_vmcs, cpu) = vmx->loaded_vmcs->vmcs;
1429 vmcs_load(vmx->loaded_vmcs->vmcs);
1463 vmx->loaded_vmcs->cpu = cpu;
2415 struct loaded_vmcs *v, *n;
2701 void free_loaded_vmcs(struct loaded_vmcs *loaded_vmcs)
2703 if (!loaded_vmcs->vmcs)
2705 loaded_vmcs_clear(loaded_vmcs);
2706 free_vmcs(loaded_vmcs->vmcs);
2707 loaded_vmcs->vmcs = NULL;
2708 if (loaded_vmcs->msr_bitmap)
2709 free_page((unsigned long)loaded_vmcs->msr_bitmap);
2710 WARN_ON(loaded_vmcs->shadow_vmcs != NULL);
2713 int alloc_loaded_vmcs(struct loaded_vmcs *loaded_vmcs)
2715 loaded_vmcs->vmcs = alloc_vmcs(false);
2716 if (!loaded_vmcs->vmcs)
2719 vmcs_clear(loaded_vmcs->vmcs);
2721 loaded_vmcs->shadow_vmcs = NULL;
2722 loaded_vmcs->hv_timer_soft_disabled = false;
2723 loaded_vmcs->cpu = -1;
2724 loaded_vmcs->launched = 0;
2727 loaded_vmcs->msr_bitmap = (unsigned long *)
2729 if (!loaded_vmcs->msr_bitmap)
2731 memset(loaded_vmcs->msr_bitmap, 0xff, PAGE_SIZE);
2734 memset(&loaded_vmcs->host_state, 0, sizeof(struct vmcs_host_state));
2735 memset(&loaded_vmcs->controls_shadow, 0,
2741 free_loaded_vmcs(loaded_vmcs);
4154 vmx->loaded_vmcs->host_state.cr3 = cr3;
4159 vmx->loaded_vmcs->host_state.cr4 = cr4;
4663 vmx->loaded_vmcs->soft_vnmi_blocked = 1;
4664 vmx->loaded_vmcs->vnmi_blocked_time = 0;
4668 vmx->loaded_vmcs->nmi_known_unmasked = false;
4687 return vmx->loaded_vmcs->soft_vnmi_blocked;
4688 if (vmx->loaded_vmcs->nmi_known_unmasked)
4691 vmx->loaded_vmcs->nmi_known_unmasked = !masked;
4700 if (vmx->loaded_vmcs->soft_vnmi_blocked != masked) {
4701 vmx->loaded_vmcs->soft_vnmi_blocked = masked;
4702 vmx->loaded_vmcs->vnmi_blocked_time = 0;
4705 vmx->loaded_vmcs->nmi_known_unmasked = !masked;
4720 if (!enable_vnmi && to_vmx(vcpu)->loaded_vmcs->soft_vnmi_blocked)
5739 !unlikely(vmx->loaded_vmcs->hv_timer_soft_disabled)) {
6174 vmx->loaded_vmcs->soft_vnmi_blocked)) {
6176 vmx->loaded_vmcs->soft_vnmi_blocked = 0;
6177 } else if (vmx->loaded_vmcs->vnmi_blocked_time > 1000000000LL &&
6188 vmx->loaded_vmcs->soft_vnmi_blocked = 0;
6581 if (vmx->loaded_vmcs->nmi_known_unmasked)
6602 vmx->loaded_vmcs->nmi_known_unmasked =
6605 } else if (unlikely(vmx->loaded_vmcs->soft_vnmi_blocked))
6606 vmx->loaded_vmcs->vnmi_blocked_time +=
6608 vmx->loaded_vmcs->entry_time));
6708 vmx->loaded_vmcs->hv_timer_soft_disabled = false;
6719 vmx->loaded_vmcs->hv_timer_soft_disabled = false;
6720 } else if (!vmx->loaded_vmcs->hv_timer_soft_disabled) {
6722 vmx->loaded_vmcs->hv_timer_soft_disabled = true;
6728 if (unlikely(host_rsp != vmx->loaded_vmcs->host_state.rsp)) {
6729 vmx->loaded_vmcs->host_state.rsp = host_rsp;
6845 vmx->loaded_vmcs->soft_vnmi_blocked))
6846 vmx->loaded_vmcs->entry_time = ktime_get();
6870 if (unlikely(cr3 != vmx->loaded_vmcs->host_state.cr3)) {
6872 vmx->loaded_vmcs->host_state.cr3 = cr3;
6876 if (unlikely(cr4 != vmx->loaded_vmcs->host_state.cr4)) {
6878 vmx->loaded_vmcs->host_state.cr4 = cr4;
6959 vmx->loaded_vmcs->launched = 1;
6994 free_loaded_vmcs(vmx->loaded_vmcs);
7095 vmx->loaded_vmcs = &vmx->vmcs01;
7137 free_loaded_vmcs(vmx->loaded_vmcs);