- Timestamp:
- Mar 28, 2013 2:36:52 PM (12 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r44934 r45235 1333 1333 || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_HM_TO_R3_MASK)) 1334 1334 { 1335 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitch ToR3);1335 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchHmToR3FF); 1336 1336 rc = RT_UNLIKELY(VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) ? VINF_EM_NO_MEMORY : VINF_EM_RAW_TO_R3; 1337 1337 goto end; … … 2316 2316 if (rc == VINF_SUCCESS) 2317 2317 { 2318 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushPageInvlpg);2319 2318 goto ResumeExecution; /* eip already updated */ 2320 2319 } … … 3074 3073 else 3075 3074 #endif 3075 { 3076 3076 SVMR0InvlpgA(GCVirt, pvVMCB->ctrl.TLBCtrl.n.u32ASID); 3077 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpgVirt); 3078 } 3077 3079 } 3078 3080 return VINF_SUCCESS; … … 3094 3096 /* invlpga only invalidates TLB entries for guest virtual addresses; we have no choice but to force a TLB flush here. */ 3095 3097 VMCPU_FF_SET(pVCpu, VMCPU_FF_TLB_FLUSH); 3096 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpg a);3098 STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpgPhys); 3097 3099 return VINF_SUCCESS; 3098 3100 } -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r45216 r45235 116 116 EXIT_REASON(VMX_EXIT_WBINVD , 54, "WBINVD. Guest software attempted to execute WBINVD."), 117 117 EXIT_REASON(VMX_EXIT_XSETBV , 55, "XSETBV. Guest software attempted to execute XSETBV."), 118 EXIT_REASON_NIL() 118 EXIT_REASON_NIL(), 119 EXIT_REASON(VMX_EXIT_RDRAND , 57, "RDRAND. Guest software attempted to execute RDRAND."), 120 EXIT_REASON(VMX_EXIT_INVPCID , 58, "INVPCID. Guest software attempted to execute INVPCID."), 121 EXIT_REASON(VMX_EXIT_VMFUNC , 59, "VMFUNC. Guest software attempted to execute VMFUNC.") 119 122 }; 120 123 /** Exit reason descriptions for AMD-V, used to describe statistics. */ … … 576 579 577 580 HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchGuestIrq, "/HM/CPU%d/Switch/IrqPending"); 581 HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchHmToR3FF, "/HM/CPU%d/Switch/HmToR3FF"); 578 582 HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchToR3, "/HM/CPU%d/Switch/ToR3"); 579 583 … … 587 591 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlb, "/HM/CPU%d/Flush/TLB"); 588 592 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbManual, "/HM/CPU%d/Flush/TLB/Manual"); 589 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbCRxChange, "/HM/CPU%d/Flush/TLB/CRx");590 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushPageInvlpg, "/HM/CPU%d/Flush/Page/Invlpg");591 593 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbWorldSwitch, "/HM/CPU%d/Flush/TLB/Switch"); 592 594 HM_REG_COUNTER(&pVCpu->hm.s.StatNoFlushTlbWorldSwitch, "/HM/CPU%d/Flush/TLB/Skipped"); 593 595 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushAsid, "/HM/CPU%d/Flush/TLB/ASID"); 594 596 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushNestedPaging, "/HM/CPU%d/Flush/TLB/NestedPaging"); 595 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpga, "/HM/CPU%d/Flush/TLB/PhysInvl"); 597 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpgVirt, "/HM/CPU%d/Flush/TLB/InvlpgVirt"); 598 HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpgPhys, "/HM/CPU%d/Flush/TLB/InvlpgPhys"); 596 599 HM_REG_COUNTER(&pVCpu->hm.s.StatTlbShootdown, "/HM/CPU%d/Flush/Shootdown/Page"); 597 600 HM_REG_COUNTER(&pVCpu->hm.s.StatTlbShootdownFlush, "/HM/CPU%d/Flush/Shootdown/TLB"); -
trunk/src/VBox/VMM/include/HMInternal.h
r45095 r45235 871 871 STAMCOUNTER StatFlushTlb; 872 872 STAMCOUNTER StatFlushTlbManual; 873 STAMCOUNTER StatFlushPageInvlpg;874 873 STAMCOUNTER StatFlushTlbWorldSwitch; 875 874 STAMCOUNTER StatNoFlushTlbWorldSwitch; 876 STAMCOUNTER StatFlushTlbCRxChange;877 875 STAMCOUNTER StatFlushAsid; 878 876 STAMCOUNTER StatFlushNestedPaging; 879 STAMCOUNTER StatFlushTlbInvlpga; 877 STAMCOUNTER StatFlushTlbInvlpgVirt; 878 STAMCOUNTER StatFlushTlbInvlpgPhys; 880 879 STAMCOUNTER StatTlbShootdown; 881 880 STAMCOUNTER StatTlbShootdownFlush; 882 881 883 882 STAMCOUNTER StatSwitchGuestIrq; 883 STAMCOUNTER StatSwitchHmToR3FF; 884 884 STAMCOUNTER StatSwitchToR3; 885 885
Note:
See TracChangeset
for help on using the changeset viewer.