Index: /trunk/src/VBox/VMM/HWACCM.cpp
===================================================================
--- /trunk/src/VBox/VMM/HWACCM.cpp	(revision 23552)
+++ /trunk/src/VBox/VMM/HWACCM.cpp	(revision 23553)
@@ -433,8 +433,11 @@
         int    rc;
 
-        rc = STAMR3RegisterF(pVM, &pVCpu->hwaccm.s.StatSpinPoke, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, "Profiling of VMXR0RunGuestCode entry",
+        rc = STAMR3RegisterF(pVM, &pVCpu->hwaccm.s.StatPoke, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, "Profiling of RTMpPokeCpu",
+                             "/PROF/HWACCM/CPU%d/Poke", i);
+        AssertRC(rc);
+        rc = STAMR3RegisterF(pVM, &pVCpu->hwaccm.s.StatSpinPoke, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, "Profiling of poke wait",
                              "/PROF/HWACCM/CPU%d/PokeWait", i);
         AssertRC(rc);
-        rc = STAMR3RegisterF(pVM, &pVCpu->hwaccm.s.StatSpinPokeFailed, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, "Profiling of VMXR0RunGuestCode entry",
+        rc = STAMR3RegisterF(pVM, &pVCpu->hwaccm.s.StatSpinPokeFailed, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, "Profiling of poke wait when RTMpPokeCpu fails",
                              "/PROF/HWACCM/CPU%d/PokeWaitFailed", i);
         AssertRC(rc);
Index: /trunk/src/VBox/VMM/HWACCMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/HWACCMInternal.h	(revision 23552)
+++ /trunk/src/VBox/VMM/HWACCMInternal.h	(revision 23553)
@@ -769,4 +769,5 @@
     STAMPROFILEADV          StatWorldSwitch3264;
 #endif
+    STAMPROFILEADV          StatPoke;
     STAMPROFILEADV          StatSpinPoke;
     STAMPROFILEADV          StatSpinPokeFailed;
Index: /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp	(revision 23552)
+++ /trunk/src/VBox/VMM/VMMAll/HWACCMAll.cpp	(revision 23553)
@@ -123,5 +123,7 @@
     uint32_t cWorldSwitchExit = pVCpu->hwaccm.s.cWorldSwitchExit;
 
+    STAM_PROFILE_ADV_START(&pVCpu->hwaccm.s.StatPoke, x);
     int rc = RTMpPokeCpu(idHostCpu);
+    STAM_PROFILE_ADV_STOP(&pVCpu->hwaccm.s.StatPoke, x);
     /* Not implemented on some platforms (Darwin, Linux kernel < 2.6.19); fall back to a less efficient implementation (broadcast). */
     if (rc == VERR_NOT_SUPPORTED)
Index: /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp	(revision 23552)
+++ /trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp	(revision 23553)
@@ -190,4 +190,5 @@
         pVCpu->hwaccm.s.svm.pVMCBHost     = RTR0MemObjAddress(pVCpu->hwaccm.s.svm.pMemObjVMCBHost);
         pVCpu->hwaccm.s.svm.pVMCBHostPhys = RTR0MemObjGetPagePhysAddr(pVCpu->hwaccm.s.svm.pMemObjVMCBHost, 0);
+        Assert(pVCpu->hwaccm.s.svm.pVMCBHostPhys < _4G);
         ASMMemZeroPage(pVCpu->hwaccm.s.svm.pVMCBHost);
 
@@ -199,4 +200,5 @@
         pVCpu->hwaccm.s.svm.pVMCB     = RTR0MemObjAddress(pVCpu->hwaccm.s.svm.pMemObjVMCB);
         pVCpu->hwaccm.s.svm.pVMCBPhys = RTR0MemObjGetPagePhysAddr(pVCpu->hwaccm.s.svm.pMemObjVMCB, 0);
+        Assert(pVCpu->hwaccm.s.svm.pVMCBPhys < _4G);
         ASMMemZeroPage(pVCpu->hwaccm.s.svm.pVMCB);
 
