Index: /trunk/include/VBox/vmm/em.h
===================================================================
--- /trunk/include/VBox/vmm/em.h	(revision 97192)
+++ /trunk/include/VBox/vmm/em.h	(revision 97193)
@@ -268,6 +268,6 @@
 /** @name Deprecated interpretation related APIs (use IEM).
  * @{ */
-VMM_INT_DECL(int)               EMInterpretDisasCurrent(PVMCC pVM, PVMCPUCC pVCpu, PDISCPUSTATE pCpu, unsigned *pcbInstr);
-VMM_INT_DECL(int)               EMInterpretDisasOneEx(PVMCC pVM, PVMCPUCC pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore,
+VMM_INT_DECL(int)               EMInterpretDisasCurrent(PVMCPUCC pVCpu, PDISCPUSTATE pCpu, unsigned *pcbInstr);
+VMM_INT_DECL(int)               EMInterpretDisasOneEx(PVMCPUCC pVCpu, RTGCUINTPTR GCPtrInstr,
                                                       PDISCPUSTATE pDISState, unsigned *pcbInstr);
 VMM_INT_DECL(VBOXSTRICTRC)      EMInterpretInstruction(PVMCPUCC pVCpu, PCPUMCTXCORE pCoreCtx, RTGCPTR pvFault);
Index: /trunk/src/VBox/VMM/VMMAll/EMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/EMAll.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/EMAll.cpp	(revision 97193)
@@ -901,27 +901,24 @@
  *          details.
  *
- * @param   pVM             The cross context VM structure.
  * @param   pVCpu           The cross context virtual CPU structure.
  * @param   pDis            Where to return the parsed instruction info.
  * @param   pcbInstr        Where to return the instruction size. (optional)
  */
-VMM_INT_DECL(int) EMInterpretDisasCurrent(PVMCC pVM, PVMCPUCC pVCpu, PDISCPUSTATE pDis, unsigned *pcbInstr)
-{
-    PCPUMCTXCORE pCtxCore = CPUMCTX2CORE(CPUMQueryGuestCtxPtr(pVCpu));
-    RTGCPTR GCPtrInstr;
+VMM_INT_DECL(int) EMInterpretDisasCurrent(PVMCPUCC pVCpu, PDISCPUSTATE pDis, unsigned *pcbInstr)
+{
+    PCPUMCTX pCtx = CPUMQueryGuestCtxPtr(pVCpu);
+    RTGCPTR  GCPtrInstr;
 #if 0
-    int rc = SELMToFlatEx(pVCpu, DISSELREG_CS, pCtxCore, pCtxCore->rip, 0, &GCPtrInstr);
+    int rc = SELMToFlatEx(pVCpu, DISSELREG_CS, pCtx, pCtx->rip, 0, &GCPtrInstr);
 #else
 /** @todo Get the CPU mode as well while we're at it! */
-    int rc = SELMValidateAndConvertCSAddr(pVCpu, pCtxCore->eflags, pCtxCore->ss.Sel, pCtxCore->cs.Sel, &pCtxCore->cs,
-                                          pCtxCore->rip, &GCPtrInstr);
+    int rc = SELMValidateAndConvertCSAddr(pVCpu, pCtx->eflags, pCtx->ss.Sel, pCtx->cs.Sel, &pCtx->cs, pCtx->rip, &GCPtrInstr);
 #endif
-    if (RT_FAILURE(rc))
-    {
-        Log(("EMInterpretDisasOne: Failed to convert %RTsel:%RGv (cpl=%d) - rc=%Rrc !!\n",
-             pCtxCore->cs.Sel, (RTGCPTR)pCtxCore->rip, pCtxCore->ss.Sel & X86_SEL_RPL, rc));
-        return rc;
-    }
-    return EMInterpretDisasOneEx(pVM, pVCpu, (RTGCUINTPTR)GCPtrInstr, pCtxCore, pDis, pcbInstr);
+    if (RT_SUCCESS(rc))
+        return EMInterpretDisasOneEx(pVCpu, (RTGCUINTPTR)GCPtrInstr, pDis, pcbInstr);
+
+    Log(("EMInterpretDisasOne: Failed to convert %RTsel:%RGv (cpl=%d) - rc=%Rrc !!\n",
+         pCtx->cs.Sel, (RTGCPTR)pCtx->rip, pCtx->ss.Sel & X86_SEL_RPL, rc));
+    return rc;
 }
 
@@ -934,16 +931,11 @@
  * @returns VBox status code.
  *
- * @param   pVM             The cross context VM structure.
  * @param   pVCpu           The cross context virtual CPU structure.
  * @param   GCPtrInstr      The flat address of the instruction.
- * @param   pCtxCore        The context core (used to determine the cpu mode).
  * @param   pDis            Where to return the parsed instruction info.
  * @param   pcbInstr        Where to return the instruction size. (optional)
  */
-VMM_INT_DECL(int) EMInterpretDisasOneEx(PVMCC pVM, PVMCPUCC pVCpu, RTGCUINTPTR GCPtrInstr, PCCPUMCTXCORE pCtxCore,
-                                        PDISCPUSTATE pDis, unsigned *pcbInstr)
-{
-    NOREF(pVM);
-    Assert(pCtxCore == CPUMGetGuestCtxCore(pVCpu)); NOREF(pCtxCore);
+VMM_INT_DECL(int) EMInterpretDisasOneEx(PVMCPUCC pVCpu, RTGCUINTPTR GCPtrInstr, PDISCPUSTATE pDis, unsigned *pcbInstr)
+{
     DISCPUMODE enmCpuMode = CPUMGetGuestDisMode(pVCpu);
     /** @todo Deal with too long instruction (=> \#GP), opcode read errors (=>
Index: /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp	(revision 97193)
@@ -247,5 +247,5 @@
     unsigned    cbInstr;
     DISCPUSTATE Dis;
-    int rc = EMInterpretDisasCurrent(pVM, pVCpu, &Dis, &cbInstr);
+    int rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbInstr);
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/GIMAllHv.cpp	(revision 97193)
@@ -1479,5 +1479,5 @@
         unsigned    cbInstr;
         DISCPUSTATE Dis;
-        int rc = EMInterpretDisasCurrent(pVCpu->CTX_SUFF(pVM), pVCpu, &Dis, &cbInstr);
+        int rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbInstr);
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp	(revision 97193)
@@ -434,5 +434,5 @@
         unsigned    cbInstr;
         DISCPUSTATE Dis;
-        int rc = EMInterpretDisasCurrent(pVM, pVCpu, &Dis, &cbInstr);
+        int rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbInstr);
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 97193)
@@ -224,5 +224,5 @@
             uint32_t     cbOp;
             PDISCPUSTATE pDis = &pVCpu->pgm.s.DisState;
-            rc = EMInterpretDisasCurrent(pVM, pVCpu, pDis, &cbOp);
+            rc = EMInterpretDisasCurrent(pVCpu, pDis, &cbOp);
             if (     RT_SUCCESS(rc)
                 &&   pDis->uCpuMode == DISCPUMODE_32BIT  /** @todo why does this matter? */
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp	(revision 97193)
@@ -1153,5 +1153,5 @@
      */
     PDISCPUSTATE pDis = &pVCpu->pgm.s.DisState;
-    int rc = EMInterpretDisasCurrent(pVM, pVCpu, pDis, NULL);
+    int rc = EMInterpretDisasCurrent(pVCpu, pDis, NULL);
     if (RT_UNLIKELY(rc != VINF_SUCCESS))
     {
Index: /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp	(revision 97193)
@@ -7414,5 +7414,5 @@
         {
             PDISCPUSTATE pDis = &pVCpu->hmr0.s.svm.DisState;
-            int rc = EMInterpretDisasCurrent(pVCpu->CTX_SUFF(pVM), pVCpu, pDis, &cbInstr);
+            int rc = EMInterpretDisasCurrent(pVCpu, pDis, &cbInstr);
             if (   rc == VINF_SUCCESS
                 && pDis->pCurInstr->uOpcode == OP_WRMSR)
@@ -8115,5 +8115,5 @@
         {
             PDISCPUSTATE pDis = &pVCpu->hmr0.s.svm.DisState;
-            int rc = EMInterpretDisasCurrent(pVCpu->CTX_SUFF(pVM), pVCpu, pDis, &cbInstr);
+            int rc = EMInterpretDisasCurrent(pVCpu, pDis, &cbInstr);
             if (   rc == VINF_SUCCESS
                 && pDis->pCurInstr->uOpcode == OP_VMMCALL)
@@ -8159,5 +8159,5 @@
     {
         PDISCPUSTATE pDis = &pVCpu->hmr0.s.svm.DisState;
-        int rc = EMInterpretDisasCurrent(pVCpu->CTX_SUFF(pVM), pVCpu, pDis, &cbInstr);
+        int rc = EMInterpretDisasCurrent(pVCpu, pDis, &cbInstr);
         if (   rc == VINF_SUCCESS
             && pDis->pCurInstr->uOpcode == OP_PAUSE)
@@ -8512,8 +8512,7 @@
     if (!(pCtx->cr0 & X86_CR0_NE))
     {
-        PVMCC     pVM  = pVCpu->CTX_SUFF(pVM);
         PDISSTATE pDis = &pVCpu->hmr0.s.svm.DisState;
         unsigned  cbInstr;
-        int rc = EMInterpretDisasCurrent(pVM, pVCpu, pDis, &cbInstr);
+        int rc = EMInterpretDisasCurrent(pVCpu, pDis, &cbInstr);
         if (RT_SUCCESS(rc))
         {
Index: /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp	(revision 97193)
@@ -383,12 +383,11 @@
      * Get the Sel and GCPtr if fFlags requests that.
      */
-    PCCPUMCTXCORE  pCtxCore   = NULL;
-    PCCPUMSELREG   pSRegCS    = NULL;
+    PCCPUMCTX      pCtx    = CPUMQueryGuestCtxPtr(pVCpu);
+    PCCPUMSELREG   pSRegCS = NULL;
     if (fFlags & DBGF_DISAS_FLAGS_CURRENT_GUEST)
     {
-        pCtxCore   = CPUMGetGuestCtxCore(pVCpu);
-        Sel        = pCtxCore->cs.Sel;
-        pSRegCS    = &pCtxCore->cs;
-        GCPtr      = pCtxCore->rip;
+        Sel        = pCtx->cs.Sel;
+        pSRegCS    = &pCtx->cs;
+        GCPtr      = pCtx->rip;
     }
     /*
@@ -398,9 +397,8 @@
     else
     {
-        pCtxCore = CPUMGetGuestCtxCore(pVCpu);
-        if (pCtxCore->cs.Sel == Sel && Sel != DBGF_SEL_FLAT)
-            pSRegCS = &pCtxCore->cs;
+        if (pCtx->cs.Sel == Sel && Sel != DBGF_SEL_FLAT)
+            pSRegCS = &pCtx->cs;
         else
-            pCtxCore = NULL;
+            pCtx = NULL;
     }
 
@@ -425,5 +423,5 @@
         SelInfo.fFlags                  = PGMMODE_IS_LONG_MODE(enmMode)
                                         ? DBGFSELINFO_FLAGS_LONG_MODE
-                                        : enmMode != PGMMODE_REAL && !pCtxCore->eflags.Bits.u1VM
+                                        : enmMode != PGMMODE_REAL && !pCtx->eflags.Bits.u1VM
                                         ? DBGFSELINFO_FLAGS_PROT_MODE
                                         : DBGFSELINFO_FLAGS_REAL_MODE;
@@ -478,5 +476,5 @@
         }
     }
-    else if (   (pCtxCore && pCtxCore->eflags.Bits.u1VM)
+    else if (   (pCtx && pCtx->eflags.Bits.u1VM)
              || enmMode == PGMMODE_REAL
              || (fFlags & DBGF_DISAS_FLAGS_MODE_MASK) == DBGF_DISAS_FLAGS_16BIT_REAL_MODE)
Index: /trunk/src/VBox/VMM/VMMR3/HM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 97192)
+++ /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 97193)
@@ -2274,5 +2274,5 @@
     DISCPUSTATE     Dis;
     uint32_t        cbOp;
-    int rc = EMInterpretDisasCurrent(pVM, pVCpu, &Dis, &cbOp);
+    int rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbOp);
     AssertRC(rc);
     if (    rc == VINF_SUCCESS
@@ -2327,5 +2327,5 @@
 
             pCtx->rip += cbOp;
-            rc = EMInterpretDisasCurrent(pVM, pVCpu, &Dis, &cbOp);
+            rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbOp);
             DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "Following read");
             pCtx->rip = uSavedRip;
@@ -2450,5 +2450,5 @@
     DISCPUSTATE     Dis;
     uint32_t        cbOp;
-    int rc = EMInterpretDisasCurrent(pVM, pVCpu, &Dis, &cbOp);
+    int rc = EMInterpretDisasCurrent(pVCpu, &Dis, &cbOp);
     AssertRC(rc);
     if (    rc == VINF_SUCCESS
