VirtualBox

Changeset 9949 in vbox


Ignore:
Timestamp:
Jun 26, 2008 11:56:06 AM (16 years ago)
Author:
vboxsync
Message:

PAE fix

File:
1 edited

Legend:

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

    r9946 r9949  
    420420                    LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw=%#x!\n", iShw));
    421421                }
     422#ifdef PGMPOOL_INVALIDATE_UPPER_SHADOW_TABLE_ENTRIES
     423                /* causes trouble when the guest uses a PDE to refer to the whole page table level structure. (invalidate here; faults later on when it tries
     424                 * to change the page table entries
     425                 */
    422426                else
    423427                {
     
    433437                    }
    434438                }
    435 
     439#endif
    436440                /* paranoia / a bit assumptive. */
    437441                if (   pCpu
     
    449453                        LogFlow(("pgmPoolMonitorChainChanging: Detected conflict at iShw2=%#x!\n", iShw2));
    450454                    }
     455#ifdef PGMPOOL_INVALIDATE_UPPER_SHADOW_TABLE_ENTRIES
    451456                    else
    452457                    if (uShw.pPDPae->a[iShw2].n.u1Present)
     
    460465                        uShw.pPDPae->a[iShw2].u = 0;
    461466                    }
     467#endif
    462468                }
    463469                break;
     
    503509                 * - messing with the bits of pd pointers without changing the physical address
    504510                 */
     511#ifdef PGMPOOL_INVALIDATE_UPPER_SHADOW_TABLE_ENTRIES
    505512                if (!VM_FF_ISSET(pPool->CTXSUFF(pVM), VM_FF_PGM_SYNC_CR3))
    506513                {
     
    526533                    }
    527534                }
     535#endif
    528536                break;
    529537            }
     
    534542                 * - messing with the bits of pd pointers without changing the physical address
    535543                 */
     544#ifdef PGMPOOL_INVALIDATE_UPPER_SHADOW_TABLE_ENTRIES
    536545                if (!VM_FF_ISSET(pPool->CTXSUFF(pVM), VM_FF_PGM_SYNC_CR3))
    537546                {
     
    557566                    }
    558567                }
     568#endif
    559569                break;
    560570            }
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