Lines Matching full:vmcs
179 * We don't need to force sync to shadow VMCS because in nested_vmx_failValid()
180 * VM_INSTRUCTION_ERROR is not shadowed. Enlightened VMCS 'shadows' all in nested_vmx_failValid()
194 * failValid writes the error number to the current VMCS, which in nested_vmx_fail()
195 * can't be done if there isn't a current VMCS. in nested_vmx_fail()
252 * memory area pointer by vmptr as Enlightened VMCS (as there's no good in nested_evmcs_handle_vmclear()
292 static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) in vmx_switch_vmcs() argument
298 if (WARN_ON_ONCE(vmx->loaded_vmcs == vmcs)) in vmx_switch_vmcs()
303 vmx->loaded_vmcs = vmcs; in vmx_switch_vmcs()
370 * Ensure that the current vmcs of the logical processor is the
512 * check. All VMCS fields involved are 32 bits, but Intel CPUs never in nested_vmx_is_exception_vmexit()
1280 * addresses of VMX structures (e.g. VMCS) to 32-bits. in vmx_restore_vmx_basic()
1586 * Copy the writable VMCS shadow fields back to the VMCS12, in case they have
1591 * configured to support "VMWRITE to any supported field in the VMCS").
1595 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_shadow_to_vmcs12()
1615 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_shadow_to_vmcs12()
1630 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_vmcs12_to_shadow()
1651 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_vmcs12_to_shadow()
2427 /* VMCS shadowing for L2 is emulated for now */ in prepare_vmcs02_early()
2459 * loading PERF_GLOBAL_CTRL via the VMCS for L1, then KVM will want to in prepare_vmcs02_early()
2628 * L2 guest. L1 has a vmcs for L2 (vmcs12), and this function "merges" it
2631 * needs. In addition to modifying the active vmcs (which is vmcs02), this
3687 * Can't VMLAUNCH or VMRESUME a shadow VMCS. Despite the fact in nested_vmx_run()
3688 * that there *is* a valid VMCS pointer, RFLAGS.CF is set in nested_vmx_run()
3699 /* Enlightened VMCS doesn't have launch state */ in nested_vmx_run()
4049 * with the 'pending debug exceptions' field, write the payload to the VMCS
4610 * and we want to prepare to run its L1 parent. L1 keeps a vmcs for L2 (vmcs12),
4614 * Note that we do not have to copy here all VMCS fields, just those that
4630 * On VM-Exit due to a failed VM-Entry, the VMCS isn't marked launched in prepare_vmcs12()
4673 * This function should be called when the active VMCS is L1's (vmcs01).
4950 * Enlightened VMCS after migration and we still need to in __nested_vmx_vmexit()
5034 /* Update any VMCS fields that might have changed while L2 ran */ in __nested_vmx_vmexit()
5107 * flag and the VM-instruction error field of the VMCS in __nested_vmx_vmexit()
5284 * Allocate a shadow VMCS and associate it with the currently loaded
5285 * VMCS, unless such a shadow VMCS already exists. The newly allocated
5286 * VMCS is also VMCLEARed, so that it is ready for use.
5288 static struct vmcs *alloc_shadow_vmcs(struct kvm_vcpu *vcpu) in alloc_shadow_vmcs()
5294 * KVM allocates a shadow VMCS only when L1 executes VMXON and frees it in alloc_shadow_vmcs()
5297 * should be impossible to already have an allocated shadow VMCS. KVM in alloc_shadow_vmcs()
5298 * doesn't support virtualization of VMCS shadowing, so vmcs01 should in alloc_shadow_vmcs()
5299 * always be the loaded VMCS. in alloc_shadow_vmcs()
5432 * VMCS revision identifier in handle_vmxon()
5519 * for VMCLEAR includes a "ensure that data for VMCS referenced in handle_vmclear()
5570 * In VMX non-root operation, when the VMCS-link pointer is INVALID_GPA, in handle_vmread()
5590 * enlightened VMCS is active VMREAD/VMWRITE instructions are in handle_vmread()
5593 * genuine Hyper-V. Allow VMREAD from an enlightened VMCS as a in handle_vmread()
5595 * Note, enlightened VMCS is incompatible with shadow VMCS so in handle_vmread()
5680 * In VMX non-root operation, when the VMCS-link pointer is INVALID_GPA, in handle_vmwrite()
5708 * VMCS," then the "read-only" fields are actually read/write. in handle_vmwrite()
5743 * shadow VMCS is up-to-date. in handle_vmwrite()
5752 vmcs_load(vmx->loaded_vmcs->vmcs); in handle_vmwrite()
6005 * VMCS, and so whether or not the current vmcs12 has VPID enabled is in handle_invvpid()
6605 * vmcs.VM_EXIT_INTR_INFO is only valid for EXCEPTION_NMI exits. For in nested_vmx_reflect_vmexit()
6703 * in the shadow or enlightened vmcs linked to vmcs01, unless in vmx_get_nested_state()
6837 /* Empty 'VMXON' state is permitted if no VMCS loaded */ in vmx_set_nested_state()
6952 * Indexing into the vmcs12 uses the VMCS encoding rotated left by 6. Undo
6960 * Note these are the so called "index" of the VMCS field encoding, not in nested_vmx_calc_vmcs_enum_msr()
7104 * We can emulate "VMCS shadowing," even if the hardware in nested_vmx_setup_secondary_ctls()
7181 * guest, and the VMCS structure we give it - not about the in nested_vmx_setup_basic()