VirtualBox

Changeset 49898 in vbox


Ignore:
Timestamp:
Dec 13, 2013 3:55:20 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMSVMR0: Fix for MOV DRx intercepts on 32-bit hosts with 64-bit guests.

File:
1 edited

Legend:

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

    r49897 r49898  
    15121512         */
    15131513#if HC_ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS) && !defined(VBOX_WITH_HYBRID_32BIT_KERNEL)
    1514         else if (   (   CPUMIsGuestInLongModeEx(pCtx)
    1515                      && !CPUMIsGuestDebugStateActivePending(pVCpu))
    1516                  || !CPUMIsGuestDebugStateActive(pVCpu))
     1514        else if (   !CPUMIsGuestDebugStateActivePending(pVCpu))
     1515                 && !CPUMIsGuestDebugStateActive(pVCpu))
    15171516#else
    15181517        else if (!CPUMIsGuestDebugStateActive(pVCpu))
     
    44684467    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitDRxRead);
    44694468
    4470     /* We should -not- get this VM-exit if we're not stepping or the guest is debugging. */
    4471     AssertMsgReturn(   pVCpu->hm.s.fSingleInstruction
    4472                     || DBGFIsStepping(pVCpu)
    4473                     || !pSvmTransient->fWasGuestDebugStateActive,
    4474                     ("hmR0SvmExitReadDRx: Unexpected exit. pVCpu=%p pCtx=%p\n", pVCpu, pCtx),
    4475                     VERR_SVM_UNEXPECTED_EXIT);
     4469    /* We should -not- get this VM-exit if the guest's debug registers were active. */
     4470    if (pSvmTransient->fWasGuestDebugStateActive)
     4471    {
     4472        AssertMsgFailed(("hmR0SvmHandleExit: Unexpected exit %#RX32\n", (uint32_t)pSvmTransient->u64ExitCode));
     4473        pVCpu->hm.s.u32HMError = (uint32_t)pSvmTransient->u64ExitCode;
     4474        return VERR_SVM_UNEXPECTED_EXIT;
     4475    }
    44764476
    44774477    /*
    4478      * Lazy DR0-3 loading?
     4478     * Lazy DR0-3 loading.
    44794479     */
    44804480    if (!pSvmTransient->fWasHyperDebugStateActive)
Note: See TracChangeset for help on using the changeset viewer.

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