Index: /trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h	(revision 92450)
+++ /trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h	(revision 92451)
@@ -5235,5 +5235,9 @@
             {
                 PVMXVMCSINFOSHARED pVmcsInfoShared = pVmcsInfo->pShared;
+#ifndef IN_NEM_DARWIN
                 bool const fRealOnV86Active = pVmcsInfoShared->RealMode.fRealOnV86Active;
+#else
+                bool const fRealOnV86Active = false; /* HV supports only unrestricted guest execution. */
+#endif
                 if (fWhat & CPUMCTX_EXTRN_CS)
                 {
@@ -5531,5 +5535,9 @@
             if (!(pCtx->fExtrn & HMVMX_CPUMCTX_EXTRN_ALL))
             {
+#ifndef IN_NEM_DARWIN
                 pCtx->fExtrn &= ~CPUMCTX_EXTRN_KEEPER_HM;
+#else
+                pCtx->fExtrn &= ~CPUMCTX_EXTRN_KEEPER_NEM;
+#endif
                 Assert(!pCtx->fExtrn);
             }
@@ -6252,5 +6260,5 @@
 
 #ifndef IN_RING0
-    RT_NOREF(fIsNestedGuest, fStepping);
+    RT_NOREF(fIsNestedGuest, fStepping, pfIntrState);
 #endif
 
@@ -6295,4 +6303,5 @@
 #endif
 
+    RT_NOREF(uVector);
     if (   uIntType == VMX_EXIT_INT_INFO_TYPE_HW_XCPT
         || uIntType == VMX_EXIT_INT_INFO_TYPE_NMI
@@ -11692,5 +11701,4 @@
     HMVMX_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pVmxTransient);
 
-#ifdef IN_RING0
     PVMXVMCSINFO pVmcsInfo = pVmxTransient->pVmcsInfo;
     vmxHCReadExitInstrLenVmcs(pVCpu, pVmxTransient);
@@ -11702,4 +11710,5 @@
                                                                                 : HM_CHANGED_RAISED_XCPT_MASK);
 
+#ifdef IN_RING0
     PCCPUMCTX pCtx = &pVCpu->cpum.GstCtx;
     bool const fLoadSaveGuestXcr0 = (pCtx->cr4 & X86_CR4_OSXSAVE) && pCtx->aXcr[0] != ASMGetXcr0();
@@ -11709,9 +11718,7 @@
         vmxHCUpdateStartVmFunction(pVCpu);
     }
+#endif
 
     return rcStrict;
-#else
-    return VERR_EM_INTERPRETER;
-#endif
 }
 
@@ -13067,14 +13074,13 @@
                                             : EMEXIT_MAKE_FT(EMEXIT_F_KIND_EM, EMEXITTYPE_MMIO_READ),
                                             pVCpu->cpum.GstCtx.cs.u64Base + pVCpu->cpum.GstCtx.rip, uHostTsc);
-#if 0
-    rc = nemR3DarwinCopyStateFromHv(pVM, pVCpu,   CPUMCTX_EXTRN_RIP | CPUMCTX_EXTRN_RFLAGS | CPUMCTX_EXTRN_CS
-                                                | NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM | CPUMCTX_EXTRN_DS | CPUMCTX_EXTRN_ES);
+
+    rc = vmxHCImportGuestState(pVCpu, pVmxTransient->pVmcsInfo, HMVMX_CPUMCTX_EXTRN_ALL);
     AssertRCReturn(rc, rc);
-#endif
+
     VBOXSTRICTRC rcStrict;
     if (!pExitRec)
     {
         rcStrict = IEMExecOne(pVCpu);
-        /** @todo do we need to do anything wrt debugging here?   */
+        ASMAtomicUoOrU64(&VCPU_2_VMXSTATE(pVCpu).fCtxChanged, HM_CHANGED_ALL_GUEST);
     }
     else
