Index: /trunk/src/VBox/VMM/VMMGuruMeditation.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 30055)
+++ /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 30056)
@@ -520,6 +520,11 @@
      * Reset the ring-0 long jump buffer and stack.
      */
-    /** @todo reset the R0 for the calling virtual cpu. We'll assert (luckily) in
-     *        PGMPhys.cpp otherwise. */
+    pVCpu->vmm.s.CallRing3JmpBufR0.fInRing3Call = 0;
+#ifdef RT_ARCH_X86
+    pVCpu->vmm.s.CallRing3JmpBufR0.eip          = 0;
+#else
+    pVCpu->vmm.s.CallRing3JmpBufR0.rip          = 0;
+#endif
+    *(uint64_t *)pVCpu->vmm.s.pbEMTStackR3      = 0; /* clear marker  */
 }
 
Index: /trunk/src/VBox/VMM/VMMR0/VMMR0JmpA-x86.asm
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/VMMR0JmpA-x86.asm	(revision 30055)
+++ /trunk/src/VBox/VMM/VMMR0/VMMR0JmpA-x86.asm	(revision 30056)
@@ -98,9 +98,9 @@
     mov     ecx, [esp + 0ch]            ; pvArg1
     mov     eax, [esp + 08h]            ; pfn
-%if 1                                   ; Use this to eat of some extra stack - handy for finding paths using lots of stack.
- %define FRAME_OFFSET 0
-%else
- %define FRAME_OFFSET 1024
-%endif
+ %if 1                                  ; Use this to eat of some extra stack - handy for finding paths using lots of stack.
+  %define FRAME_OFFSET 0
+ %else
+  %define FRAME_OFFSET 1024
+ %endif
     mov     [esi - FRAME_OFFSET + 04h], edx
     mov     [esi - FRAME_OFFSET      ], ecx
