VirtualBox

Changeset 101932 in vbox for trunk


Ignore:
Timestamp:
Nov 7, 2023 11:36:26 AM (18 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160028
Message:

VMM/CPUM: Nested VMX: Updated cpumR3AreVmxCpuFeaturesCompatible() for newly added VMX features fields.

File:
1 edited

Legend:

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

    r101539 r101932  
    16941694                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxConcealVmxFromPt   , 47) \
    16951695                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxXsavesXrstors      , 48) \
    1696                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxModeBasedExecuteEpt, 49) \
    1697                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSppEpt             , 50) \
    1698                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPtEpt              , 51) \
    1699                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxUseTscScaling      , 52) \
    1700                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxUserWaitPause      , 53) \
    1701                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEnclvExit          , 54) \
    1702                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxLoadIwKeyExit      , 55) \
    1703                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadDebugCtls , 56) \
    1704                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxIa32eModeGuest     , 57) \
    1705                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadEferMsr   , 58) \
    1706                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadPatMsr    , 59) \
    1707                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveDebugCtls  , 60) \
    1708                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxHostAddrSpaceSize  , 61) \
    1709                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitAckExtInt      , 62) \
    1710                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSavePatMsr     , 63))
    1711 
    1712 #define CPUM_VMX_MAKE_FEATURES_2(a_pFeat)   (  CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitLoadPatMsr     ,  0) \
    1713                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveEferMsr    ,  1) \
    1714                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitLoadEferMsr    ,  2) \
    1715                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSavePreemptTimer   ,  3) \
    1716                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSecondaryExitCtls  ,  4) \
    1717                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveEferLma    ,  5) \
    1718                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPt                 ,  6) \
    1719                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxVmwriteAll         ,  7) \
    1720                                              | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryInjectSoftInt ,  8))
     1696                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPasidTranslate     , 49) \
     1697                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxModeBasedExecuteEpt, 50) \
     1698                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSppEpt             , 51) \
     1699                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPtEpt              , 52) \
     1700                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxUseTscScaling      , 53) \
     1701                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxUserWaitPause      , 54) \
     1702                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPconfig            , 55) \
     1703                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEnclvExit          , 56) \
     1704                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxBusLockDetect      , 57) \
     1705                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxInstrTimeout       , 58) \
     1706                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxLoadIwKeyExit      , 59) \
     1707                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxHlat               , 60) \
     1708                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEptPagingWrite     , 61) \
     1709                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxGstPagingVerify    , 62) \
     1710                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxIpiVirt            , 63))
     1711
     1712#define CPUM_VMX_MAKE_FEATURES_2(a_pFeat)   (  CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxVirtSpecCtrl       ,  0) \
     1713                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadDebugCtls ,  1) \
     1714                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxIa32eModeGuest     ,  2) \
     1715                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadEferMsr   ,  3) \
     1716                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryLoadPatMsr    ,  4) \
     1717                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveDebugCtls  ,  5) \
     1718                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxHostAddrSpaceSize  ,  6) \
     1719                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitAckExtInt      ,  7) \
     1720                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSavePatMsr     ,  8) \
     1721                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitLoadPatMsr     ,  9) \
     1722                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveEferMsr    , 10) \
     1723                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitLoadEferMsr    , 12) \
     1724                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSavePreemptTimer   , 13) \
     1725                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxSecondaryExitCtls  , 14) \
     1726                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxExitSaveEferLma    , 15) \
     1727                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxPt                 , 16) \
     1728                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxVmwriteAll         , 17) \
     1729                                             | CPUM_VMX_FEAT_SHIFT(a_pFeat, fVmxEntryInjectSoftInt , 18))
    17211730
    17221731    /* Check first set of feature bits. */
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