Changeset 27486 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 18, 2010 3:50:38 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r27210 r27486 800 800 * Assume for now it only applies to the read/write flag. 801 801 */ 802 if (RT_SUCCESS(rc) && (uErr & X86_TRAP_PF_RW)) 802 if ( RT_SUCCESS(rc) 803 && (uErr & X86_TRAP_PF_RW)) 803 804 { 804 805 if (PGM_PAGE_GET_STATE(pPage) != PGM_PAGE_STATE_ALLOCATED) … … 1840 1841 * As for invlpg, it simply frees the whole shadow PT. 1841 1842 * ...It's possibly because the guest clears it and the guest doesn't really tell us... */ 1842 if (!PdeSrc.b.u1Dirty && PdeSrc.b.u1Write) 1843 if ( !PdeSrc.b.u1Dirty 1844 && PdeSrc.b.u1Write) 1843 1845 { 1844 1846 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_MID_Z(Stat,DirtyPageBig)); … … 2370 2372 { 2371 2373 if (PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)) 2374 { 2372 2375 /* Assuming write handlers here as the PTE is present (otherwise we wouldn't be here). */ 2373 2376 PteDst.n.u1Write = 0; 2377 } 2374 2378 else 2375 2379 { … … 2611 2615 | (PdeSrc.u & ~(GST_PDE_PG_MASK | X86_PDE_AVL_MASK | X86_PDE_PCD | X86_PDE_PWT | X86_PDE_PS | X86_PDE4M_G | X86_PDE4M_D)); 2612 2616 /* (see explanation and assumptions further down.) */ 2613 if (!PdeSrc.b.u1Dirty && PdeSrc.b.u1Write) 2617 if ( !PdeSrc.b.u1Dirty 2618 && PdeSrc.b.u1Write) 2614 2619 { 2615 2620 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_MID_Z(Stat,DirtyPageBig)); … … 2759 2764 /** @todo move the above stuff to a section in the PGM documentation. */ 2760 2765 Assert(!(PdeDst.u & PGM_PDFLAGS_TRACK_DIRTY)); 2761 if (!PdeSrc.b.u1Dirty && PdeSrc.b.u1Write) 2766 if ( !PdeSrc.b.u1Dirty 2767 && PdeSrc.b.u1Write) 2762 2768 { 2763 2769 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_MID_Z(Stat,DirtyPageBig));
Note:
See TracChangeset
for help on using the changeset viewer.