Index: /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 29573)
+++ /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 29574)
@@ -2650,5 +2650,5 @@
 
     /* Modify the page structure. */
-    pPage->Shared.pfn     = (uint32_t)(HCPhys >> PAGE_SHIFT);
+    pPage->Shared.pfn     = (uint32_t)(uint64_t)(HCPhys >> PAGE_SHIFT);
     pPage->Shared.cRefs   = 1;
     pPage->Common.u2State = GMM_PAGE_STATE_SHARED;
@@ -3821,5 +3821,5 @@
                 }
 
-                Log(("Replace existing page guest %RGp host %RHp -> %RHp\n", paPageDesc[i].GCPhys, paPageDesc[i].HCPhys, pPage->Shared.pfn << PAGE_SHIFT));
+                Log(("Replace existing page guest %RGp host %RHp -> %RHp\n", paPageDesc[i].GCPhys, paPageDesc[i].HCPhys, ((uint64_t)pPage->Shared.pfn) << PAGE_SHIFT));
 
                 /* Calculate the virtual address of the local page. */
@@ -3878,5 +3878,5 @@
 
                 /* Pass along the new physical address & page id. */
-                paPageDesc[i].HCPhys        = pPage->Shared.pfn << PAGE_SHIFT;
+                paPageDesc[i].HCPhys        = ((uint64_t)pPage->Shared.pfn) << PAGE_SHIFT;
                 paPageDesc[i].uHCPhysPageId = pGlobalRegion->paHCPhysPageID[i];
             }
