VirtualBox

Changeset 91274 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Sep 16, 2021 11:02:42 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
146934
Message:

VMM: Prune unused CPUMCPUIDFEATURE_PAT and CPUMCPUIDFEATURE_MWAIT_EXTS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp

    r91266 r91274  
    49244924
    49254925        /*
    4926          * Set the page attribute table bit.  This is alternative page level
    4927          * cache control that doesn't much matter when everything is
    4928          * virtualized, though it may when passing thru device memory.
    4929          */
    4930         case CPUMCPUIDFEATURE_PAT:
    4931             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x00000001));
    4932             if (pLeaf)
    4933                 pVM->cpum.s.aGuestCpuIdPatmStd[1].uEdx = pLeaf->uEdx |= X86_CPUID_FEATURE_EDX_PAT;
    4934 
    4935             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x80000001));
    4936             if (   pLeaf
    4937                 && (   pVM->cpum.s.GuestFeatures.enmCpuVendor == CPUMCPUVENDOR_AMD
    4938                     || pVM->cpum.s.GuestFeatures.enmCpuVendor == CPUMCPUVENDOR_HYGON))
    4939                 pVM->cpum.s.aGuestCpuIdPatmExt[1].uEdx = pLeaf->uEdx |= X86_CPUID_AMD_FEATURE_EDX_PAT;
    4940 
    4941             pVM->cpum.s.GuestFeatures.fPat = 1;
    4942             LogRel(("CPUM: SetGuestCpuIdFeature: Enabled PAT\n"));
    4943             break;
    4944 
    4945         /*
    49464926         * Set the RDTSCP support bit.
    49474927         * Assumes the caller knows what it's doing! (host must support this)
     
    49734953            pVM->cpum.s.GuestFeatures.fHypervisorPresent = 1;
    49744954            LogRel(("CPUM: SetGuestCpuIdFeature: Enabled Hypervisor Present bit\n"));
    4975             break;
    4976 
    4977         /*
    4978          * Set the MWAIT Extensions Present bit in the MWAIT/MONITOR leaf.
    4979          * This currently includes the Present bit and MWAITBREAK bit as well.
    4980          */
    4981         case CPUMCPUIDFEATURE_MWAIT_EXTS:
    4982             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x00000005));
    4983             if (   !pLeaf
    4984                 || !pVM->cpum.s.HostFeatures.fMWaitExtensions)
    4985             {
    4986                 LogRel(("CPUM: WARNING! Can't turn on MWAIT Extensions when the host doesn't support it!\n"));
    4987                 return;
    4988             }
    4989 
    4990             /* Valid for both Intel and AMD. */
    4991             pVM->cpum.s.aGuestCpuIdPatmStd[5].uEcx = pLeaf->uEcx |= X86_CPUID_MWAIT_ECX_EXT | X86_CPUID_MWAIT_ECX_BREAKIRQIF0;
    4992             pVM->cpum.s.GuestFeatures.fMWaitExtensions = 1;
    4993             LogRel(("CPUM: SetGuestCpuIdFeature: Enabled MWAIT Extensions.\n"));
    49944955            break;
    49954956
     
    51215082        case CPUMCPUIDFEATURE_LAHF:         return pVM->cpum.s.GuestFeatures.fLahfSahf;
    51225083        case CPUMCPUIDFEATURE_LONG_MODE:    return pVM->cpum.s.GuestFeatures.fLongMode;
    5123         case CPUMCPUIDFEATURE_PAT:          return pVM->cpum.s.GuestFeatures.fPat;
    51245084        case CPUMCPUIDFEATURE_RDTSCP:       return pVM->cpum.s.GuestFeatures.fRdTscP;
    51255085        case CPUMCPUIDFEATURE_HVP:          return pVM->cpum.s.GuestFeatures.fHypervisorPresent;
    5126         case CPUMCPUIDFEATURE_MWAIT_EXTS:   return pVM->cpum.s.GuestFeatures.fMWaitExtensions;
    51275086        case CPUMCPUIDFEATURE_SPEC_CTRL:    return pVM->cpum.s.GuestFeatures.fSpeculationControl;
    5128 
    51295087        case CPUMCPUIDFEATURE_INVALID:
    51305088        case CPUMCPUIDFEATURE_32BIT_HACK:
     
    51885146            break;
    51895147
    5190         case CPUMCPUIDFEATURE_PAT:
    5191             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x00000001));
    5192             if (pLeaf)
    5193                 pVM->cpum.s.aGuestCpuIdPatmStd[1].uEdx = pLeaf->uEdx &= ~X86_CPUID_FEATURE_EDX_PAT;
    5194 
    5195             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x80000001));
    5196             if (   pLeaf
    5197                 && (   pVM->cpum.s.GuestFeatures.enmCpuVendor == CPUMCPUVENDOR_AMD
    5198                     || pVM->cpum.s.GuestFeatures.enmCpuVendor == CPUMCPUVENDOR_HYGON))
    5199                 pVM->cpum.s.aGuestCpuIdPatmExt[1].uEdx = pLeaf->uEdx &= ~X86_CPUID_AMD_FEATURE_EDX_PAT;
    5200 
    5201             pVM->cpum.s.GuestFeatures.fPat = 0;
    5202             Log(("CPUM: ClearGuestCpuIdFeature: Disabled PAT!\n"));
    5203             break;
    5204 
    52055148        case CPUMCPUIDFEATURE_LONG_MODE:
    52065149            pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x80000001));
     
    52375180                pVM->cpum.s.aGuestCpuIdPatmStd[1].uEcx = pLeaf->uEcx &= ~X86_CPUID_FEATURE_ECX_HVP;
    52385181            pVM->cpum.s.GuestFeatures.fHypervisorPresent = 0;
    5239             break;
    5240 
    5241         case CPUMCPUIDFEATURE_MWAIT_EXTS:
    5242             pLeaf = cpumCpuIdGetLeaf(pVM, UINT32_C(0x00000005));
    5243             if (pLeaf)
    5244                 pVM->cpum.s.aGuestCpuIdPatmStd[5].uEcx = pLeaf->uEcx &= ~(X86_CPUID_MWAIT_ECX_EXT | X86_CPUID_MWAIT_ECX_BREAKIRQIF0);
    5245             pVM->cpum.s.GuestFeatures.fMWaitExtensions = 0;
    5246             Log(("CPUM: ClearGuestCpuIdFeature: Disabled MWAIT Extensions!\n"));
    52475182            break;
    52485183
Note: See TracChangeset for help on using the changeset viewer.

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