Changeset 91323 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Sep 22, 2021 10:04:56 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 146984
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp
r91266 r91323 236 236 } 237 237 238 /** 239 * Get IA32_FEATURE_CONTROL value for IEM, NEM and cpumMsrRd_Ia32FeatureControl. 240 * 241 * @returns IA32_FEATURE_CONTROL value. 242 * @param pVCpu The cross context per CPU structure. 243 */ 244 VMM_INT_DECL(uint64_t) CPUMGetGuestIa32FeatCtrl(PCVMCPUCC pVCpu) 245 { 246 uint64_t uFeatCtrlMsr = MSR_IA32_FEATURE_CONTROL_LOCK; 247 if (pVCpu->CTX_SUFF(pVM)->cpum.s.GuestFeatures.fVmx) 248 uFeatCtrlMsr |= MSR_IA32_FEATURE_CONTROL_VMXON; 249 return uFeatCtrlMsr; 250 } 251 238 252 239 253 /** @callback_method_impl{FNCPUMRDMSR} */ … … 241 255 { 242 256 RT_NOREF_PV(idMsr); RT_NOREF_PV(pRange); 243 *puValue = pVCpu->cpum.s.Guest.hwvirt.vmx.Msrs.u64FeatCtrl;257 *puValue = CPUMGetGuestIa32FeatCtrl(pVCpu); 244 258 return VINF_SUCCESS; 245 259 } -
trunk/src/VBox/VMM/VMMAll/HMAll.cpp
r91271 r91323 821 821 AssertReturnVoid(pHwvirtMsrs); 822 822 AssertReturnVoid(pVmxMsrs); 823 pVmxMsrs->u64FeatCtrl = pHwvirtMsrs->u.vmx.u64FeatCtrl;824 823 pVmxMsrs->u64Basic = pHwvirtMsrs->u.vmx.u64Basic; 825 824 pVmxMsrs->PinCtls.u = pHwvirtMsrs->u.vmx.PinCtls.u; -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r91305 r91323 8495 8495 8496 8496 /* Feature control MSR's LOCK and VMXON bits. */ 8497 uint64_t const uMsrFeatCtl = pVCpu->cpum.GstCtx.hwvirt.vmx.Msrs.u64FeatCtrl;8497 uint64_t const uMsrFeatCtl = CPUMGetGuestIa32FeatCtrl(pVCpu); 8498 8498 if ((uMsrFeatCtl & (MSR_IA32_FEATURE_CONTROL_LOCK | MSR_IA32_FEATURE_CONTROL_VMXON)) 8499 8499 == (MSR_IA32_FEATURE_CONTROL_LOCK | MSR_IA32_FEATURE_CONTROL_VMXON))
Note:
See TracChangeset
for help on using the changeset viewer.