VirtualBox

儲存庫 vbox 的更動 15172


忽略:
時間撮記:
2008-12-9 下午02:02:13 (16 年 以前)
作者:
vboxsync
訊息:

Shadow paging fixes for amd64 on 32 bits hosts.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/PGM.cpp

    r15159 r15172  
    28852885    switch(pVM->pgm.s.enmHostMode)
    28862886    {
     2887#ifdef HC_ARCH_BITS == 32
    28872888    case SUPPAGINGMODE_32_BIT:
    28882889    case SUPPAGINGMODE_32_BIT_GLOBAL:
    2889 #ifdef VBOX_WITH_64_BITS_GUESTS
    2890         for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_AMD64;i++)
    2891 #else
    28922890        for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_PAE;i++)
    2893 #endif
    28942891        {
    28952892            pModeData = &pVM->pgm.s.paModeData[pgmModeDataIndex(PGM_TYPE_NESTED, i)];
    28962893            rc = PGM_SHW_NAME_32BIT(InitData)(      pVM, pModeData, fResolveGCAndR0); AssertRCReturn(rc, rc);
    28972894        }
     2895# ifdef VBOX_WITH_64_BITS_GUESTS
     2896        pModeData = &pVM->pgm.s.paModeData[pgmModeDataIndex(PGM_TYPE_NESTED, PGM_TYPE_AMD64)];
     2897        rc = PGM_SHW_NAME_AMD64(InitData)(      pVM, pModeData, fResolveGCAndR0); AssertRCReturn(rc, rc);
     2898# endif
    28982899        break;
    28992900
     
    29022903    case SUPPAGINGMODE_PAE_GLOBAL:
    29032904    case SUPPAGINGMODE_PAE_GLOBAL_NX:
    2904 #ifdef VBOX_WITH_64_BITS_GUESTS
    2905         for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_AMD64;i++)
    2906 #else
    29072905        for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_PAE;i++)
    2908 #endif
    29092906        {
    29102907            pModeData = &pVM->pgm.s.paModeData[pgmModeDataIndex(PGM_TYPE_NESTED, i)];
    29112908            rc = PGM_SHW_NAME_PAE(InitData)(      pVM, pModeData, fResolveGCAndR0); AssertRCReturn(rc, rc);
    29122909        }
     2910# ifdef VBOX_WITH_64_BITS_GUESTS
     2911        pModeData = &pVM->pgm.s.paModeData[pgmModeDataIndex(PGM_TYPE_NESTED, PGM_TYPE_AMD64)];
     2912        rc = PGM_SHW_NAME_AMD64(InitData)(      pVM, pModeData, fResolveGCAndR0); AssertRCReturn(rc, rc);
     2913# endif
    29132914        break;
    2914 
     2915#else /* HC_ARCH_BITS != 32 */
    29152916    case SUPPAGINGMODE_AMD64:
    29162917    case SUPPAGINGMODE_AMD64_GLOBAL:
    29172918    case SUPPAGINGMODE_AMD64_NX:
    29182919    case SUPPAGINGMODE_AMD64_GLOBAL_NX:
    2919 #ifdef VBOX_WITH_64_BITS_GUESTS
     2920# ifdef VBOX_WITH_64_BITS_GUESTS
    29202921        for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_AMD64;i++)
    2921 #else
     2922# else
    29222923        for (unsigned i=PGM_TYPE_REAL;i<=PGM_TYPE_PAE;i++)
    2923 #endif
     2924# endif
    29242925        {
    29252926            pModeData = &pVM->pgm.s.paModeData[pgmModeDataIndex(PGM_TYPE_NESTED, i)];
     
    29272928        }
    29282929        break;
     2930#endif /* HC_ARCH_BITS != 32 */
    29292931    default:
    29302932        AssertFailed();
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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