Index: /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp	(revision 19814)
+++ /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp	(revision 19815)
@@ -98,4 +98,7 @@
         PVMCPU pVCpu = &pVM->aCpus[idCpu];
 
+        if (VMCPU_FF_ISSET(pVCpu, VMCPU_FF_TLB_FLUSH))
+            continue;
+
         VMCPU_FF_SET(pVCpu, VMCPU_FF_TLB_FLUSH);
         if (idThisCpu == idCpu)
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp	(revision 19814)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp	(revision 19815)
@@ -169,5 +169,5 @@
         pVM->pgm.s.fPhysCacheFlushPending = true;
         pgmUnlock(pVM);
-        HWACCMFlushTLB(VMMGetCpu(pVM));
+        HWACCMFlushAllTLBs(pVM);
 #ifndef IN_RING3
         REMNotifyHandlerPhysicalRegister(pVM, enmType, GCPhys, GCPhysLast - GCPhys + 1, !!pfnHandlerR3);
@@ -271,5 +271,5 @@
         pgmHandlerPhysicalDeregisterNotifyREM(pVM, pCur);
         pgmUnlock(pVM);
-        HWACCMFlushTLB(VMMGetCpu(pVM));
+        HWACCMFlushAllTLBs(pVM);
         MMHyperFree(pVM, pCur);
         return VINF_SUCCESS;
@@ -417,5 +417,5 @@
         PGM_INVL_GUEST_TLBS(VMMGetCpu0(pVM));
 # else
-    HWACCMFlushTLB(VMMGetCpu(pVM));
+    HWACCMFlushAllTLBs(pVM);
 # endif
     pVM->pgm.s.fPhysCacheFlushPending = true;
@@ -553,5 +553,5 @@
 #endif
                     pgmUnlock(pVM);
-                    HWACCMFlushTLB(VMMGetCpu(pVM));
+                    HWACCMFlushAllTLBs(pVM);
                     Log(("PGMHandlerPhysicalModify: GCPhysCurrent=%RGp -> GCPhys=%RGp GCPhysLast=%RGp\n",
                          GCPhysCurrent, GCPhys, GCPhysLast));
@@ -848,5 +848,5 @@
                     rc = pgmHandlerPhysicalSetRamFlagsAndFlushShadowPTs(pVM, pCur, pRam);
                     pVM->pgm.s.fPhysCacheFlushPending = true;
-                    HWACCMFlushTLB(VMMGetCpu(pVM));
+                    HWACCMFlushAllTLBs(pVM);
                 }
 
