Lines Matching refs:vmcs12
207 struct __packed vmcs12 { struct
399 struct vmcs12 *current_vmcs12;
621 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
837 static inline struct vmcs12 *get_vmcs12(struct kvm_vcpu *vcpu) in get_vmcs12()
1190 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has() argument
1192 return vmcs12->cpu_based_vm_exec_control & bit; in nested_cpu_has()
1195 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2() argument
1197 return (vmcs12->cpu_based_vm_exec_control & in nested_cpu_has2()
1199 (vmcs12->secondary_vm_exec_control & bit); in nested_cpu_has2()
1202 static inline bool nested_cpu_has_virtual_nmis(struct vmcs12 *vmcs12) in nested_cpu_has_virtual_nmis() argument
1204 return vmcs12->pin_based_vm_exec_control & PIN_BASED_VIRTUAL_NMIS; in nested_cpu_has_virtual_nmis()
1207 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer() argument
1209 return vmcs12->pin_based_vm_exec_control & in nested_cpu_has_preemption_timer()
1213 static inline int nested_cpu_has_ept(struct vmcs12 *vmcs12) in nested_cpu_has_ept() argument
1215 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_ENABLE_EPT); in nested_cpu_has_ept()
1218 static inline bool nested_cpu_has_xsaves(struct vmcs12 *vmcs12) in nested_cpu_has_xsaves() argument
1220 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_XSAVES) && in nested_cpu_has_xsaves()
1224 static inline bool nested_cpu_has_virt_x2apic_mode(struct vmcs12 *vmcs12) in nested_cpu_has_virt_x2apic_mode() argument
1226 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE); in nested_cpu_has_virt_x2apic_mode()
1229 static inline bool nested_cpu_has_vpid(struct vmcs12 *vmcs12) in nested_cpu_has_vpid() argument
1231 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_ENABLE_VPID); in nested_cpu_has_vpid()
1234 static inline bool nested_cpu_has_apic_reg_virt(struct vmcs12 *vmcs12) in nested_cpu_has_apic_reg_virt() argument
1236 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_APIC_REGISTER_VIRT); in nested_cpu_has_apic_reg_virt()
1239 static inline bool nested_cpu_has_vid(struct vmcs12 *vmcs12) in nested_cpu_has_vid() argument
1241 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); in nested_cpu_has_vid()
1244 static inline bool nested_cpu_has_posted_intr(struct vmcs12 *vmcs12) in nested_cpu_has_posted_intr() argument
1246 return vmcs12->pin_based_vm_exec_control & PIN_BASED_POSTED_INTR; in nested_cpu_has_posted_intr()
1259 struct vmcs12 *vmcs12,
2148 static inline unsigned long nested_read_cr0(struct vmcs12 *fields) in nested_read_cr0()
2153 static inline unsigned long nested_read_cr4(struct vmcs12 *fields) in nested_read_cr4()
2178 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_fpu_deactivate() local
2179 vmcs12->guest_cr0 = (vmcs12->guest_cr0 & ~X86_CR0_TS) | in vmx_fpu_deactivate()
2181 vmcs_writel(CR0_READ_SHADOW, nested_read_cr0(vmcs12)); in vmx_fpu_deactivate()
2261 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_exception() local
2263 if (!(vmcs12->exception_bitmap & (1u << nr))) in nested_vmx_check_exception()
2438 struct vmcs12 *vmcs12; in vmx_write_tsc_offset() local
2441 vmcs12 = get_vmcs12(vcpu); in vmx_write_tsc_offset()
2443 (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETING) ? in vmx_write_tsc_offset()
2444 vmcs12->tsc_offset : 0)); in vmx_write_tsc_offset()
5380 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_cr0_valid() local
5384 nested_cpu_has2(vmcs12, SECONDARY_EXEC_UNRESTRICTED_GUEST)) in nested_cr0_valid()
5393 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local
5404 val = (val & ~vmcs12->cr0_guest_host_mask) | in handle_set_cr0()
5405 (vmcs12->guest_cr0 & vmcs12->cr0_guest_host_mask); in handle_set_cr0()
5425 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr4() local
5429 val = (val & ~vmcs12->cr4_guest_host_mask) | in handle_set_cr4()
5430 (vmcs12->guest_cr4 & vmcs12->cr4_guest_host_mask); in handle_set_cr4()
6907 struct vmcs12 *vmcs12; in handle_vmclear() local
6931 vmcs12 = kmap(page); in handle_vmclear()
6932 vmcs12->launch_state = 0; in handle_vmclear()
7253 struct vmcs12 *new_vmcs12; in handle_vmptrld()
7534 struct vmcs12 *vmcs12) in nested_vmx_exit_handled_io() argument
7542 if (!nested_cpu_has(vmcs12, CPU_BASED_USE_IO_BITMAPS)) in nested_vmx_exit_handled_io()
7543 return nested_cpu_has(vmcs12, CPU_BASED_UNCOND_IO_EXITING); in nested_vmx_exit_handled_io()
7555 bitmap = vmcs12->io_bitmap_a; in nested_vmx_exit_handled_io()
7557 bitmap = vmcs12->io_bitmap_b; in nested_vmx_exit_handled_io()
7583 struct vmcs12 *vmcs12, u32 exit_reason) in nested_vmx_exit_handled_msr() argument
7588 if (!nested_cpu_has(vmcs12, CPU_BASED_USE_MSR_BITMAPS)) in nested_vmx_exit_handled_msr()
7596 bitmap = vmcs12->msr_bitmap; in nested_vmx_exit_handled_msr()
7620 struct vmcs12 *vmcs12) in nested_vmx_exit_handled_cr() argument
7631 if (vmcs12->cr0_guest_host_mask & in nested_vmx_exit_handled_cr()
7632 (val ^ vmcs12->cr0_read_shadow)) in nested_vmx_exit_handled_cr()
7636 if ((vmcs12->cr3_target_count >= 1 && in nested_vmx_exit_handled_cr()
7637 vmcs12->cr3_target_value0 == val) || in nested_vmx_exit_handled_cr()
7638 (vmcs12->cr3_target_count >= 2 && in nested_vmx_exit_handled_cr()
7639 vmcs12->cr3_target_value1 == val) || in nested_vmx_exit_handled_cr()
7640 (vmcs12->cr3_target_count >= 3 && in nested_vmx_exit_handled_cr()
7641 vmcs12->cr3_target_value2 == val) || in nested_vmx_exit_handled_cr()
7642 (vmcs12->cr3_target_count >= 4 && in nested_vmx_exit_handled_cr()
7643 vmcs12->cr3_target_value3 == val)) in nested_vmx_exit_handled_cr()
7645 if (nested_cpu_has(vmcs12, CPU_BASED_CR3_LOAD_EXITING)) in nested_vmx_exit_handled_cr()
7649 if (vmcs12->cr4_guest_host_mask & in nested_vmx_exit_handled_cr()
7650 (vmcs12->cr4_read_shadow ^ val)) in nested_vmx_exit_handled_cr()
7654 if (nested_cpu_has(vmcs12, CPU_BASED_CR8_LOAD_EXITING)) in nested_vmx_exit_handled_cr()
7660 if ((vmcs12->cr0_guest_host_mask & X86_CR0_TS) && in nested_vmx_exit_handled_cr()
7661 (vmcs12->cr0_read_shadow & X86_CR0_TS)) in nested_vmx_exit_handled_cr()
7667 if (vmcs12->cpu_based_vm_exec_control & in nested_vmx_exit_handled_cr()
7672 if (vmcs12->cpu_based_vm_exec_control & in nested_vmx_exit_handled_cr()
7683 if (vmcs12->cr0_guest_host_mask & 0xe & in nested_vmx_exit_handled_cr()
7684 (val ^ vmcs12->cr0_read_shadow)) in nested_vmx_exit_handled_cr()
7686 if ((vmcs12->cr0_guest_host_mask & 0x1) && in nested_vmx_exit_handled_cr()
7687 !(vmcs12->cr0_read_shadow & 0x1) && in nested_vmx_exit_handled_cr()
7704 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_exit_handled() local
7730 !(vmcs12->guest_cr0 & X86_CR0_TS)) in nested_vmx_exit_handled()
7732 return vmcs12->exception_bitmap & in nested_vmx_exit_handled()
7739 return nested_cpu_has(vmcs12, CPU_BASED_VIRTUAL_INTR_PENDING); in nested_vmx_exit_handled()
7741 return nested_cpu_has(vmcs12, CPU_BASED_VIRTUAL_NMI_PENDING); in nested_vmx_exit_handled()
7749 return nested_cpu_has(vmcs12, CPU_BASED_HLT_EXITING); in nested_vmx_exit_handled()
7753 return nested_cpu_has(vmcs12, CPU_BASED_INVLPG_EXITING); in nested_vmx_exit_handled()
7755 return nested_cpu_has(vmcs12, CPU_BASED_RDPMC_EXITING); in nested_vmx_exit_handled()
7757 return nested_cpu_has(vmcs12, CPU_BASED_RDTSC_EXITING); in nested_vmx_exit_handled()
7770 return nested_vmx_exit_handled_cr(vcpu, vmcs12); in nested_vmx_exit_handled()
7772 return nested_cpu_has(vmcs12, CPU_BASED_MOV_DR_EXITING); in nested_vmx_exit_handled()
7774 return nested_vmx_exit_handled_io(vcpu, vmcs12); in nested_vmx_exit_handled()
7777 return nested_vmx_exit_handled_msr(vcpu, vmcs12, exit_reason); in nested_vmx_exit_handled()
7781 return nested_cpu_has(vmcs12, CPU_BASED_MWAIT_EXITING); in nested_vmx_exit_handled()
7783 return nested_cpu_has(vmcs12, CPU_BASED_MONITOR_TRAP_FLAG); in nested_vmx_exit_handled()
7785 return nested_cpu_has(vmcs12, CPU_BASED_MONITOR_EXITING); in nested_vmx_exit_handled()
7787 return nested_cpu_has(vmcs12, CPU_BASED_PAUSE_EXITING) || in nested_vmx_exit_handled()
7788 nested_cpu_has2(vmcs12, in nested_vmx_exit_handled()
7793 return nested_cpu_has(vmcs12, CPU_BASED_TPR_SHADOW); in nested_vmx_exit_handled()
7795 return nested_cpu_has2(vmcs12, in nested_vmx_exit_handled()
7818 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_WBINVD_EXITING); in nested_vmx_exit_handled()
7828 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_XSAVES); in nested_vmx_exit_handled()
7830 return nested_cpu_has2(vmcs12, SECONDARY_EXEC_PCOMMIT); in nested_vmx_exit_handled()
8169 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in update_cr8_intercept() local
8172 nested_cpu_has(vmcs12, CPU_BASED_TPR_SHADOW)) in update_cr8_intercept()
8992 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local
9000 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault()
9029 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument
9034 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit()
9036 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit()
9037 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit()
9044 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_inject_page_fault_nested() local
9048 if (nested_vmx_is_page_fault_vmexit(vmcs12, fault->error_code)) in vmx_inject_page_fault_nested()
9057 struct vmcs12 *vmcs12) in nested_get_vmcs12_pages() argument
9062 if (nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)) { in nested_get_vmcs12_pages()
9063 if (!PAGE_ALIGNED(vmcs12->apic_access_addr) || in nested_get_vmcs12_pages()
9064 vmcs12->apic_access_addr >> maxphyaddr) in nested_get_vmcs12_pages()
9076 nested_get_page(vcpu, vmcs12->apic_access_addr); in nested_get_vmcs12_pages()
9079 if (nested_cpu_has(vmcs12, CPU_BASED_TPR_SHADOW)) { in nested_get_vmcs12_pages()
9080 if (!PAGE_ALIGNED(vmcs12->virtual_apic_page_addr) || in nested_get_vmcs12_pages()
9081 vmcs12->virtual_apic_page_addr >> maxphyaddr) in nested_get_vmcs12_pages()
9087 nested_get_page(vcpu, vmcs12->virtual_apic_page_addr); in nested_get_vmcs12_pages()
9103 if (nested_cpu_has_posted_intr(vmcs12)) { in nested_get_vmcs12_pages()
9104 if (!IS_ALIGNED(vmcs12->posted_intr_desc_addr, 64) || in nested_get_vmcs12_pages()
9105 vmcs12->posted_intr_desc_addr >> maxphyaddr) in nested_get_vmcs12_pages()
9113 nested_get_page(vcpu, vmcs12->posted_intr_desc_addr); in nested_get_vmcs12_pages()
9125 (unsigned long)(vmcs12->posted_intr_desc_addr & in nested_get_vmcs12_pages()
9155 struct vmcs12 *vmcs12) in nested_vmx_check_msr_bitmap_controls() argument
9160 if (!nested_cpu_has(vmcs12, CPU_BASED_USE_MSR_BITMAPS)) in nested_vmx_check_msr_bitmap_controls()
9169 if (!PAGE_ALIGNED(vmcs12->msr_bitmap) || in nested_vmx_check_msr_bitmap_controls()
9181 struct vmcs12 *vmcs12) in nested_vmx_merge_msr_bitmap() argument
9187 if (!nested_cpu_has_virt_x2apic_mode(vmcs12)) in nested_vmx_merge_msr_bitmap()
9190 page = nested_get_page(vcpu, vmcs12->msr_bitmap); in nested_vmx_merge_msr_bitmap()
9202 if (nested_cpu_has_virt_x2apic_mode(vmcs12)) { in nested_vmx_merge_msr_bitmap()
9203 if (nested_cpu_has_apic_reg_virt(vmcs12)) in nested_vmx_merge_msr_bitmap()
9214 if (nested_cpu_has_vid(vmcs12)) { in nested_vmx_merge_msr_bitmap()
9260 struct vmcs12 *vmcs12) in nested_vmx_check_apicv_controls() argument
9262 if (!nested_cpu_has_virt_x2apic_mode(vmcs12) && in nested_vmx_check_apicv_controls()
9263 !nested_cpu_has_apic_reg_virt(vmcs12) && in nested_vmx_check_apicv_controls()
9264 !nested_cpu_has_vid(vmcs12) && in nested_vmx_check_apicv_controls()
9265 !nested_cpu_has_posted_intr(vmcs12)) in nested_vmx_check_apicv_controls()
9272 if (nested_cpu_has_virt_x2apic_mode(vmcs12) && in nested_vmx_check_apicv_controls()
9273 nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)) in nested_vmx_check_apicv_controls()
9280 if (nested_cpu_has_vid(vmcs12) && in nested_vmx_check_apicv_controls()
9289 if (nested_cpu_has_posted_intr(vmcs12) && in nested_vmx_check_apicv_controls()
9290 (!nested_cpu_has_vid(vmcs12) || in nested_vmx_check_apicv_controls()
9292 vmcs12->posted_intr_nv & 0xff00)) in nested_vmx_check_apicv_controls()
9296 if (!nested_cpu_has(vmcs12, CPU_BASED_TPR_SHADOW)) in nested_vmx_check_apicv_controls()
9328 struct vmcs12 *vmcs12) in nested_vmx_check_msr_switch_controls() argument
9330 if (vmcs12->vm_exit_msr_load_count == 0 && in nested_vmx_check_msr_switch_controls()
9331 vmcs12->vm_exit_msr_store_count == 0 && in nested_vmx_check_msr_switch_controls()
9332 vmcs12->vm_entry_msr_load_count == 0) in nested_vmx_check_msr_switch_controls()
9468 static void prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in prepare_vmcs02() argument
9473 vmcs_write16(GUEST_ES_SELECTOR, vmcs12->guest_es_selector); in prepare_vmcs02()
9474 vmcs_write16(GUEST_CS_SELECTOR, vmcs12->guest_cs_selector); in prepare_vmcs02()
9475 vmcs_write16(GUEST_SS_SELECTOR, vmcs12->guest_ss_selector); in prepare_vmcs02()
9476 vmcs_write16(GUEST_DS_SELECTOR, vmcs12->guest_ds_selector); in prepare_vmcs02()
9477 vmcs_write16(GUEST_FS_SELECTOR, vmcs12->guest_fs_selector); in prepare_vmcs02()
9478 vmcs_write16(GUEST_GS_SELECTOR, vmcs12->guest_gs_selector); in prepare_vmcs02()
9479 vmcs_write16(GUEST_LDTR_SELECTOR, vmcs12->guest_ldtr_selector); in prepare_vmcs02()
9480 vmcs_write16(GUEST_TR_SELECTOR, vmcs12->guest_tr_selector); in prepare_vmcs02()
9481 vmcs_write32(GUEST_ES_LIMIT, vmcs12->guest_es_limit); in prepare_vmcs02()
9482 vmcs_write32(GUEST_CS_LIMIT, vmcs12->guest_cs_limit); in prepare_vmcs02()
9483 vmcs_write32(GUEST_SS_LIMIT, vmcs12->guest_ss_limit); in prepare_vmcs02()
9484 vmcs_write32(GUEST_DS_LIMIT, vmcs12->guest_ds_limit); in prepare_vmcs02()
9485 vmcs_write32(GUEST_FS_LIMIT, vmcs12->guest_fs_limit); in prepare_vmcs02()
9486 vmcs_write32(GUEST_GS_LIMIT, vmcs12->guest_gs_limit); in prepare_vmcs02()
9487 vmcs_write32(GUEST_LDTR_LIMIT, vmcs12->guest_ldtr_limit); in prepare_vmcs02()
9488 vmcs_write32(GUEST_TR_LIMIT, vmcs12->guest_tr_limit); in prepare_vmcs02()
9489 vmcs_write32(GUEST_GDTR_LIMIT, vmcs12->guest_gdtr_limit); in prepare_vmcs02()
9490 vmcs_write32(GUEST_IDTR_LIMIT, vmcs12->guest_idtr_limit); in prepare_vmcs02()
9491 vmcs_write32(GUEST_ES_AR_BYTES, vmcs12->guest_es_ar_bytes); in prepare_vmcs02()
9492 vmcs_write32(GUEST_CS_AR_BYTES, vmcs12->guest_cs_ar_bytes); in prepare_vmcs02()
9493 vmcs_write32(GUEST_SS_AR_BYTES, vmcs12->guest_ss_ar_bytes); in prepare_vmcs02()
9494 vmcs_write32(GUEST_DS_AR_BYTES, vmcs12->guest_ds_ar_bytes); in prepare_vmcs02()
9495 vmcs_write32(GUEST_FS_AR_BYTES, vmcs12->guest_fs_ar_bytes); in prepare_vmcs02()
9496 vmcs_write32(GUEST_GS_AR_BYTES, vmcs12->guest_gs_ar_bytes); in prepare_vmcs02()
9497 vmcs_write32(GUEST_LDTR_AR_BYTES, vmcs12->guest_ldtr_ar_bytes); in prepare_vmcs02()
9498 vmcs_write32(GUEST_TR_AR_BYTES, vmcs12->guest_tr_ar_bytes); in prepare_vmcs02()
9499 vmcs_writel(GUEST_ES_BASE, vmcs12->guest_es_base); in prepare_vmcs02()
9500 vmcs_writel(GUEST_CS_BASE, vmcs12->guest_cs_base); in prepare_vmcs02()
9501 vmcs_writel(GUEST_SS_BASE, vmcs12->guest_ss_base); in prepare_vmcs02()
9502 vmcs_writel(GUEST_DS_BASE, vmcs12->guest_ds_base); in prepare_vmcs02()
9503 vmcs_writel(GUEST_FS_BASE, vmcs12->guest_fs_base); in prepare_vmcs02()
9504 vmcs_writel(GUEST_GS_BASE, vmcs12->guest_gs_base); in prepare_vmcs02()
9505 vmcs_writel(GUEST_LDTR_BASE, vmcs12->guest_ldtr_base); in prepare_vmcs02()
9506 vmcs_writel(GUEST_TR_BASE, vmcs12->guest_tr_base); in prepare_vmcs02()
9507 vmcs_writel(GUEST_GDTR_BASE, vmcs12->guest_gdtr_base); in prepare_vmcs02()
9508 vmcs_writel(GUEST_IDTR_BASE, vmcs12->guest_idtr_base); in prepare_vmcs02()
9510 if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS) { in prepare_vmcs02()
9511 kvm_set_dr(vcpu, 7, vmcs12->guest_dr7); in prepare_vmcs02()
9512 vmcs_write64(GUEST_IA32_DEBUGCTL, vmcs12->guest_ia32_debugctl); in prepare_vmcs02()
9518 vmcs12->vm_entry_intr_info_field); in prepare_vmcs02()
9520 vmcs12->vm_entry_exception_error_code); in prepare_vmcs02()
9522 vmcs12->vm_entry_instruction_len); in prepare_vmcs02()
9524 vmcs12->guest_interruptibility_info); in prepare_vmcs02()
9525 vmcs_write32(GUEST_SYSENTER_CS, vmcs12->guest_sysenter_cs); in prepare_vmcs02()
9526 vmx_set_rflags(vcpu, vmcs12->guest_rflags); in prepare_vmcs02()
9528 vmcs12->guest_pending_dbg_exceptions); in prepare_vmcs02()
9529 vmcs_writel(GUEST_SYSENTER_ESP, vmcs12->guest_sysenter_esp); in prepare_vmcs02()
9530 vmcs_writel(GUEST_SYSENTER_EIP, vmcs12->guest_sysenter_eip); in prepare_vmcs02()
9532 if (nested_cpu_has_xsaves(vmcs12)) in prepare_vmcs02()
9533 vmcs_write64(XSS_EXIT_BITMAP, vmcs12->xss_exit_bitmap); in prepare_vmcs02()
9536 exec_control = vmcs12->pin_based_vm_exec_control; in prepare_vmcs02()
9540 if (nested_cpu_has_posted_intr(vmcs12)) { in prepare_vmcs02()
9545 vmx->nested.posted_intr_nv = vmcs12->posted_intr_nv; in prepare_vmcs02()
9550 (unsigned long)(vmcs12->posted_intr_desc_addr & in prepare_vmcs02()
9558 if (nested_cpu_has_preemption_timer(vmcs12)) in prepare_vmcs02()
9582 enable_ept ? vmcs12->page_fault_error_code_mask : 0); in prepare_vmcs02()
9584 enable_ept ? vmcs12->page_fault_error_code_match : 0); in prepare_vmcs02()
9595 if (nested_cpu_has(vmcs12, in prepare_vmcs02()
9597 exec_control |= vmcs12->secondary_vm_exec_control; in prepare_vmcs02()
9612 } else if (!(nested_cpu_has_virt_x2apic_mode(vmcs12)) && in prepare_vmcs02()
9621 vmcs12->eoi_exit_bitmap0); in prepare_vmcs02()
9623 vmcs12->eoi_exit_bitmap1); in prepare_vmcs02()
9625 vmcs12->eoi_exit_bitmap2); in prepare_vmcs02()
9627 vmcs12->eoi_exit_bitmap3); in prepare_vmcs02()
9629 vmcs12->guest_intr_status); in prepare_vmcs02()
9657 exec_control |= vmcs12->cpu_based_vm_exec_control; in prepare_vmcs02()
9662 vmcs_write32(TPR_THRESHOLD, vmcs12->tpr_threshold); in prepare_vmcs02()
9667 nested_vmx_merge_msr_bitmap(vcpu, vmcs12); in prepare_vmcs02()
9686 vcpu->arch.cr0_guest_owned_bits &= ~vmcs12->cr0_guest_host_mask; in prepare_vmcs02()
9699 (vmcs12->vm_entry_controls & ~VM_ENTRY_LOAD_IA32_EFER & in prepare_vmcs02()
9703 if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_PAT) { in prepare_vmcs02()
9704 vmcs_write64(GUEST_IA32_PAT, vmcs12->guest_ia32_pat); in prepare_vmcs02()
9705 vcpu->arch.pat = vmcs12->guest_ia32_pat; in prepare_vmcs02()
9712 if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_BNDCFGS) in prepare_vmcs02()
9713 vmcs_write64(GUEST_BNDCFGS, vmcs12->guest_bndcfgs); in prepare_vmcs02()
9715 if (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETING) in prepare_vmcs02()
9717 vmx->nested.vmcs01_tsc_offset + vmcs12->tsc_offset); in prepare_vmcs02()
9730 if (nested_cpu_has_vpid(vmcs12) && vmx->nested.vpid02) { in prepare_vmcs02()
9732 if (vmcs12->virtual_processor_id != vmx->nested.last_vpid) { in prepare_vmcs02()
9733 vmx->nested.last_vpid = vmcs12->virtual_processor_id; in prepare_vmcs02()
9743 if (nested_cpu_has_ept(vmcs12)) { in prepare_vmcs02()
9748 if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_EFER) in prepare_vmcs02()
9749 vcpu->arch.efer = vmcs12->guest_ia32_efer; in prepare_vmcs02()
9750 else if (vmcs12->vm_entry_controls & VM_ENTRY_IA32E_MODE) in prepare_vmcs02()
9765 vmx_set_cr0(vcpu, vmcs12->guest_cr0); in prepare_vmcs02()
9766 vmcs_writel(CR0_READ_SHADOW, nested_read_cr0(vmcs12)); in prepare_vmcs02()
9768 vmx_set_cr4(vcpu, vmcs12->guest_cr4); in prepare_vmcs02()
9769 vmcs_writel(CR4_READ_SHADOW, nested_read_cr4(vmcs12)); in prepare_vmcs02()
9772 kvm_set_cr3(vcpu, vmcs12->guest_cr3); in prepare_vmcs02()
9782 vmcs_write64(GUEST_PDPTR0, vmcs12->guest_pdptr0); in prepare_vmcs02()
9783 vmcs_write64(GUEST_PDPTR1, vmcs12->guest_pdptr1); in prepare_vmcs02()
9784 vmcs_write64(GUEST_PDPTR2, vmcs12->guest_pdptr2); in prepare_vmcs02()
9785 vmcs_write64(GUEST_PDPTR3, vmcs12->guest_pdptr3); in prepare_vmcs02()
9788 kvm_register_write(vcpu, VCPU_REGS_RSP, vmcs12->guest_rsp); in prepare_vmcs02()
9789 kvm_register_write(vcpu, VCPU_REGS_RIP, vmcs12->guest_rip); in prepare_vmcs02()
9798 struct vmcs12 *vmcs12; in nested_vmx_run() local
9810 vmcs12 = get_vmcs12(vcpu); in nested_vmx_run()
9825 if (vmcs12->launch_state == launch) { in nested_vmx_run()
9832 if (vmcs12->guest_activity_state != GUEST_ACTIVITY_ACTIVE && in nested_vmx_run()
9833 vmcs12->guest_activity_state != GUEST_ACTIVITY_HLT) { in nested_vmx_run()
9838 if (!nested_get_vmcs12_pages(vcpu, vmcs12)) { in nested_vmx_run()
9843 if (nested_vmx_check_msr_bitmap_controls(vcpu, vmcs12)) { in nested_vmx_run()
9848 if (nested_vmx_check_apicv_controls(vcpu, vmcs12)) { in nested_vmx_run()
9853 if (nested_vmx_check_msr_switch_controls(vcpu, vmcs12)) { in nested_vmx_run()
9858 if (!vmx_control_verify(vmcs12->cpu_based_vm_exec_control, in nested_vmx_run()
9861 !vmx_control_verify(vmcs12->secondary_vm_exec_control, in nested_vmx_run()
9864 !vmx_control_verify(vmcs12->pin_based_vm_exec_control, in nested_vmx_run()
9867 !vmx_control_verify(vmcs12->vm_exit_controls, in nested_vmx_run()
9870 !vmx_control_verify(vmcs12->vm_entry_controls, in nested_vmx_run()
9878 if (((vmcs12->host_cr0 & VMXON_CR0_ALWAYSON) != VMXON_CR0_ALWAYSON) || in nested_vmx_run()
9879 ((vmcs12->host_cr4 & VMXON_CR4_ALWAYSON) != VMXON_CR4_ALWAYSON)) { in nested_vmx_run()
9885 if (!nested_cr0_valid(vcpu, vmcs12->guest_cr0) || in nested_vmx_run()
9886 ((vmcs12->guest_cr4 & VMXON_CR4_ALWAYSON) != VMXON_CR4_ALWAYSON)) { in nested_vmx_run()
9887 nested_vmx_entry_failure(vcpu, vmcs12, in nested_vmx_run()
9891 if (vmcs12->vmcs_link_pointer != -1ull) { in nested_vmx_run()
9892 nested_vmx_entry_failure(vcpu, vmcs12, in nested_vmx_run()
9906 if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_EFER) { in nested_vmx_run()
9907 ia32e = (vmcs12->vm_entry_controls & VM_ENTRY_IA32E_MODE) != 0; in nested_vmx_run()
9908 if (!kvm_valid_efer(vcpu, vmcs12->guest_ia32_efer) || in nested_vmx_run()
9909 ia32e != !!(vmcs12->guest_ia32_efer & EFER_LMA) || in nested_vmx_run()
9910 ((vmcs12->guest_cr0 & X86_CR0_PG) && in nested_vmx_run()
9911 ia32e != !!(vmcs12->guest_ia32_efer & EFER_LME))) { in nested_vmx_run()
9912 nested_vmx_entry_failure(vcpu, vmcs12, in nested_vmx_run()
9924 if (vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_EFER) { in nested_vmx_run()
9925 ia32e = (vmcs12->vm_exit_controls & in nested_vmx_run()
9927 if (!kvm_valid_efer(vcpu, vmcs12->host_ia32_efer) || in nested_vmx_run()
9928 ia32e != !!(vmcs12->host_ia32_efer & EFER_LMA) || in nested_vmx_run()
9929 ia32e != !!(vmcs12->host_ia32_efer & EFER_LME)) { in nested_vmx_run()
9930 nested_vmx_entry_failure(vcpu, vmcs12, in nested_vmx_run()
9949 if (!(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS)) in nested_vmx_run()
9961 prepare_vmcs02(vcpu, vmcs12); in nested_vmx_run()
9964 vmcs12->vm_entry_msr_load_addr, in nested_vmx_run()
9965 vmcs12->vm_entry_msr_load_count); in nested_vmx_run()
9969 nested_vmx_entry_failure(vcpu, vmcs12, in nested_vmx_run()
9974 vmcs12->launch_state = 1; in nested_vmx_run()
9976 if (vmcs12->guest_activity_state == GUEST_ACTIVITY_HLT) in nested_vmx_run()
10008 vmcs12_guest_cr0(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmcs12_guest_cr0() argument
10012 /*2*/ (vmcs12->guest_cr0 & vmcs12->cr0_guest_host_mask) | in vmcs12_guest_cr0()
10013 /*3*/ (vmcs_readl(CR0_READ_SHADOW) & ~(vmcs12->cr0_guest_host_mask | in vmcs12_guest_cr0()
10018 vmcs12_guest_cr4(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmcs12_guest_cr4() argument
10022 /*2*/ (vmcs12->guest_cr4 & vmcs12->cr4_guest_host_mask) | in vmcs12_guest_cr4()
10023 /*3*/ (vmcs_readl(CR4_READ_SHADOW) & ~(vmcs12->cr4_guest_host_mask | in vmcs12_guest_cr4()
10028 struct vmcs12 *vmcs12) in vmcs12_save_pending_event() argument
10038 vmcs12->vm_exit_instruction_len = in vmcs12_save_pending_event()
10046 vmcs12->idt_vectoring_error_code = in vmcs12_save_pending_event()
10050 vmcs12->idt_vectoring_info_field = idt_vectoring; in vmcs12_save_pending_event()
10052 vmcs12->idt_vectoring_info_field = in vmcs12_save_pending_event()
10060 vmcs12->vm_entry_instruction_len = in vmcs12_save_pending_event()
10065 vmcs12->idt_vectoring_info_field = idt_vectoring; in vmcs12_save_pending_event()
10133 static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, in prepare_vmcs12() argument
10138 vmcs12->guest_cr0 = vmcs12_guest_cr0(vcpu, vmcs12); in prepare_vmcs12()
10139 vmcs12->guest_cr4 = vmcs12_guest_cr4(vcpu, vmcs12); in prepare_vmcs12()
10141 vmcs12->guest_rsp = kvm_register_read(vcpu, VCPU_REGS_RSP); in prepare_vmcs12()
10142 vmcs12->guest_rip = kvm_register_read(vcpu, VCPU_REGS_RIP); in prepare_vmcs12()
10143 vmcs12->guest_rflags = vmcs_readl(GUEST_RFLAGS); in prepare_vmcs12()
10145 vmcs12->guest_es_selector = vmcs_read16(GUEST_ES_SELECTOR); in prepare_vmcs12()
10146 vmcs12->guest_cs_selector = vmcs_read16(GUEST_CS_SELECTOR); in prepare_vmcs12()
10147 vmcs12->guest_ss_selector = vmcs_read16(GUEST_SS_SELECTOR); in prepare_vmcs12()
10148 vmcs12->guest_ds_selector = vmcs_read16(GUEST_DS_SELECTOR); in prepare_vmcs12()
10149 vmcs12->guest_fs_selector = vmcs_read16(GUEST_FS_SELECTOR); in prepare_vmcs12()
10150 vmcs12->guest_gs_selector = vmcs_read16(GUEST_GS_SELECTOR); in prepare_vmcs12()
10151 vmcs12->guest_ldtr_selector = vmcs_read16(GUEST_LDTR_SELECTOR); in prepare_vmcs12()
10152 vmcs12->guest_tr_selector = vmcs_read16(GUEST_TR_SELECTOR); in prepare_vmcs12()
10153 vmcs12->guest_es_limit = vmcs_read32(GUEST_ES_LIMIT); in prepare_vmcs12()
10154 vmcs12->guest_cs_limit = vmcs_read32(GUEST_CS_LIMIT); in prepare_vmcs12()
10155 vmcs12->guest_ss_limit = vmcs_read32(GUEST_SS_LIMIT); in prepare_vmcs12()
10156 vmcs12->guest_ds_limit = vmcs_read32(GUEST_DS_LIMIT); in prepare_vmcs12()
10157 vmcs12->guest_fs_limit = vmcs_read32(GUEST_FS_LIMIT); in prepare_vmcs12()
10158 vmcs12->guest_gs_limit = vmcs_read32(GUEST_GS_LIMIT); in prepare_vmcs12()
10159 vmcs12->guest_ldtr_limit = vmcs_read32(GUEST_LDTR_LIMIT); in prepare_vmcs12()
10160 vmcs12->guest_tr_limit = vmcs_read32(GUEST_TR_LIMIT); in prepare_vmcs12()
10161 vmcs12->guest_gdtr_limit = vmcs_read32(GUEST_GDTR_LIMIT); in prepare_vmcs12()
10162 vmcs12->guest_idtr_limit = vmcs_read32(GUEST_IDTR_LIMIT); in prepare_vmcs12()
10163 vmcs12->guest_es_ar_bytes = vmcs_read32(GUEST_ES_AR_BYTES); in prepare_vmcs12()
10164 vmcs12->guest_cs_ar_bytes = vmcs_read32(GUEST_CS_AR_BYTES); in prepare_vmcs12()
10165 vmcs12->guest_ss_ar_bytes = vmcs_read32(GUEST_SS_AR_BYTES); in prepare_vmcs12()
10166 vmcs12->guest_ds_ar_bytes = vmcs_read32(GUEST_DS_AR_BYTES); in prepare_vmcs12()
10167 vmcs12->guest_fs_ar_bytes = vmcs_read32(GUEST_FS_AR_BYTES); in prepare_vmcs12()
10168 vmcs12->guest_gs_ar_bytes = vmcs_read32(GUEST_GS_AR_BYTES); in prepare_vmcs12()
10169 vmcs12->guest_ldtr_ar_bytes = vmcs_read32(GUEST_LDTR_AR_BYTES); in prepare_vmcs12()
10170 vmcs12->guest_tr_ar_bytes = vmcs_read32(GUEST_TR_AR_BYTES); in prepare_vmcs12()
10171 vmcs12->guest_es_base = vmcs_readl(GUEST_ES_BASE); in prepare_vmcs12()
10172 vmcs12->guest_cs_base = vmcs_readl(GUEST_CS_BASE); in prepare_vmcs12()
10173 vmcs12->guest_ss_base = vmcs_readl(GUEST_SS_BASE); in prepare_vmcs12()
10174 vmcs12->guest_ds_base = vmcs_readl(GUEST_DS_BASE); in prepare_vmcs12()
10175 vmcs12->guest_fs_base = vmcs_readl(GUEST_FS_BASE); in prepare_vmcs12()
10176 vmcs12->guest_gs_base = vmcs_readl(GUEST_GS_BASE); in prepare_vmcs12()
10177 vmcs12->guest_ldtr_base = vmcs_readl(GUEST_LDTR_BASE); in prepare_vmcs12()
10178 vmcs12->guest_tr_base = vmcs_readl(GUEST_TR_BASE); in prepare_vmcs12()
10179 vmcs12->guest_gdtr_base = vmcs_readl(GUEST_GDTR_BASE); in prepare_vmcs12()
10180 vmcs12->guest_idtr_base = vmcs_readl(GUEST_IDTR_BASE); in prepare_vmcs12()
10182 vmcs12->guest_interruptibility_info = in prepare_vmcs12()
10184 vmcs12->guest_pending_dbg_exceptions = in prepare_vmcs12()
10187 vmcs12->guest_activity_state = GUEST_ACTIVITY_HLT; in prepare_vmcs12()
10189 vmcs12->guest_activity_state = GUEST_ACTIVITY_ACTIVE; in prepare_vmcs12()
10191 if (nested_cpu_has_preemption_timer(vmcs12)) { in prepare_vmcs12()
10192 if (vmcs12->vm_exit_controls & in prepare_vmcs12()
10194 vmcs12->vmx_preemption_timer_value = in prepare_vmcs12()
10208 vmcs12->guest_cr3 = vmcs_read64(GUEST_CR3); in prepare_vmcs12()
10209 vmcs12->guest_pdptr0 = vmcs_read64(GUEST_PDPTR0); in prepare_vmcs12()
10210 vmcs12->guest_pdptr1 = vmcs_read64(GUEST_PDPTR1); in prepare_vmcs12()
10211 vmcs12->guest_pdptr2 = vmcs_read64(GUEST_PDPTR2); in prepare_vmcs12()
10212 vmcs12->guest_pdptr3 = vmcs_read64(GUEST_PDPTR3); in prepare_vmcs12()
10215 if (nested_cpu_has_vid(vmcs12)) in prepare_vmcs12()
10216 vmcs12->guest_intr_status = vmcs_read16(GUEST_INTR_STATUS); in prepare_vmcs12()
10218 vmcs12->vm_entry_controls = in prepare_vmcs12()
10219 (vmcs12->vm_entry_controls & ~VM_ENTRY_IA32E_MODE) | in prepare_vmcs12()
10222 if (vmcs12->vm_exit_controls & VM_EXIT_SAVE_DEBUG_CONTROLS) { in prepare_vmcs12()
10223 kvm_get_dr(vcpu, 7, (unsigned long *)&vmcs12->guest_dr7); in prepare_vmcs12()
10224 vmcs12->guest_ia32_debugctl = vmcs_read64(GUEST_IA32_DEBUGCTL); in prepare_vmcs12()
10229 if (vmcs12->vm_exit_controls & VM_EXIT_SAVE_IA32_PAT) in prepare_vmcs12()
10230 vmcs12->guest_ia32_pat = vmcs_read64(GUEST_IA32_PAT); in prepare_vmcs12()
10231 if (vmcs12->vm_exit_controls & VM_EXIT_SAVE_IA32_EFER) in prepare_vmcs12()
10232 vmcs12->guest_ia32_efer = vcpu->arch.efer; in prepare_vmcs12()
10233 vmcs12->guest_sysenter_cs = vmcs_read32(GUEST_SYSENTER_CS); in prepare_vmcs12()
10234 vmcs12->guest_sysenter_esp = vmcs_readl(GUEST_SYSENTER_ESP); in prepare_vmcs12()
10235 vmcs12->guest_sysenter_eip = vmcs_readl(GUEST_SYSENTER_EIP); in prepare_vmcs12()
10237 vmcs12->guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS); in prepare_vmcs12()
10238 if (nested_cpu_has_xsaves(vmcs12)) in prepare_vmcs12()
10239 vmcs12->xss_exit_bitmap = vmcs_read64(XSS_EXIT_BITMAP); in prepare_vmcs12()
10243 vmcs12->vm_exit_reason = exit_reason; in prepare_vmcs12()
10244 vmcs12->exit_qualification = exit_qualification; in prepare_vmcs12()
10246 vmcs12->vm_exit_intr_info = exit_intr_info; in prepare_vmcs12()
10247 if ((vmcs12->vm_exit_intr_info & in prepare_vmcs12()
10250 vmcs12->vm_exit_intr_error_code = in prepare_vmcs12()
10252 vmcs12->idt_vectoring_info_field = 0; in prepare_vmcs12()
10253 vmcs12->vm_exit_instruction_len = vmcs_read32(VM_EXIT_INSTRUCTION_LEN); in prepare_vmcs12()
10254 vmcs12->vmx_instruction_info = vmcs_read32(VMX_INSTRUCTION_INFO); in prepare_vmcs12()
10256 if (!(vmcs12->vm_exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY)) { in prepare_vmcs12()
10259 vmcs12->vm_entry_intr_info_field &= ~INTR_INFO_VALID_MASK; in prepare_vmcs12()
10265 vmcs12_save_pending_event(vcpu, vmcs12); in prepare_vmcs12()
10287 struct vmcs12 *vmcs12) in load_vmcs12_host_state() argument
10291 if (vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_EFER) in load_vmcs12_host_state()
10292 vcpu->arch.efer = vmcs12->host_ia32_efer; in load_vmcs12_host_state()
10293 else if (vmcs12->vm_exit_controls & VM_EXIT_HOST_ADDR_SPACE_SIZE) in load_vmcs12_host_state()
10299 kvm_register_write(vcpu, VCPU_REGS_RSP, vmcs12->host_rsp); in load_vmcs12_host_state()
10300 kvm_register_write(vcpu, VCPU_REGS_RIP, vmcs12->host_rip); in load_vmcs12_host_state()
10308 vmx_set_cr0(vcpu, vmcs12->host_cr0); in load_vmcs12_host_state()
10323 kvm_set_cr4(vcpu, vmcs12->host_cr4); in load_vmcs12_host_state()
10327 kvm_set_cr3(vcpu, vmcs12->host_cr3); in load_vmcs12_host_state()
10343 vmcs_write32(GUEST_SYSENTER_CS, vmcs12->host_ia32_sysenter_cs); in load_vmcs12_host_state()
10344 vmcs_writel(GUEST_SYSENTER_ESP, vmcs12->host_ia32_sysenter_esp); in load_vmcs12_host_state()
10345 vmcs_writel(GUEST_SYSENTER_EIP, vmcs12->host_ia32_sysenter_eip); in load_vmcs12_host_state()
10346 vmcs_writel(GUEST_IDTR_BASE, vmcs12->host_idtr_base); in load_vmcs12_host_state()
10347 vmcs_writel(GUEST_GDTR_BASE, vmcs12->host_gdtr_base); in load_vmcs12_host_state()
10350 if (vmcs12->vm_exit_controls & VM_EXIT_CLEAR_BNDCFGS) in load_vmcs12_host_state()
10353 if (vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_PAT) { in load_vmcs12_host_state()
10354 vmcs_write64(GUEST_IA32_PAT, vmcs12->host_ia32_pat); in load_vmcs12_host_state()
10355 vcpu->arch.pat = vmcs12->host_ia32_pat; in load_vmcs12_host_state()
10357 if (vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL) in load_vmcs12_host_state()
10359 vmcs12->host_ia32_perf_global_ctrl); in load_vmcs12_host_state()
10366 .selector = vmcs12->host_cs_selector, in load_vmcs12_host_state()
10372 if (vmcs12->vm_exit_controls & VM_EXIT_HOST_ADDR_SPACE_SIZE) in load_vmcs12_host_state()
10386 seg.selector = vmcs12->host_ds_selector; in load_vmcs12_host_state()
10388 seg.selector = vmcs12->host_es_selector; in load_vmcs12_host_state()
10390 seg.selector = vmcs12->host_ss_selector; in load_vmcs12_host_state()
10392 seg.selector = vmcs12->host_fs_selector; in load_vmcs12_host_state()
10393 seg.base = vmcs12->host_fs_base; in load_vmcs12_host_state()
10395 seg.selector = vmcs12->host_gs_selector; in load_vmcs12_host_state()
10396 seg.base = vmcs12->host_gs_base; in load_vmcs12_host_state()
10399 .base = vmcs12->host_tr_base, in load_vmcs12_host_state()
10401 .selector = vmcs12->host_tr_selector, in load_vmcs12_host_state()
10413 if (nested_vmx_load_msr(vcpu, vmcs12->vm_exit_msr_load_addr, in load_vmcs12_host_state()
10414 vmcs12->vm_exit_msr_load_count)) in load_vmcs12_host_state()
10428 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_vmexit() local
10434 prepare_vmcs12(vcpu, vmcs12, exit_reason, exit_intr_info, in nested_vmx_vmexit()
10437 if (nested_vmx_store_msr(vcpu, vmcs12->vm_exit_msr_store_addr, in nested_vmx_vmexit()
10438 vmcs12->vm_exit_msr_store_count)) in nested_vmx_vmexit()
10447 vmcs12->vm_exit_intr_info = irq | in nested_vmx_vmexit()
10451 trace_kvm_nested_vmexit_inject(vmcs12->vm_exit_reason, in nested_vmx_vmexit()
10452 vmcs12->exit_qualification, in nested_vmx_vmexit()
10453 vmcs12->idt_vectoring_info_field, in nested_vmx_vmexit()
10454 vmcs12->vm_exit_intr_info, in nested_vmx_vmexit()
10455 vmcs12->vm_exit_intr_error_code, in nested_vmx_vmexit()
10466 load_vmcs12_host_state(vcpu, vmcs12); in nested_vmx_vmexit()
10531 struct vmcs12 *vmcs12, in nested_vmx_entry_failure() argument
10534 load_vmcs12_host_state(vcpu, vmcs12); in nested_vmx_entry_failure()
10535 vmcs12->vm_exit_reason = reason | VMX_EXIT_REASONS_FAILED_VMENTRY; in nested_vmx_entry_failure()
10536 vmcs12->exit_qualification = qualification; in nested_vmx_entry_failure()