VirtualBox

Changeset 92476 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Nov 17, 2021 12:29:12 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148335
Message:

VMM: Nested VMX: bugref:10092 EPT violation bits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllGstSlatEpt.cpp.h

    r92472 r92476  
    1717
    1818#if PGM_GST_TYPE == PGM_TYPE_EPT
    19 DECLINLINE(int) PGM_GST_SLAT_NAME_EPT(WalkReturnNotPresent)(PVMCPUCC pVCpu, PPGMPTWALK pWalk, uint64_t uEntry, uint8_t uLevel)
    20 {
    21     pWalk->fNotPresent = true;
    22     pWalk->uLevel      = uLevel;
     19DECLINLINE(int) PGM_GST_SLAT_NAME_EPT(WalkReturnNotPresent)(PCVMCPUCC pVCpu, PPGMPTWALK pWalk, uint64_t uEntry, uint8_t uLevel)
     20{
    2321    static PGMSLATFAIL const s_aEptViolation[] = { PGMSLATFAIL_EPT_VIOLATION, PGMSLATFAIL_EPT_VIOLATION_CONVERTIBLE };
    2422    uint8_t const fEptVeSupported  = pVCpu->CTX_SUFF(pVM)->cpum.ro.GuestFeatures.fVmxEptXcptVe;
    2523    uint8_t const idxViolationType = fEptVeSupported & !RT_BF_GET(uEntry, VMX_BF_EPT_PT_SUPPRESS_VE);
     24
     25    pWalk->fNotPresent = true;
     26    pWalk->uLevel      = uLevel;
    2627    pWalk->enmSlatFail = s_aEptViolation[idxViolationType];
    2728    return VERR_PAGE_TABLE_NOT_PRESENT;
     
    2930
    3031
    31 DECLINLINE(int) PGM_GST_SLAT_NAME_EPT(WalkReturnBadPhysAddr)(PVMCPUCC pVCpu, PPGMPTWALK pWalk, uint8_t uLevel, int rc)
     32DECLINLINE(int) PGM_GST_SLAT_NAME_EPT(WalkReturnBadPhysAddr)(PCVMCPUCC pVCpu, PPGMPTWALK pWalk, uint8_t uLevel, int rc)
    3233{
    3334    AssertMsg(rc == VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS, ("%Rrc\n", rc)); NOREF(rc); NOREF(pVCpu);
    3435    pWalk->fBadPhysAddr = true;
    3536    pWalk->uLevel       = uLevel;
     37    pWalk->enmSlatFail  = PGMSLATFAIL_EPT_VIOLATION;
    3638    return VERR_PAGE_TABLE_NOT_PRESENT;
    3739}
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