Index: /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 19764)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 19765)
@@ -1558,5 +1558,5 @@
                 pShwPage->fSeenNonGlobal = true;
 #endif
-            *pPteDst = PteDst;
+            ASMAtomicWriteSize(pPteDst, PteDst.u);
         }
         /* else MMIO or invalid page, we must handle them manually in the #PF handler. */
@@ -1577,5 +1577,5 @@
         }
 #endif /* PGMPOOL_WITH_USER_TRACKING */
-        pPteDst->u = 0;
+        ASMAtomicWriteSize(pPteDst, 0);
         /** @todo count these. */
     }
@@ -1875,5 +1875,5 @@
                         PdeDst.n.u1Write = PdeSrc.n.u1Write;
                     }
-                    *pPdeDst = PdeDst;
+                    ASMAtomicWriteSize(pPdeDst, PdeDst.u);
                     Log2(("SyncPage: BIG %RGv PdeSrc:{P=%d RW=%d U=%d raw=%08llx} GCPhys=%RGp%s\n",
                           GCPtrPage, PdeSrc.n.u1Present, PdeSrc.n.u1Write, PdeSrc.n.u1User, (uint64_t)PdeSrc.u, GCPhys,
@@ -2528,5 +2528,5 @@
                 }
             }
-            *pPdeDst = PdeDst;
+            ASMAtomicWriteSize(pPdeDst, PdeDst.u);
 # if defined(IN_RC)
             PGMDynUnlockHCPage(pVM, (uint8_t *)pPdeDst);
@@ -2569,5 +2569,5 @@
                 PdeDst.u = (PdeDst.u & (SHW_PDE_PG_MASK | X86_PDE_AVL_MASK))
                          | (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));
-                *pPdeDst = PdeDst;
+                ASMAtomicWriteSize(pPdeDst, PdeDst.u);
 # if defined(IN_RC)
                 PGMDynUnlockHCPage(pVM, (uint8_t *)pPdeDst);
@@ -2675,5 +2675,5 @@
                 PdeDst.b.u1Write = 0;
             }
-            *pPdeDst = PdeDst;
+            ASMAtomicWriteSize(pPdeDst, PdeDst.u);
 # if defined(IN_RC)
             PGMDynUnlockHCPage(pVM, (uint8_t *)pPdeDst);
@@ -2902,5 +2902,5 @@
     PdeDst.n.u1Accessed = 1;
 # endif
-    *pPdeDst = PdeDst;
+    ASMAtomicWriteSize(pPdeDst, PdeDst.u);
 
     rc = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrc, GCPtrPage, PGM_SYNC_NR_PAGES, 0 /* page not present */);
