VirtualBox

Changeset 9942

Show
Ignore:
Timestamp:
06/26/08 11:38:31 (5 months ago)
Author:
vboxsync
Message:

PAE fixes

Files:

Legend:

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

    r9941 r9942  
    22142214    PX86PD          pPDDst   = pVM->pgm.s.CTXMID(p,32BitPD); 
    22152215# elif PGM_SHW_TYPE == PGM_TYPE_PAE 
    2216     const unsigned  iPDDst   = GCPtrPage >> SHW_PD_SHIFT; 
     2216    const unsigned  iPDDst   = GCPtrPage >> SHW_PD_SHIFT;               /* 0 - 2047 */ 
    22172217    const unsigned  iPdpte   = (GCPtrPage >> X86_PDPT_SHIFT); 
    22182218    PX86PDPT        pPdptDst = pVM->pgm.s.CTXMID(p,PaePDPT); 
     
    31123112                if (pVM->pgm.s.CTXMID(p,PaePDPT)->a[iPdpte].n.u1Present) 
    31133113                { 
     3114                    LogFlow(("SyncCR3: guest PDPE %d not present; clear shw pdpe\n", iPdpte)); 
    31143115                        /* for each page directory entry */ 
    31153116                        for (unsigned iPD = 0; iPD < ELEMENTS(pPDSrc->a); iPD++) 
     
    32513252#  if PGM_SHW_TYPE == PGM_TYPE_PAE && PGM_GST_TYPE == PGM_TYPE_32BIT 
    32523253                    for (unsigned i = 0, iPdShw = iPD * 2; i < 2; i++, iPdShw++) /* pray that the compiler unrolls this */ 
     3254#  elif PGM_GST_TYPE == PGM_TYPE_PAE 
     3255                        const unsigned iPdShw = iPD + iPdpte * X86_PG_PAE_ENTRIES; NOREF(iPdShw); 
    32533256#  else 
    32543257                    const unsigned iPdShw = iPD; NOREF(iPdShw); 
     
    33503353#  if PGM_SHW_TYPE == PGM_TYPE_PAE && PGM_GST_TYPE == PGM_TYPE_32BIT 
    33513354                    for (unsigned i = 0, iPdShw = iPD * 2; i < 2; i++, iPdShw++) /* pray that the compiler unrolls this */ 
     3355#  elif PGM_GST_TYPE == PGM_TYPE_PAE 
     3356                        const unsigned iPdShw = iPD + iPdpte * X86_PG_PAE_ENTRIES; NOREF(iPdShw); 
    33523357#  else 
    33533358                    const unsigned iPdShw = iPD; NOREF(iPdShw); 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy