VirtualBox

Ignore:
Timestamp:
Apr 11, 2025 9:04:14 AM (4 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168454
Message:

VMM: Some additions for the ARMv8 PGM testcase, bugref:10388

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/tstPGMAllGst-armv8.cpp

    r108940 r108943  
    921921            BITFIELD_CREATE_BOOL(NotExecutable,       7),
    922922            BITFIELD_CREATE_BOOL(NotAccessibleByMode, 8),
    923             { NULL,     0, 0, NULL }
     923            { "Level",  11, 5, NULL },
     924            { NULL,      0, 0, NULL }
    924925
    925926#undef BITFIELD_CREATE_BOOL
     
    10061007    WalkResult.GCPhysNested = pWalkResult->GCPhysNested;
    10071008    WalkResult.GCPhys       = pWalkResult->GCPhys;
    1008     WalkResult.fFailed      = pWalkResult->fFailed;
    10091009    WalkResult.fEffective   = pWalkResult->fEffective;
    1010     WalkResult.uLevel       = (pWalkResult->fFailed & PGM_WALKFAIL_LEVEL_MASK) >> PGM_WALKFAIL_LEVEL_SHIFT;
    1011     if (pWalkResult->fInfo & PGM_WALKINFO_SUCCEEDED)
    1012         WalkResult.fSucceeded = true;
     1010
    10131011    if (pWalkResult->fInfo & PGM_WALKINFO_IS_SLAT)
    10141012        WalkResult.fIsSlat = true;
     
    10251023    if (pWalkResult->fFailed & PGM_WALKFAIL_BAD_PHYSICAL_ADDRESS)
    10261024        WalkResult.fBadPhysAddr = true;
     1025
     1026    /*
     1027     * QueryPageFast() can return VERR_ACCESS_DENIED, which GetPage() doesn't,
     1028     * so only copy the failed result if GetPage() is expected to fail as well.
     1029     */
     1030    if (RT_FAILURE(rcExpected))
     1031    {         
     1032        WalkResult.fFailed    = pWalkResult->fFailed;
     1033        WalkResult.uLevel     = (pWalkResult->fFailed & PGM_WALKFAIL_LEVEL_MASK) >> PGM_WALKFAIL_LEVEL_SHIFT;
     1034        WalkResult.fSucceeded = false;
     1035    }
     1036    else
     1037        WalkResult.fSucceeded = true;
    10271038
    10281039    /** @todo Incorporate EL (for nested virt and EL3 later on). */
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