Changeset 18617 in vbox for trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
- Timestamp:
- Apr 1, 2009 10:11:29 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r18330 r18617 75 75 * 76 76 * @returns VBox status code (appropriate for trap handling and GC return). 77 * 77 78 * @param pVM VM Handle. 78 79 * @param uErr The trap error code. … … 764 765 return rc; 765 766 } 767 if (RT_UNLIKELY(VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY))) 768 return VINF_EM_NO_MEMORY; 766 769 } 767 770 /// @todo count the above case; else … … 1715 1718 # ifdef PGM_SYNC_N_PAGES 1716 1719 Assert(cPages == 1 || !(uErr & X86_TRAP_PF_P)); 1717 if (cPages > 1 && !(uErr & X86_TRAP_PF_P)) 1720 if ( cPages > 1 1721 && !(uErr & X86_TRAP_PF_P) 1722 && !VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) 1718 1723 { 1719 1724 /* … … 1953 1958 1954 1959 Assert(cPages == 1 || !(uErr & X86_TRAP_PF_P)); 1955 if (cPages > 1 && !(uErr & X86_TRAP_PF_P)) 1960 if ( cPages > 1 1961 && !(uErr & X86_TRAP_PF_P) 1962 && !VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) 1956 1963 { 1957 1964 /* … … 1993 2000 (uint64_t)pPTDst->a[iPTDst].u, 1994 2001 pPTDst->a[iPTDst].u & PGM_PTFLAGS_TRACK_DIRTY ? " Track-Dirty" : "")); 2002 2003 if (RT_UNLIKELY(VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY))) 2004 break; 1995 2005 } 1996 2006 else … … 2677 2687 PPGMRAMRANGE pRam = pVM->pgm.s.CTX_SUFF(pRamRanges); 2678 2688 unsigned iPTDst = 0; 2679 while (iPTDst < RT_ELEMENTS(pPTDst->a)) 2689 while ( iPTDst < RT_ELEMENTS(pPTDst->a) 2690 && !VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) 2680 2691 { 2681 2692 /* Advance ram range list. */ … … 2700 2711 rc = pgmPhysPageMakeWritableUnlocked(pVM, pPage, GCPhys); 2701 2712 AssertRCReturn(rc, rc); 2713 if (VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) 2714 break; 2702 2715 } 2703 2716 # endif
Note:
See TracChangeset
for help on using the changeset viewer.