- Timestamp:
- Jan 1, 2015 11:53:43 PM (10 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VBoxVMM.d
r41338 r53631 5 5 6 6 /* 7 * Copyright (C) 2009-201 2Oracle Corporation7 * Copyright (C) 2009-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 36 36 /*^^VMM-ALT-TP: "vm=%#x cpu=%#x rc=%d", (a_fGlobal), (a_fLocal), (a_rc) */ 37 37 38 probe em__ff__all_ ret(struct VMCPU *a_pVCpu, int a_rc);38 probe em__ff__all__ret(struct VMCPU *a_pVCpu, int a_rc); 39 39 /*^^VMM-ALT-TP: "%d", (a_rc) */ 40 40 … … 52 52 53 53 probe r0__gvmm__vm__created(void *a_pGVM, void *a_pVM, uint32_t a_Pid, void *a_hEMT0, uint32_t a_cCpus); 54 probe r0__hmsvm__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitCode, 55 uint64_t a_ExitInfo1, uint64_t a_ExitInfo2, uint64_t a_ExitIntInfo, 56 uint64_t a_TestArgument); 57 probe r0__hmvmx__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitReason); 54 probe r0__hmsvm__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitCode, struct SVMVMCB *a_pVmcb); 55 probe r0__hmvmx__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitReason, uint64_t a_ExitQualification); 56 probe r0__hmvmx__vmexit__noctx(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pIncompleteCtx, uint64_t a_ExitReason); 58 57 59 58 }; -
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); -
trunk/src/VBox/VMM/dtrace/vmexit-rip-aggregation-1.d
r41274 r53631 18 18 #pragma D option quiet 19 19 20 20 21 vboxvmm:::r0-hmsvm-vmexit,vboxvmm:::r0-hmvmx-vmexit 21 22 { 22 /* printf("cs:rip=%02x:%08llx", args[1]->cs, args[1]->rip.rip);*/23 /*printf("cs:rip=%02x:%08llx", args[1]->cs.Sel, args[1]->rip.rip);*/ 23 24 @g_aRips[args[1]->rip.rip] = count(); 24 25 /*@g_aRips[args[0]->cpum.s.Guest.rip.rip] = count(); - alternative access route */
Note:
See TracChangeset
for help on using the changeset viewer.