Changeset 29510 in vbox
- Timestamp:
- May 17, 2010 8:57:02 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
r29509 r29510 3776 3776 if (pGlobalRegion->paHCPhysPageID[i] == NIL_GMM_PAGEID) 3777 3777 { 3778 new_shared_page: 3778 3779 /* Easy case: just change the internal page type. */ 3779 3780 PGMMPAGE pPage = gmmR0GetPage(pGMM, paPageDesc[i].uHCPhysPageId); … … 3809 3810 goto end; 3810 3811 } 3811 Assert(pPage->Common.u2State == GMM_PAGE_STATE_SHARED); 3812 if (pPage->Common.u2State != GMM_PAGE_STATE_SHARED) 3813 { 3814 /* Page was freed at some point; invalidate this entry. */ 3815 /** todo this isn't really bullet proof. */ 3816 Log(("Old shared page was freed -> create a new one\n")); 3817 pGlobalRegion->paHCPhysPageID[i] = NIL_GMM_PAGEID; 3818 goto new_shared_page; /* ugly goto */ 3819 } 3812 3820 3813 3821 Log(("Replace existing page guest %RGp host %RHp -> %RHp\n", paPageDesc[i].GCPhys, paPageDesc[i].HCPhys, pPage->Shared.pfn << PAGE_SHIFT));
Note:
See TracChangeset
for help on using the changeset viewer.