VirtualBox

Ignore:
Timestamp:
Apr 30, 2013 11:12:38 PM (12 years ago)
Author:
vboxsync
Message:

VMM: STAM counter descriptions, cleanup. Fixed a few erroneous stats in the new VT-x code.

File:
1 edited

Legend:

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

    r45855 r45856  
    40104010            return true;
    40114011    }
    4012     /* All readable fields should also be part of the VMCS write cache. */
     4012    /* Remaining readable fields should also be writable. */
    40134013    return hmR0VmxIsValidWriteField(idxField);
    40144014}
     
    45634563    u32IntrInfo         |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    45644564    u32IntrInfo         |= VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID;
    4565     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    45664565    hmR0VmxSetPendingEvent(pVCpu, u32IntrInfo,  0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    45674566}
     
    58065805            AssertRCReturn(rc, rc);
    58075806            pVCpu->hm.s.Event.fPending = false;
     5807            STAM_COUNTER_INC(&pVCpu->hm.s.StatIntReinject);
    58085808        }
    58095809        else
     
    58475847                rc = hmR0VmxInjectEventVmcs(pVCpu, pMixedCtx, u32IntrInfo, 0 /* cbInstr */,  0 /* u32ErrCode */,
    58485848                                            0 /* GCPtrFaultAddress */, &uIntrState);
     5849                STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    58495850            }
    58505851            else
     
    59135914{
    59145915    uint32_t u32IntrInfo = X86_XCPT_UD | (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT);
    5915     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    59165916    hmR0VmxSetPendingEvent(pVCpu, u32IntrInfo, 0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    59175917}
     
    59325932    u32IntrInfo         |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    59335933    u32IntrInfo         |= VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID;
    5934     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    59355934    return hmR0VmxInjectEventVmcs(pVCpu, pMixedCtx, u32IntrInfo, 0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */,
    59365935                                  puIntrState);
     
    59505949    uint32_t u32IntrInfo = X86_XCPT_DB | (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT);
    59515950    u32IntrInfo         |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    5952     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    59535951    hmR0VmxSetPendingEvent(pVCpu, u32IntrInfo, 0 /* cbInstr */, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    59545952}
     
    59695967    uint32_t u32IntrInfo = X86_XCPT_OF | (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT);
    59705968    u32IntrInfo         |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_INT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    5971     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    59725969    hmR0VmxSetPendingEvent(pVCpu, u32IntrInfo, cbInstr, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    59735970}
     
    59915988    if (fErrorCodeValid)
    59925989        u32IntrInfo |= VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID;
    5993     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    59945990    return hmR0VmxInjectEventVmcs(pVCpu, pMixedCtx, u32IntrInfo, 0 /* cbInstr */, u32ErrorCode, 0 /* GCPtrFaultAddress */,
    59955991                                  puIntrState);
     
    60186014    else
    60196015        u32IntrInfo |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_INT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT);
    6020     STAM_COUNTER_INC(&pVCpu->hm.s.StatIntInject);
    60216016    hmR0VmxSetPendingEvent(pVCpu, u32IntrInfo, cbInstr, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);
    60226017}
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