Lines Matching full:vmcs

178 	 * We don't need to force sync to shadow VMCS because  in nested_vmx_failValid()
179 * VM_INSTRUCTION_ERROR is not shadowed. Enlightened VMCS 'shadows' all in nested_vmx_failValid()
193 * failValid writes the error number to the current VMCS, which in nested_vmx_fail()
194 * can't be done if there isn't a current VMCS. in nested_vmx_fail()
254 * memory area pointer by vmptr as Enlightened VMCS (as there's no good in nested_evmcs_handle_vmclear()
294 static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) in vmx_switch_vmcs() argument
300 if (WARN_ON_ONCE(vmx->loaded_vmcs == vmcs)) in vmx_switch_vmcs()
305 vmx->loaded_vmcs = vmcs; in vmx_switch_vmcs()
369 * Ensure that the current vmcs of the logical processor is the
489 * check. All VMCS fields involved are 32 bits, but Intel CPUs never in nested_vmx_is_exception_vmexit()
1243 * addresses of VMX structures (e.g. VMCS) to 32-bits. in vmx_restore_vmx_basic()
1536 * Copy the writable VMCS shadow fields back to the VMCS12, in case they have
1541 * configured to support "VMWRITE to any supported field in the VMCS").
1545 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_shadow_to_vmcs12()
1565 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_shadow_to_vmcs12()
1580 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_vmcs12_to_shadow()
1601 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_vmcs12_to_shadow()
2361 /* VMCS shadowing for L2 is emulated for now */ in prepare_vmcs02_early()
2393 * loading PERF_GLOBAL_CTRL via the VMCS for L1, then KVM will want to in prepare_vmcs02_early()
2561 * L2 guest. L1 has a vmcs for L2 (vmcs12), and this function "merges" it
2564 * needs. In addition to modifying the active vmcs (which is vmcs02), this
3621 * Can't VMLAUNCH or VMRESUME a shadow VMCS. Despite the fact in nested_vmx_run()
3622 * that there *is* a valid VMCS pointer, RFLAGS.CF is set in nested_vmx_run()
3633 /* Enlightened VMCS doesn't have launch state */ in nested_vmx_run()
3991 * with the 'pending debug exceptions' field, write the payload to the VMCS
4444 * and we want to prepare to run its L1 parent. L1 keeps a vmcs for L2 (vmcs12),
4448 * Note that we do not have to copy here all VMCS fields, just those that
4464 * On VM-Exit due to a failed VM-Entry, the VMCS isn't marked launched in prepare_vmcs12()
4507 * This function should be called when the active VMCS is L1's (vmcs01).
4783 * Enlightened VMCS after migration and we still need to in nested_vmx_vmexit()
4866 /* Update any VMCS fields that might have changed while L2 ran */ in nested_vmx_vmexit()
4935 * flag and the VM-instruction error field of the VMCS in nested_vmx_vmexit()
5112 * Allocate a shadow VMCS and associate it with the currently loaded
5113 * VMCS, unless such a shadow VMCS already exists. The newly allocated
5114 * VMCS is also VMCLEARed, so that it is ready for use.
5116 static struct vmcs *alloc_shadow_vmcs(struct kvm_vcpu *vcpu) in alloc_shadow_vmcs()
5122 * KVM allocates a shadow VMCS only when L1 executes VMXON and frees it in alloc_shadow_vmcs()
5125 * should be impossible to already have an allocated shadow VMCS. KVM in alloc_shadow_vmcs()
5126 * doesn't support virtualization of VMCS shadowing, so vmcs01 should in alloc_shadow_vmcs()
5127 * always be the loaded VMCS. in alloc_shadow_vmcs()
5261 * VMCS revision identifier in handle_vmxon()
5348 * for VMCLEAR includes a "ensure that data for VMCS referenced in handle_vmclear()
5399 * In VMX non-root operation, when the VMCS-link pointer is INVALID_GPA, in handle_vmread()
5419 * enlightened VMCS is active VMREAD/VMWRITE instructions are in handle_vmread()
5422 * genuine Hyper-V. Allow VMREAD from an enlightened VMCS as a in handle_vmread()
5424 * Note, enlightened VMCS is incompatible with shadow VMCS so in handle_vmread()
5509 * In VMX non-root operation, when the VMCS-link pointer is INVALID_GPA, in handle_vmwrite()
5537 * VMCS," then the "read-only" fields are actually read/write. in handle_vmwrite()
5572 * shadow VMCS is up-to-date. in handle_vmwrite()
5581 vmcs_load(vmx->loaded_vmcs->vmcs); in handle_vmwrite()
6426 * vmcs.VM_EXIT_INTR_INFO is only valid for EXCEPTION_NMI exits. For in nested_vmx_reflect_vmexit()
6524 * in the shadow or enlightened vmcs linked to vmcs01, unless in vmx_get_nested_state()
6658 /* Empty 'VMXON' state is permitted if no VMCS loaded */ in vmx_set_nested_state()
6773 * Indexing into the vmcs12 uses the VMCS encoding rotated left by 6. Undo
6781 * Note these are the so called "index" of the VMCS field encoding, not in nested_vmx_calc_vmcs_enum_msr()
6925 * We can emulate "VMCS shadowing," even if the hardware in nested_vmx_setup_secondary_ctls()
7002 * guest, and the VMCS structure we give it - not about the in nested_vmx_setup_basic()