VirtualBox

Changeset 27378 in vbox


Ignore:
Timestamp:
Mar 15, 2010 4:54:03 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
58827
Message:

pgmPoolMonitorModifiedClearAll can cause a pgm pool flush (dirty page clearing), so make sure we handle this!

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

Legend:

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

    r27371 r27378  
    18761876        }
    18771877        /* Make sure we check for pending pgm pool syncs as we clear VMCPU_FF_PGM_SYNC_CR3 later on! */
    1878         if (    rc == VINF_PGM_SYNC_CR3
    1879             ||  (pVCpu->pgm.s.fSyncFlags & PGM_SYNC_CLEAR_PGM_POOL))
     1878        if (pVCpu->pgm.s.fSyncFlags & PGM_SYNC_CLEAR_PGM_POOL)
    18801879        {
    18811880            Log(("PGMSyncCR3: pending pgm pool sync after MapCR3!\n"));
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r27362 r27378  
    25762576# endif /* !IN_RING3 */
    25772577    else
     2578    {
    25782579        pgmPoolMonitorModifiedClearAll(pVM);
    25792580
     2581        /* pgmPoolMonitorModifiedClearAll can cause a pgm pool flush (dirty page clearing), so make sure we handle this! */
     2582        if (pVCpu->pgm.s.fSyncFlags & PGM_SYNC_CLEAR_PGM_POOL)
     2583        {
     2584            Log(("pgmPoolMonitorModifiedClearAll caused a pgm flush -> call pgmPoolSyncCR3 again!\n"));
     2585            return pgmPoolSyncCR3(pVCpu);
     2586        }
     2587    }
    25802588    return VINF_SUCCESS;
    25812589}
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