Changeset 76952 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jan 23, 2019 11:00:57 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128329
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r76875 r76952 2820 2820 2821 2821 /* 2822 * We need to clear the VM-entry interruption information field's valid bit on VM-exit. 2823 * See Intel spec. 24.8.3 "VM-Entry Controls for Event Injection". 2824 */ 2825 pVmcs->u32EntryIntInfo &= ~VMX_ENTRY_INT_INFO_VALID; 2826 2827 /* 2828 * If we support storing EFER.LMA into IA32e-mode guest field on VM-exit, we need to do that now. 2829 * See Intel spec. 27.2 "Recording VM-exit Information And Updating VM-entry Control". 2830 */ 2831 if (IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fVmxExitSaveEferLma) 2832 { 2833 if (pVCpu->cpum.GstCtx.msrEFER & MSR_K6_EFER_LMA) 2834 pVmcs->u32EntryCtls |= VMX_ENTRY_CTLS_IA32E_MODE_GUEST; 2835 else 2836 pVmcs->u32EntryCtls &= ~VMX_ENTRY_CTLS_IA32E_MODE_GUEST; 2837 } 2838 2839 /* 2822 2840 * Save the guest state back into the VMCS. 2823 2841 * We only need to save the state when the VM-entry was successful. … … 3854 3872 if (pVmcs->u32ExitCtls & VMX_EXIT_CTLS_ACK_EXT_INT) 3855 3873 { 3856 uint8_t constfNmiUnblocking = pVCpu->cpum.GstCtx.hwvirt.vmx.fNmiUnblockingIret;3874 bool const fNmiUnblocking = pVCpu->cpum.GstCtx.hwvirt.vmx.fNmiUnblockingIret; 3857 3875 uint32_t const uExitIntInfo = RT_BF_MAKE(VMX_BF_EXIT_INT_INFO_VECTOR, uVector) 3858 3876 | RT_BF_MAKE(VMX_BF_EXIT_INT_INFO_TYPE, VMX_EXIT_INT_INFO_TYPE_EXT_INT) … … 3934 3952 /* Update the IDT-vectoring event in the VMCS as the source of the upcoming event. */ 3935 3953 uint8_t const uIdtVectoringType = iemVmxGetEventType(uVector, fFlags); 3936 uint8_t const fErrCodeValid =(fFlags & IEM_XCPT_FLAGS_ERR);3954 bool const fErrCodeValid = RT_BOOL(fFlags & IEM_XCPT_FLAGS_ERR); 3937 3955 uint32_t const uIdtVectoringInfo = RT_BF_MAKE(VMX_BF_IDT_VECTORING_INFO_VECTOR, uVector) 3938 3956 | RT_BF_MAKE(VMX_BF_IDT_VECTORING_INFO_TYPE, uIdtVectoringType) … … 4016 4034 4017 4035 uint8_t const fNmiUnblocking = pVCpu->cpum.GstCtx.hwvirt.vmx.fNmiUnblockingIret; 4018 uint8_t const fErrCodeValid =(fFlags & IEM_XCPT_FLAGS_ERR);4036 bool const fErrCodeValid = RT_BOOL(fFlags & IEM_XCPT_FLAGS_ERR); 4019 4037 uint8_t const uIntInfoType = iemVmxGetEventType(uVector, fFlags); 4020 4038 uint32_t const uExitIntInfo = RT_BF_MAKE(VMX_BF_EXIT_INT_INFO_VECTOR, uVector)
Note:
See TracChangeset
for help on using the changeset viewer.