VirtualBox

Changeset 42186 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jul 17, 2012 1:32:15 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
79186
Message:

SELM,DIS,CPUM,EM: Hidden selector register cleanups.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r42184 r42186  
    24282428
    24292429            /* Disassemble manually to deal with segment prefixes. */
    2430             rc = EMInterpretDisasOne(pVM, pVCpu, CPUMCTX2CORE(pCtx), pDis, NULL);
     2430            rc = EMInterpretDisasCurrent(pVM, pVCpu, pDis, NULL);
    24312431            if (rc == VINF_SUCCESS)
    24322432            {
     
    29902990     * Only allow 32 & 64 bit code.
    29912991     */
    2992     DISCPUMODE enmMode = SELMGetCpuModeFromSelector(pVCpu, pRegFrame->eflags, pRegFrame->cs.Sel, &pRegFrame->cs);
    2993     if (enmMode != DISCPUMODE_16BIT)
     2992    if (CPUMGetGuestCodeBits(pVCpu) != 16)
    29942993    {
    29952994        PDISSTATE pDis = &pVCpu->hwaccm.s.DisState;
    2996         int rc = EMInterpretDisasOne(pVM, pVCpu, pRegFrame, pDis, NULL);
     2995        int rc = EMInterpretDisasCurrent(pVM, pVCpu, pDis, NULL);
    29972996        if (RT_SUCCESS(rc) && pDis->pCurInstr->uOpcode == OP_INVLPG)
    29982997        {
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r42184 r42186  
    36573657                LogFlow(("Real mode X86_XCPT_GP instruction emulation at %x:%RGv\n", pCtx->cs.Sel, (RTGCPTR)pCtx->rip));
    36583658
    3659                 rc2 = EMInterpretDisasOne(pVM, pVCpu, CPUMCTX2CORE(pCtx), pDis, &cbOp);
     3659                rc2 = EMInterpretDisasCurrent(pVM, pVCpu, pDis, &cbOp);
    36603660                if (RT_SUCCESS(rc2))
    36613661                {
     
    44424442            /** @todo VMX_VMCS_EXIT_GUEST_LINEAR_ADDR contains the flat pointer operand of the instruction. */
    44434443            /** @todo VMX_VMCS32_RO_EXIT_INSTR_INFO also contains segment prefix info. */
    4444             rc2 = EMInterpretDisasOne(pVM, pVCpu, CPUMCTX2CORE(pCtx), pDis, NULL);
     4444            rc2 = EMInterpretDisasCurrent(pVM, pVCpu, pDis, NULL);
    44454445            if (RT_SUCCESS(rc))
    44464446            {
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette