VirtualBox

Ignore:
Timestamp:
Aug 12, 2013 4:09:41 PM (11 years ago)
Author:
vboxsync
Message:

HMSVMXR0.cpp: DR6.Bx values are cleared on #DB it seems, while the others aren't.

File:
1 edited

Legend:

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

    r47676 r47677  
    89928992    AssertRCReturn(rc, rc);
    89938993
    8994     Log4(("CS:RIP=%04x:%#RX64\n", pMixedCtx->cs.Sel, pMixedCtx->rip));
    8995 
    89968994    /* Refer Intel spec. 27-5. "Exit Qualifications for I/O Instructions" for the format. */
    89978995    uint32_t uIOPort   = VMX_EXIT_QUALIFICATION_IO_PORT(pVmxTransient->uExitQualification);
     
    90189016         * interpreting the instruction.
    90199017         */
     9018        Log4(("CS:RIP=%04x:%#RX64 %#06x/%u %c str\n", pMixedCtx->cs.Sel, pMixedCtx->rip, uIOPort, cbValue, fIOWrite ? 'w' : 'r'));
    90209019#if 0 /* Not quite ready, seem iSegReg assertion trigger once... Do we perhaps need to always read that in longjmp / preempt scenario? */
    90219020        AssertReturn(pMixedCtx->dx == uIOPort, VERR_HMVMX_IPE_2);
     
    90919090         * IN/OUT - I/O instruction.
    90929091         */
     9092        Log4(("CS:RIP=%04x:%#RX64 %#06x/%u %c\n", pMixedCtx->cs.Sel, pMixedCtx->rip, uIOPort, cbValue, fIOWrite ? 'w' : 'r'));
    90939093        const uint32_t uAndVal = s_aIOOpAnd[uIOWidth];
    90949094        Assert(!VMX_EXIT_QUALIFICATION_IO_IS_REP(pVmxTransient->uExitQualification));
     
    91659165                        uint64_t uDrXFirst  = pMixedCtx->dr[iBp] & ~(uint64_t)cbInvAlign;
    91669166                        uint64_t uDrXLast   = uDrXFirst + cbInvAlign;
     9167
    91679168                        if (uDrXFirst <= uIOPortLast && uDrXLast >= uIOPort)
    91689169                        {
     
    96709671         * (See Intel spec. 27.1 "Architectural State before a VM-Exit".)
    96719672         */
     9673        pMixedCtx->dr[6] &= ~X86_DR6_B_MASK;
    96729674        pMixedCtx->dr[6] |= uDR6;
    96739675        if (CPUMIsGuestDebugStateActive(pVCpu))
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