Changeset 53631 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Jan 1, 2015 11:53:43 PM (10 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r53629 r53631 31 31 #include <VBox/vmm/tm.h> 32 32 #include <VBox/vmm/gim.h> 33 #include "dtrace/VBoxVMM.h" 33 34 34 35 #ifdef DEBUG_ramshankar … … 3300 3301 HMSVM_EXITCODE_STAM_COUNTER_INC(SvmTransient.u64ExitCode); 3301 3302 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatExit1, &pVCpu->hm.s.StatExit2, x); 3303 VBOXVMM_R0_HMSVM_VMEXIT(pVCpu, pCtx, SvmTransient.u64ExitCode, (PSVMVMCB)pVCpu->hm.s.svm.pvVmcb); 3302 3304 rc = hmR0SvmHandleExit(pVCpu, pCtx, &SvmTransient); 3303 3305 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit2, x); … … 3377 3379 HMSVM_EXITCODE_STAM_COUNTER_INC(SvmTransient.u64ExitCode); 3378 3380 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatExit1, &pVCpu->hm.s.StatExit2, x); 3381 VBOXVMM_R0_HMSVM_VMEXIT(pVCpu, pCtx, SvmTransient.u64ExitCode, (PSVMVMCB)pVCpu->hm.s.svm.pvVmcb); 3379 3382 rc = hmR0SvmHandleExit(pVCpu, pCtx, &SvmTransient); 3380 3383 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit2, x); -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r53628 r53631 37 37 # include <VBox/vmm/rem.h> 38 38 #endif 39 # include "dtrace/VBoxVMM.h" 40 39 41 #ifdef DEBUG_ramshankar 40 42 # define HMVMX_ALWAYS_SAVE_GUEST_RFLAGS … … 8832 8834 } 8833 8835 8834 /* Handlethe VM-exit. */8836 /* Profiling the VM-exit. */ 8835 8837 AssertMsg(VmxTransient.uExitReason <= VMX_EXIT_MAX, ("%#x\n", VmxTransient.uExitReason)); 8836 8838 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitAll); … … 8838 8840 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatExit1, &pVCpu->hm.s.StatExit2, x); 8839 8841 HMVMX_START_EXIT_DISPATCH_PROF(); 8842 8843 VBOXVMM_R0_HMVMX_VMEXIT_NOCTX(pVCpu, pCtx, VmxTransient.uExitReason); 8844 if (RT_UNLIKELY(VBOXVMM_R0_HMVMX_VMEXIT_ENABLED())) 8845 { 8846 hmR0VmxReadExitQualificationVmcs(pVCpu, &VmxTransient); 8847 hmR0VmxSaveGuestState(pVCpu, pCtx); 8848 VBOXVMM_R0_HMVMX_VMEXIT(pVCpu, pCtx, VmxTransient.uExitReason, VmxTransient.uExitQualification); 8849 } 8850 8851 /* Handle the VM-exit. */ 8840 8852 #ifdef HMVMX_USE_FUNCTION_TABLE 8841 8853 rc = g_apfnVMExitHandlers[VmxTransient.uExitReason](pVCpu, pCtx, &VmxTransient); … … 8905 8917 return VBOXSTRICTRC_TODO(rcStrict); 8906 8918 } 8907 8908 /* Handle the VM-exit - we quit earlier on certain VM-exits, see hmR0VmxHandleExitStep(). */ 8919 /* Profiling the VM-exit. */ 8909 8920 AssertMsg(VmxTransient.uExitReason <= VMX_EXIT_MAX, ("%#x\n", VmxTransient.uExitReason)); 8910 8921 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitAll); … … 8912 8923 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatExit1, &pVCpu->hm.s.StatExit2, x); 8913 8924 HMVMX_START_EXIT_DISPATCH_PROF(); 8925 8926 VBOXVMM_R0_HMVMX_VMEXIT_NOCTX(pVCpu, pCtx, VmxTransient.uExitReason); 8927 if (RT_UNLIKELY(VBOXVMM_R0_HMVMX_VMEXIT_ENABLED())) 8928 { 8929 hmR0VmxReadExitQualificationVmcs(pVCpu, &VmxTransient); 8930 hmR0VmxSaveGuestState(pVCpu, pCtx); 8931 VBOXVMM_R0_HMVMX_VMEXIT(pVCpu, pCtx, VmxTransient.uExitReason, VmxTransient.uExitQualification); 8932 } 8933 8934 /* Handle the VM-exit - we quit earlier on certain VM-exits, see hmR0VmxHandleExitStep(). */ 8914 8935 rcStrict = hmR0VmxHandleExitStep(pVCpu, pCtx, &VmxTransient, VmxTransient.uExitReason, uCsStart, uRipStart); 8915 8936 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit2, x);
Note:
See TracChangeset
for help on using the changeset viewer.