VirtualBox

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


Ignore:
Timestamp:
Jul 5, 2008 3:24:20 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
32895
Message:

Backed out 32892-32894

Location:
trunk/src/VBox/VMM/VMMAll
Files:
2 edited

Legend:

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

    r10281 r10283  
    6565#ifdef IN_RING0 /* no mappings in VT-x and AMD-V mode */
    6666# define PGM_WITHOUT_MAPPINGS
    67 #endif
    68 
    69 /* There's no need for tracking physical pages when there's no guest paging involved. */
    70 #ifdef PGMPOOL_WITH_USER_TRACKING
    71 # if PGM_WITH_PAGING(PGM_GST_TYPE)
    72 # define PGMPOOL_WITH_USER_TRACKING_ACTIVE
    73 # endif
    7467#endif
    7568
     
    11411134                if (pPT->a[iPTEDst].n.u1Present)
    11421135                {
    1143 #  ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     1136#  ifdef PGMPOOL_WITH_USER_TRACKING
    11441137                    /* This is very unlikely with caching/monitoring enabled. */
    11451138                    PGM_BTH_NAME(SyncPageWorkerTrackDeref)(pVM, pShwPage, pPT->a[iPTEDst].u & SHW_PTE_PG_MASK);
     
    12501243
    12511244
    1252 #ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     1245#ifdef PGMPOOL_WITH_USER_TRACKING
    12531246/**
    12541247 * Update the tracking of shadowed pages.
     
    13401333        pShwPage->iFirstPresent = iPTDst;
    13411334}
    1342 #endif /* PGMPOOL_WITH_USER_TRACKING_ACTIVE */
     1335#endif /* PGMPOOL_WITH_USER_TRACKING */
    13431336
    13441337
     
    14221415            }
    14231416
    1424 #ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     1417#ifdef PGMPOOL_WITH_USER_TRACKING
    14251418            /*
    14261419             * Keep user track up to date.
     
    14421435                PGM_BTH_NAME(SyncPageWorkerTrackDeref)(pVM, pShwPage, pPteDst->u & SHW_PTE_PG_MASK);
    14431436            }
    1444 #endif /* PGMPOOL_WITH_USER_TRACKING_ACTIVE */
     1437#endif /* PGMPOOL_WITH_USER_TRACKING */
    14451438
    14461439            /*
     
    14601453         */
    14611454        LogFlow(("SyncPageWorker: page not present in Pte\n"));
    1462 #ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     1455#ifdef PGMPOOL_WITH_USER_TRACKING
    14631456        /* Keep user track up to date. */
    14641457        if (pPteDst->n.u1Present)
     
    14671460            PGM_BTH_NAME(SyncPageWorkerTrackDeref)(pVM, pShwPage, pPteDst->u & SHW_PTE_PG_MASK);
    14681461        }
    1469 #endif /* PGMPOOL_WITH_USER_TRACKING_ACTIVE */
     1462#endif /* PGMPOOL_WITH_USER_TRACKING */
    14701463        pPteDst->u = 0;
    14711464        /** @todo count these. */
     
    16951688                    }
    16961689                    const unsigned iPTDst = (GCPtrPage >> SHW_PT_SHIFT) & SHW_PT_MASK;
    1697 # ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     1690# ifdef PGMPOOL_WITH_USER_TRACKING
    16981691                    if (PteDst.n.u1Present && !pPTDst->a[iPTDst].n.u1Present)
    16991692                        PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, HCPhys >> MM_RAM_FLAGS_IDX_SHIFT, pPage, iPTDst);
     
    25652558                        else
    25662559                            PteDst.u = PGM_PAGE_GET_HCPHYS(pPage) | PteDstBase.u;
    2567 # ifdef PGMPOOL_WITH_USER_TRACKING_ACTIVE
     2560# ifdef PGMPOOL_WITH_USER_TRACKING
    25682561                        if (PteDst.n.u1Present)
    25692562                            PGM_BTH_NAME(SyncPageWorkerTrackAddref)(pVM, pShwPage, pPage->HCPhys >> MM_RAM_FLAGS_IDX_SHIFT, pPage, iPTDst); /** @todo PAGE FLAGS */
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r10282 r10283  
    17771777                case PGMPOOLKIND_PAE_PT_FOR_PAE_PT:
    17781778                case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB:
     1779                case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
     1780                case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    17791781                {
    17801782#ifdef PGMPOOL_WITH_USER_TRACKING
     
    22332235        case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT:
    22342236        case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB:
     2237        case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
    22352238        {
    22362239            const uint32_t  u32 = PGM_PAGE_GET_HCPHYS(pPhysPage) | X86_PTE_P;
     
    22622265        case PGMPOOLKIND_PAE_PT_FOR_PAE_PT:
    22632266        case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB:
     2267        case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    22642268        {
    22652269            const uint64_t  u64 = PGM_PAGE_GET_HCPHYS(pPhysPage) | X86_PTE_P;
     
    22872291        }
    22882292
    2289         case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
    2290         case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    2291             break;  /* nothing to do */
    2292 
    22932293        default:
    22942294            AssertFatalMsgFailed(("enmKind=%d iShw=%d\n", pPage->enmKind, iShw));
     
    24092409                case PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT:
    24102410                case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB:
     2411                case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
    24112412                {
    24122413                    unsigned    cPresent = pPage->cPresent;
     
    24302431                case PGMPOOLKIND_PAE_PT_FOR_PAE_PT:
    24312432                case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB:
     2433                case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    24322434                {
    24332435                    unsigned  cPresent = pPage->cPresent;
     
    31563158        }
    31573159
     3160        case PGMPOOLKIND_32BIT_PT_FOR_PHYS: /* treat it like a 4 MB page */
    31583161        case PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB:
    31593162        {
     
    31643167        }
    31653168
     3169        case PGMPOOLKIND_PAE_PT_FOR_PHYS:   /* treat it like a 4 MB page */
    31663170        case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB:
    31673171        case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB:
     
    31803184        case PGMPOOLKIND_PAE_PT_FOR_PAE_2MB:
    31813185        case PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB:
     3186        case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
     3187        case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    31823188            break;
    31833189#endif /* !PGMPOOL_WITH_GCPHYS_TRACKING */
     
    31863192        case PGMPOOLKIND_PAE_PD_FOR_PAE_PD:
    31873193        case PGMPOOLKIND_64BIT_PD_FOR_64BIT_PD:
     3194        case PGMPOOLKIND_64BIT_PD_FOR_PHYS:
    31883195            pgmPoolTrackDerefPDPae(pPool, pPage, (PX86PDPAE)pvShw);
    31893196            break;
    31903197
     3198        case PGMPOOLKIND_64BIT_PDPT_FOR_PHYS:
    31913199        case PGMPOOLKIND_64BIT_PDPT_FOR_64BIT_PDPT:
    31923200            pgmPoolTrackDerefPDPT64Bit(pPool, pPage, (PX86PDPT)pvShw);
     
    31953203        case PGMPOOLKIND_64BIT_PML4_FOR_64BIT_PML4:
    31963204            pgmPoolTrackDerefPML464Bit(pPool, pPage, (PX86PML4)pvShw);
    3197             break;
    3198 
    3199         case PGMPOOLKIND_64BIT_PD_FOR_PHYS:
    3200         case PGMPOOLKIND_64BIT_PDPT_FOR_PHYS:
    3201         case PGMPOOLKIND_PAE_PT_FOR_PHYS:
    3202         case PGMPOOLKIND_32BIT_PT_FOR_PHYS:
    3203             /* No tracking here. */
    32043205            break;
    32053206
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