VirtualBox

Changeset 73346 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Jul 25, 2018 9:24:03 AM (6 years ago)
Author:
vboxsync
Message:

DBGFR3PagingDumpEx: Deal with shadow mode PGMMODE_NONE (NEM). bugref:9044

File:
1 edited

Legend:

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

    r73246 r73346  
    545545            return DBGFPGDMP_FLAGS_PSE | DBGFPGDMP_FLAGS_PAE | DBGFPGDMP_FLAGS_LME | DBGFPGDMP_FLAGS_NXE;
    546546        case PGMMODE_NESTED_32BIT:
    547             return DBGFPGDMP_FLAGS_NP; /** @todo fix nested paging dumping*/
     547            return DBGFPGDMP_FLAGS_NP | DBGFPGDMP_FLAGS_PSE;
    548548        case PGMMODE_NESTED_PAE:
    549             return DBGFPGDMP_FLAGS_NP; /** @todo fix nested paging dumping*/
     549            return DBGFPGDMP_FLAGS_NP | DBGFPGDMP_FLAGS_PSE | DBGFPGDMP_FLAGS_PAE | DBGFPGDMP_FLAGS_NXE;
    550550        case PGMMODE_NESTED_AMD64:
    551             return DBGFPGDMP_FLAGS_NP; /** @todo fix nested paging dumping*/
     551            return DBGFPGDMP_FLAGS_NP | DBGFPGDMP_FLAGS_PSE | DBGFPGDMP_FLAGS_PAE | DBGFPGDMP_FLAGS_LME | DBGFPGDMP_FLAGS_NXE;
    552552        case PGMMODE_EPT:
    553553            return DBGFPGDMP_FLAGS_EPT;
     554        case PGMMODE_NONE:
     555            return 0;
    554556        default:
    555557            AssertFailedReturn(UINT32_MAX);
     
    600602        if (fFlags & DBGFPGDMP_FLAGS_SHADOW)
    601603        {
     604            if (PGMGetShadowMode(pVCpu) == PGMMODE_NONE)
     605            {
     606                pHlp->pfnPrintf(pHlp, "Shadow paging mode is 'none' (NEM)\n");
     607                return VINF_SUCCESS;
     608            }
     609
    602610            if (fFlags & DBGFPGDMP_FLAGS_CURRENT_CR3)
    603611                cr3 = PGMGetHyperCR3(pVCpu);
    604612            if (fFlags & DBGFPGDMP_FLAGS_CURRENT_MODE)
    605             {
    606613                fFlags |= dbgfR3PagingDumpModeToFlags(PGMGetShadowMode(pVCpu));
    607                 if (fFlags & DBGFPGDMP_FLAGS_NP)
    608                 {
    609                     fFlags |= dbgfR3PagingDumpModeToFlags(PGMGetHostMode(pVM));
    610                     if (HC_ARCH_BITS == 32 && CPUMIsGuestInLongMode(pVCpu))
    611                         fFlags |= DBGFPGDMP_FLAGS_LME;
    612                 }
    613             }
    614614        }
    615615        else
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