- Timestamp:
- Jul 5, 2019 7:21:31 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r79532 r79539 7615 7615 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pSvmTransient); 7616 7616 HMSVM_ASSERT_NOT_IN_NESTED_GUEST(&pVCpu->cpum.GstCtx); 7617 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestUD); 7617 7618 7618 7619 /* Paranoia; Ensure we cannot be called as a result of event delivery. */ … … 7661 7662 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pSvmTransient); 7662 7663 HMSVM_CPUMCTX_IMPORT_STATE(pVCpu, HMSVM_CPUMCTX_EXTRN_ALL); 7664 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestMF); 7663 7665 7664 7666 PCPUMCTX pCtx = &pVCpu->cpum.GstCtx; … … 7702 7704 HMSVM_CPUMCTX_IMPORT_STATE(pVCpu, HMSVM_CPUMCTX_EXTRN_ALL); 7703 7705 HMSVM_CHECK_EXIT_DUE_TO_EVENT_DELIVERY(pVCpu, pSvmTransient); 7706 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDB); 7704 7707 7705 7708 if (RT_UNLIKELY(pVCpu->hm.s.Event.fPending)) … … 7758 7761 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pSvmTransient); 7759 7762 HMSVM_CHECK_EXIT_DUE_TO_EVENT_DELIVERY(pVCpu, pSvmTransient); 7763 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestAC); 7760 7764 7761 7765 SVMEVENT Event; … … 7779 7783 HMSVM_CPUMCTX_IMPORT_STATE(pVCpu, HMSVM_CPUMCTX_EXTRN_ALL); 7780 7784 HMSVM_CHECK_EXIT_DUE_TO_EVENT_DELIVERY(pVCpu, pSvmTransient); 7785 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestBP); 7781 7786 7782 7787 PCPUMCTX pCtx = &pVCpu->cpum.GstCtx; … … 7877 7882 HMSVM_VALIDATE_EXIT_HANDLER_PARAMS(pVCpu, pSvmTransient); 7878 7883 HMSVM_CHECK_EXIT_DUE_TO_EVENT_DELIVERY(pVCpu, pSvmTransient); 7884 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestGP); 7879 7885 7880 7886 PCSVMVMCB pVmcb = hmR0SvmGetCurrentVmcb(pVCpu); … … 7937 7943 } 7938 7944 7945 #ifdef VBOX_WITH_STATISTICS 7946 switch (uVector) 7947 { 7948 case SVM_EXIT_XCPT_DE: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDE); break; 7949 /* SVM_EXIT_XCPT_DB: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDB); break; 7950 /* SVM_EXIT_XCPT_NMI: */ /* Handled elsewhere. */ 7951 /* SVM_EXIT_XCPT_BP: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestBP); break; 7952 case SVM_EXIT_XCPT_OF: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestOF); break; 7953 case SVM_EXIT_XCPT_BR: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestBR); break; 7954 /* SVM_EXIT_XCPT_UD: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestUD); break; 7955 case SVM_EXIT_XCPT_NM: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestOF); break; 7956 case SVM_EXIT_XCPT_DF: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDF); break; 7957 case SVM_EXIT_XCPT_CO_SEG_OVERRUN: /* Legacy */ break; 7958 case SVM_EXIT_XCPT_TS: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestTS); break; 7959 case SVM_EXIT_XCPT_NP: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestNP); break; 7960 case SVM_EXIT_XCPT_SS: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestSS); break; 7961 case SVM_EXIT_XCPT_GP: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestGP); break; 7962 /* SVM_EXIT_XCPT_PF: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestPF); break; 7963 case SVM_EXIT_XCPT_15: /* Reserved. */ 7964 /* SVM_EXIT_XCPT_MF: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestMF); break; 7965 /* SVM_EXIT_XCPT_AC: */ STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestAC); break; 7966 case SVM_EXIT_XCPT_MC: /* Machine-check exceptions shouldn't happen. */ break; 7967 case SVM_EXIT_XCPT_XF: STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestXF); break; 7968 } 7969 #endif 7970 7939 7971 hmR0SvmSetPendingEvent(pVCpu, &Event, 0 /* GCPtrFaultAddress */); 7940 7972 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.