VirtualBox

Changeset 51083 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Apr 16, 2014 3:06:27 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Also intercept #TS exceptions while debugging all exception intercepts, logging.

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

Legend:

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

    r50918 r51083  
    35693569                                         | RT_BIT(X86_XCPT_DE)
    35703570                                         | RT_BIT(X86_XCPT_NM)
     3571                                         | RT_BIT(X86_XCPT_TS)
    35713572                                         | RT_BIT(X86_XCPT_UD)
    35723573                                         | RT_BIT(X86_XCPT_NP)
     
    94659466                case X86_XCPT_NP: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestNP);
    94669467                                  rc = hmR0VmxExitXcptGeneric(pVCpu, pMixedCtx, pVmxTransient); break;
     9468                case X86_XCPT_TS: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestNP);
     9469                                  rc = hmR0VmxExitXcptGeneric(pVCpu, pMixedCtx, pVmxTransient); break;
    94679470#endif
    94689471                default:
     
    1122111224        rc |= hmR0VmxSaveGuestState(pVCpu, pMixedCtx);
    1122211225        AssertRCReturn(rc, rc);
    11223         Log4(("#GP Gst: RIP %#RX64 ErrorCode=%#x CR0=%#RX64 CPL=%u\n", pMixedCtx->rip, pVmxTransient->uExitIntErrorCode,
    11224              pMixedCtx->cr0, CPUMGetGuestCPL(pVCpu)));
     11226        Log4(("#GP Gst: CS:RIP %04x:%#RX64 ErrorCode=%#x CR0=%#RX64 CPL=%u TR=%#04x\n", pMixedCtx->cs.Sel, pMixedCtx->rip,
     11227             pVmxTransient->uExitIntErrorCode, pMixedCtx->cr0, CPUMGetGuestCPL(pVCpu), pMixedCtx->tr.Sel));
    1122511228        hmR0VmxSetPendingEvent(pVCpu, VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(pVmxTransient->uExitIntInfo),
    1122611229                               pVmxTransient->cbInstr, pVmxTransient->uExitIntErrorCode, 0 /* GCPtrFaultAddress */);
     
    1148211485    Assert(pVmxTransient->fVmcsFieldsRead & HMVMX_UPDATED_TRANSIENT_EXIT_INTERRUPTION_INFO);
    1148311486
     11487#ifdef DEBUG_ramshankar
     11488    rc |= hmR0VmxSaveGuestSegmentRegs(pVCpu, pMixedCtx);
     11489    uint8_t uVector = VMX_EXIT_INTERRUPTION_INFO_VECTOR(pVmxTransient->uExitIntInfo);
     11490    Log(("hmR0VmxExitXcptGeneric: Reinjecting Xcpt. uVector=%#x cs:rip=%#04x:%#RX64\n", uVector, pCtx->cs.Sel, pCtx->rip));
     11491#endif
     11492
    1148411493    hmR0VmxSetPendingEvent(pVCpu, VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(pVmxTransient->uExitIntInfo),
    1148511494                           pVmxTransient->cbInstr, pVmxTransient->uExitIntErrorCode, 0 /* GCPtrFaultAddress */);
  • trunk/src/VBox/VMM/include/HMInternal.h

    r50870 r51083  
    853853    STAMCOUNTER             StatExitGuestSS;
    854854    STAMCOUNTER             StatExitGuestNP;
     855    STAMCOUNTER             StatExitGuestTS;
    855856    STAMCOUNTER             StatExitGuestGP;
    856857    STAMCOUNTER             StatExitGuestDE;
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