VirtualBox

Changeset 13394 in vbox for trunk/src


Ignore:
Timestamp:
Oct 20, 2008 2:01:17 PM (16 years ago)
Author:
vboxsync
Message:

Implement PrefetchPage for EPT when in real or protected mode without paging.

File:
1 edited

Legend:

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

    r13235 r13394  
    27992799PGM_BTH_DECL(int, PrefetchPage)(PVM pVM, RTGCUINTPTR GCPtrPage)
    28002800{
    2801 #if   (PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_REAL || PGM_GST_TYPE == PGM_TYPE_PROT || PGM_GST_TYPE == PGM_TYPE_PAE || PGM_GST_TYPE == PGM_TYPE_AMD64) \
    2802     && PGM_SHW_TYPE != PGM_TYPE_NESTED && PGM_SHW_TYPE != PGM_TYPE_EPT
     2801#if        (    (   PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_REAL || PGM_GST_TYPE == PGM_TYPE_PROT || PGM_GST_TYPE == PGM_TYPE_PAE || PGM_GST_TYPE == PGM_TYPE_AMD64) \
     2802                 && PGM_SHW_TYPE != PGM_TYPE_NESTED ) \
     2803        || (PGM_SHW_TYPE == PGM_TYPE_EPT && (PGM_GST_TYPE == PGM_TYPE_REAL || PGM_GST_TYPE == PGM_TYPE_PROT))
    28032804    /*
    28042805     * Check that all Guest levels thru the PDE are present, getting the
     
    28592860
    28602861        int rc = PGMShwSyncLongModePDPtr(pVM, GCPtrPage, pPml4eSrc, &PdpeSrc, &pPDDst);
     2862        if (rc != VINF_SUCCESS)
     2863        {
     2864            AssertRC(rc);
     2865            return rc;
     2866        }
     2867        Assert(pPDDst);
     2868        PdeDst = pPDDst->a[iPDDst];
     2869# elif PGM_SHW_TYPE == PGM_TYPE_EPT
     2870        const unsigned  iPdpte = (GCPtrPage >> EPT_PDPT_SHIFT) & EPT_PDPT_MASK;
     2871        const unsigned  iPDDst = ((GCPtrPage >> SHW_PD_SHIFT) & SHW_PD_MASK);
     2872        PEPTPD          pPDDst;
     2873        PEPTPDPT        pPdptDst;
     2874        EPTPDE          PdeDst;
     2875
     2876        rc = PGMShwGetEPTPDPtr(pVM, GCPtrPage, &pPdptDst, &pPDDst);
    28612877        if (rc != VINF_SUCCESS)
    28622878        {
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