VirtualBox

Ignore:
Timestamp:
Jul 20, 2018 3:40:10 PM (6 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:9180 Reports bits of IA32_FEATURE_CONTROL, start implementing IA32_VMX_BASIC MSRs, cleanups.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r73266 r73274  
    790790    {
    791791        /* Write the VMCS revision dword to the VMXON region. */
    792         *(uint32_t *)pvCpuPage = MSR_IA32_VMX_BASIC_INFO_VMCS_ID(pVM->hm.s.vmx.Msrs.u64BasicInfo);
     792        *(uint32_t *)pvCpuPage = MSR_IA32_VMX_BASIC_VMCS_ID(pVM->hm.s.vmx.Msrs.u64BasicInfo);
    793793    }
    794794
     
    968968
    969969    /* The VMCS size cannot be more than 4096 bytes. See Intel spec. Appendix A.1 "Basic VMX Information". */
    970     AssertReturnStmt(MSR_IA32_VMX_BASIC_INFO_VMCS_SIZE(pVM->hm.s.vmx.Msrs.u64BasicInfo) <= PAGE_SIZE,
     970    AssertReturnStmt(MSR_IA32_VMX_BASIC_VMCS_SIZE(pVM->hm.s.vmx.Msrs.u64BasicInfo) <= PAGE_SIZE,
    971971                     (&pVM->aCpus[0])->hm.s.u32HMError = VMX_UFC_INVALID_VMCS_SIZE,
    972972                     VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO);
     
    27852785
    27862786        /* Set revision dword at the beginning of the VMCS structure. */
    2787         *(uint32_t *)pVCpu->hm.s.vmx.pvVmcs = MSR_IA32_VMX_BASIC_INFO_VMCS_ID(pVM->hm.s.vmx.Msrs.u64BasicInfo);
     2787        *(uint32_t *)pVCpu->hm.s.vmx.pvVmcs = MSR_IA32_VMX_BASIC_VMCS_ID(pVM->hm.s.vmx.Msrs.u64BasicInfo);
    27882788
    27892789        /* Initialize our VMCS region in memory, set the VMCS launch state to "clear". */
     
    1213112131            Log4(("CS:RIP=%04x:%08RX64 %#06x/%u %c str\n", pCtx->cs.Sel, pCtx->rip, uIOPort, cbValue, fIOWrite ? 'w' : 'r'));
    1213212132            AssertReturn(pCtx->dx == uIOPort, VERR_VMX_IPE_2);
    12133             if (MSR_IA32_VMX_BASIC_INFO_VMCS_INS_OUTS(pVM->hm.s.vmx.Msrs.u64BasicInfo))
     12133            if (MSR_IA32_VMX_BASIC_VMCS_INS_OUTS(pVM->hm.s.vmx.Msrs.u64BasicInfo))
    1213412134            {
    1213512135                int rc2  = hmR0VmxReadExitInstrInfoVmcs(pVmxTransient);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette