VirtualBox

Changeset 76198 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Dec 13, 2018 7:17:44 AM (6 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:9180 Use Intel terminology of 'allowed-0' and 'allowed-1'.

File:
1 edited

Legend:

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

    r76136 r76198  
    22882288{
    22892289    PVM pVM = pVCpu->CTX_SUFF(pVM);
    2290     uint32_t       fVal = pVM->hm.s.vmx.Msrs.PinCtls.n.disallowed0;   /* Bits set here must always be set. */
     2290    uint32_t       fVal = pVM->hm.s.vmx.Msrs.PinCtls.n.allowed0;      /* Bits set here must always be set. */
    22912291    uint32_t const fZap = pVM->hm.s.vmx.Msrs.PinCtls.n.allowed1;      /* Bits cleared here must always be cleared. */
    22922292
     
    23172317    {
    23182318        LogRelFunc(("Invalid pin-based VM-execution controls combo! Cpu=%#RX32 fVal=%#RX32 fZap=%#RX32\n",
    2319                     pVM->hm.s.vmx.Msrs.PinCtls.n.disallowed0, fVal, fZap));
     2319                    pVM->hm.s.vmx.Msrs.PinCtls.n.allowed0, fVal, fZap));
    23202320        pVCpu->hm.s.u32HMError = VMX_UFC_CTRL_PIN_EXEC;
    23212321        return VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO;
     
    23432343{
    23442344    PVM pVM = pVCpu->CTX_SUFF(pVM);
    2345     uint32_t       fVal = pVM->hm.s.vmx.Msrs.ProcCtls2.n.disallowed0; /* Bits set here must be set in the VMCS. */
     2345    uint32_t       fVal = pVM->hm.s.vmx.Msrs.ProcCtls2.n.allowed0;    /* Bits set here must be set in the VMCS. */
    23462346    uint32_t const fZap = pVM->hm.s.vmx.Msrs.ProcCtls2.n.allowed1;    /* Bits cleared here must be cleared in the VMCS. */
    23472347
     
    24142414    {
    24152415        LogRelFunc(("Invalid secondary processor-based VM-execution controls combo! cpu=%#RX32 fVal=%#RX32 fZap=%#RX32\n",
    2416                     pVM->hm.s.vmx.Msrs.ProcCtls2.n.disallowed0, fVal, fZap));
     2416                    pVM->hm.s.vmx.Msrs.ProcCtls2.n.allowed0, fVal, fZap));
    24172417        pVCpu->hm.s.u32HMError = VMX_UFC_CTRL_PROC_EXEC2;
    24182418        return VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO;
     
    24402440{
    24412441    PVM pVM = pVCpu->CTX_SUFF(pVM);
    2442     uint32_t       fVal = pVM->hm.s.vmx.Msrs.ProcCtls.n.disallowed0;  /* Bits set here must be set in the VMCS. */
     2442    uint32_t       fVal = pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed0;     /* Bits set here must be set in the VMCS. */
    24432443    uint32_t const fZap = pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed1;     /* Bits cleared here must be cleared in the VMCS. */
    24442444
     
    24532453    /* We toggle VMX_PROC_CTLS_MOV_DR_EXIT later, check if it's not -always- needed to be set or clear. */
    24542454    if (   !(pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed1 & VMX_PROC_CTLS_MOV_DR_EXIT)
    2455         ||  (pVM->hm.s.vmx.Msrs.ProcCtls.n.disallowed0 & VMX_PROC_CTLS_MOV_DR_EXIT))
     2455        ||  (pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed0 & VMX_PROC_CTLS_MOV_DR_EXIT))
    24562456    {
    24572457        LogRelFunc(("Unsupported VMX_PROC_CTLS_MOV_DR_EXIT combo!"));
     
    25452545    {
    25462546        LogRelFunc(("Invalid processor-based VM-execution controls combo! cpu=%#RX32 fVal=%#RX32 fZap=%#RX32\n",
    2547                     pVM->hm.s.vmx.Msrs.ProcCtls.n.disallowed0, fVal, fZap));
     2547                    pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed0, fVal, fZap));
    25482548        pVCpu->hm.s.u32HMError = VMX_UFC_CTRL_PROC_EXEC;
    25492549        return VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO;
     
    32273227    {
    32283228        PVM pVM = pVCpu->CTX_SUFF(pVM);
    3229         uint32_t       fVal = pVM->hm.s.vmx.Msrs.EntryCtls.n.disallowed0; /* Bits set here must be set in the VMCS. */
     3229        uint32_t       fVal = pVM->hm.s.vmx.Msrs.EntryCtls.n.allowed0;    /* Bits set here must be set in the VMCS. */
    32303230        uint32_t const fZap = pVM->hm.s.vmx.Msrs.EntryCtls.n.allowed1;    /* Bits cleared here must be cleared in the VMCS. */
    32313231
     
    32613261        if ((fVal & fZap) != fVal)
    32623262        {
    3263             Log4Func(("Invalid VM-entry controls combo! Cpu=%RX32 fVal=%RX32 fZap=%RX32\n",
    3264                       pVM->hm.s.vmx.Msrs.EntryCtls.n.disallowed0, fVal, fZap));
     3263            Log4Func(("Invalid VM-entry controls combo! Cpu=%#RX32 fVal=%#RX32 fZap=%#RX32\n",
     3264                      pVM->hm.s.vmx.Msrs.EntryCtls.n.allowed0, fVal, fZap));
    32653265            pVCpu->hm.s.u32HMError = VMX_UFC_CTRL_ENTRY;
    32663266            return VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO;
     
    32943294    {
    32953295        PVM pVM = pVCpu->CTX_SUFF(pVM);
    3296         uint32_t       fVal = pVM->hm.s.vmx.Msrs.ExitCtls.n.disallowed0;  /* Bits set here must be set in the VMCS. */
     3296        uint32_t       fVal = pVM->hm.s.vmx.Msrs.ExitCtls.n.allowed0;     /* Bits set here must be set in the VMCS. */
    32973297        uint32_t const fZap = pVM->hm.s.vmx.Msrs.ExitCtls.n.allowed1;     /* Bits cleared here must be cleared in the VMCS. */
    32983298
     
    33453345        if ((fVal & fZap) != fVal)
    33463346        {
    3347             LogRelFunc(("Invalid VM-exit controls combo! cpu=%RX32 fVal=%RX32 fZap=%RX32\n",
    3348                         pVM->hm.s.vmx.Msrs.ExitCtls.n.disallowed0, fVal, fZap));
     3347            LogRelFunc(("Invalid VM-exit controls combo! cpu=%#RX32 fVal=%#RX32 fZap=%R#X32\n",
     3348                        pVM->hm.s.vmx.Msrs.ExitCtls.n.allowed0, fVal, fZap));
    33493349            pVCpu->hm.s.u32HMError = VMX_UFC_CTRL_EXIT;
    33503350            return VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO;
     
    94359435        pDbgState->fCpe1Extra   |= VMX_PROC_CTLS_USE_SECONDARY_CTLS;
    94369436    pDbgState->fCpe1Extra       &= pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed1;
    9437     pDbgState->fCpe1Unwanted    &= ~pVM->hm.s.vmx.Msrs.ProcCtls.n.disallowed0;
     9437    pDbgState->fCpe1Unwanted    &= ~pVM->hm.s.vmx.Msrs.ProcCtls.n.allowed0;
    94389438    if (pVCpu->hm.s.fDebugWantRdTscExit != RT_BOOL(pDbgState->fCpe1Extra & VMX_PROC_CTLS_RDTSC_EXIT))
    94399439    {
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