VirtualBox

Changeset 13202 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Oct 13, 2008 9:40:14 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37746
Message:

Missing EPT case in pgmPoolTrackFlushGCPhysPTInt.

File:
1 edited

Legend:

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

    r13146 r13202  
    24872487        }
    24882488
     2489        case PGMPOOLKIND_EPT_PT_FOR_PHYS:
     2490        {
     2491            const uint64_t  u64 = PGM_PAGE_GET_HCPHYS(pPhysPage) | X86_PTE_P;
     2492            PEPTPT          pPT = (PEPTPT)PGMPOOL_PAGE_2_PTR(pVM, pPage);
     2493            for (unsigned i = pPage->iFirstPresent; i < RT_ELEMENTS(pPT->a); i++)
     2494                if ((pPT->a[i].u & (EPT_PTE_PG_MASK | X86_PTE_P)) == u64)
     2495                {
     2496                    Log4(("pgmPoolTrackFlushGCPhysPTs: i=%d pte=%RX64 cRefs=%#x\n", i, pPT->a[i], cRefs));
     2497                    pPT->a[i].u = 0;
     2498                    cRefs--;
     2499                    if (!cRefs)
     2500                        return;
     2501                }
     2502#if defined(DEBUG) && !defined(IN_RING0) ///@todo RTLogPrintf is missing in R0.
     2503            RTLogPrintf("cRefs=%d iFirstPresent=%d cPresent=%d\n", cRefs, pPage->iFirstPresent, pPage->cPresent);
     2504            for (unsigned i = 0; i < RT_ELEMENTS(pPT->a); i++)
     2505                if ((pPT->a[i].u & (EPT_PTE_PG_MASK | X86_PTE_P)) == u64)
     2506                {
     2507                    RTLogPrintf("i=%d cRefs=%d\n", i, cRefs--);
     2508                    pPT->a[i].u = 0;
     2509                }
     2510#endif
     2511            AssertFatalMsgFailed(("cRefs=%d iFirstPresent=%d cPresent=%d\n", cRefs, pPage->iFirstPresent, pPage->cPresent));
     2512            break;
     2513        }
     2514
    24892515        default:
    24902516            AssertFatalMsgFailed(("enmKind=%d iShw=%d\n", pPage->enmKind, iShw));
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