Changeset 87541 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Feb 2, 2021 4:33:51 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142567
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMVMXAll.cpp
r87515 r87541 766 766 if (pVM->hm.s.vmx.fEnabled) 767 767 { 768 uint32_t uCr0Mask;769 770 768 /* If bit N is set in cr0_fixed0, then it must be set in the guest's cr0. */ 771 u Cr0Mask = (uint32_t)pVM->hm.s.vmx.Msrs.u64Cr0Fixed0;769 uint32_t uCr0Mask = (uint32_t)CTX_EXPR(pVM->hm.s.vmx.Msrs.u64Cr0Fixed0, g_HmMsrs.u.vmx.u64Cr0Fixed0, RT_NOTHING); 772 770 773 771 /* We ignore the NE bit here on purpose; see HMR0.cpp for details. */ … … 788 786 789 787 /* If bit N is cleared in cr0_fixed1, then it must be zero in the guest's cr0. */ 790 uCr0Mask = (uint32_t)~ pVM->hm.s.vmx.Msrs.u64Cr0Fixed1;788 uCr0Mask = (uint32_t)~CTX_EXPR(pVM->hm.s.vmx.Msrs.u64Cr0Fixed1, g_HmMsrs.u.vmx.u64Cr0Fixed1, RT_NOTHING); 791 789 if ((pCtx->cr0 & uCr0Mask) != 0) 792 790 return false; 793 791 794 792 /* If bit N is set in cr4_fixed0, then it must be set in the guest's cr4. */ 795 uCr0Mask = (uint32_t) pVM->hm.s.vmx.Msrs.u64Cr4Fixed0;793 uCr0Mask = (uint32_t)CTX_EXPR(pVM->hm.s.vmx.Msrs.u64Cr4Fixed0, g_HmMsrs.u.vmx.u64Cr4Fixed0, RT_NOTHING); 796 794 uCr0Mask &= ~X86_CR4_VMXE; 797 795 if ((pCtx->cr4 & uCr0Mask) != uCr0Mask) … … 799 797 800 798 /* If bit N is cleared in cr4_fixed1, then it must be zero in the guest's cr4. */ 801 uCr0Mask = (uint32_t)~ pVM->hm.s.vmx.Msrs.u64Cr4Fixed1;799 uCr0Mask = (uint32_t)~CTX_EXPR(pVM->hm.s.vmx.Msrs.u64Cr4Fixed1, g_HmMsrs.u.vmx.u64Cr4Fixed1, RT_NOTHING); 802 800 if ((pCtx->cr4 & uCr0Mask) != 0) 803 801 return false;
Note:
See TracChangeset
for help on using the changeset viewer.