VirtualBox

Changeset 18949 in vbox


Ignore:
Timestamp:
Apr 16, 2009 2:19:02 PM (16 years ago)
Author:
vboxsync
Message:

Bug fix

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMInternal.h

    r18948 r18949  
    18441844 */
    18451845#if defined(IN_RC)
    1846 # define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage))
     1846# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined(pPGM, (pPage))
    18471847#elif defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
    1848 # define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined((pPGM), (pPage))
     1848# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  pgmPoolMapPageInlined(pPGM, (pPage))
    18491849#else
    18501850# define PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPage)  PGMPOOL_PAGE_2_PTR(PGM2VM(pPGM), pPage)
     1851#endif
     1852
     1853/** @def PGMPOOL_PAGE_2_PTR_BY_PGMCPU
     1854 * Maps a pool page pool into the current context.
     1855 *
     1856 * @returns VBox status code.
     1857 * @param   pPGM    Pointer to the PGMCPU instance data.
     1858 * @param   pPage   The pool page.
     1859 *
     1860 * @remark  In RC this uses PGMGCDynMapHCPage(), so it will consume of the
     1861 *          small page window employeed by that function. Be careful.
     1862 * @remark  There is no need to assert on the result.
     1863 */
     1864#if defined(IN_RC)
     1865# define PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPage)  pgmPoolMapPageInlined(PGMCPU2PGM(pPGM), (pPage))
     1866#elif defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
     1867# define PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPage)  pgmPoolMapPageInlined(PGMCPU2PGM(pPGM), (pPage))
     1868#else
     1869# define PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPage)  PGMPOOL_PAGE_2_PTR(PGMCPU2VM(pPGM), pPage)
    18511870#endif
    18521871
     
    39353954DECLINLINE(PX86PD) pgmShwGet32BitPDPtr(PPGMCPU pPGM)
    39363955{
    3937     return (PX86PD)PGMPOOL_PAGE_2_PTR_BY_PGM(PGMCPU2PGM(pPGM), pPGM->CTX_SUFF(pShwPageCR3));
     3956    return (PX86PD)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPGM->CTX_SUFF(pShwPageCR3));
    39383957}
    39393958
     
    39864005DECLINLINE(PX86PDPT) pgmShwGetPaePDPTPtr(PPGMCPU pPGM)
    39874006{
    3988     return (PX86PDPT)PGMPOOL_PAGE_2_PTR_BY_PGM(PGMCPU2PGM(pPGM), pPGM->CTX_SUFF(pShwPageCR3));
     4007    return (PX86PDPT)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPGM->CTX_SUFF(pShwPageCR3));
    39894008}
    39904009
     
    40094028    AssertReturn(pShwPde, NULL);
    40104029
    4011     return (PX86PDPAE)PGMPOOL_PAGE_2_PTR_BY_PGM(PGMCPU2PGM(pPGM), pShwPde);
     4030    return (PX86PDPAE)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pShwPde);
    40124031}
    40134032
     
    40314050    AssertReturn(pShwPde, NULL);
    40324051
    4033     return (PX86PDPAE)PGMPOOL_PAGE_2_PTR_BY_PGM(PGMCPU2PGM(pPGM), pShwPde);
     4052    return (PX86PDPAE)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pShwPde);
    40344053}
    40354054
     
    40824101DECLINLINE(PX86PML4) pgmShwGetLongModePML4Ptr(PPGMCPU pPGM)
    40834102{
    4084     return (PX86PML4)PGMPOOL_PAGE_2_PTR_BY_PGM(PGMCPU2PGM(pPGM), pPGM->CTX_SUFF(pShwPageCR3));
     4103    return (PX86PML4)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPGM->CTX_SUFF(pShwPageCR3));
    40854104}
    40864105
  • trunk/src/VBox/VMM/VMMAll/PGMAll.cpp

    r18943 r18949  
    11861186    Assert(HWACCMIsNestedPagingActive(pVM));
    11871187
    1188     pPml4 = (PEPTPML4)PGMPOOL_PAGE_2_PTR_BY_PGM(pPGM, pPGM->CTX_SUFF(pShwPageCR3));
     1188    pPml4 = (PEPTPML4)PGMPOOL_PAGE_2_PTR_BY_PGMCPU(pPGM, pPGM->CTX_SUFF(pShwPageCR3));
    11891189    Assert(pPml4);
    11901190
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