VirtualBox

Changeset 58977 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Dec 3, 2015 9:45:22 PM (9 years ago)
Author:
vboxsync
Message:

VBoxVMM.d,dbgf.h: Some new DBGF exit events, updated the dtrace provider with probes matching most of the DBGF exit events because it's no big deal once we've got the events. Some of the probes needs more parameters, will consider that later or when needed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VBoxVMM.d

    r58940 r58977  
    8484    /** \#GP - general protection fault.  */
    8585    probe xcpt__gp(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t a_uErr);
    86     /** \#PG - page fault.  */
    87     probe xcpt__pg(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t a_uErr, uint64_t a_cr2);
     86    /** \#PF - page fault.  */
     87    probe xcpt__pf(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t a_uErr, uint64_t a_cr2);
    8888    /** \#MF - math fault (FPU).  */
    8989    probe xcpt__mf(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     
    102102    probe int__hardware(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint8_t a_iInterrupt, uint32_t a_uTag, uint32_t a_idSource);
    103103
     104    /** Exit - Task switch. */
     105    probe exit__task__switch(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     106    /** Exit - HALT instruction.
     107     * @todo not yet implemented. */
     108    probe exit__halt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     109    /** Exit - MWAIT instruction. */
     110    probe exit__mwait(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     111    /** Exit - MONITOR instruction. */
     112    probe exit__monitor(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     113    /** Exit - CPUID instruction (missing stuff in raw-mode). */
     114    probe exit__cpuid(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t uLeaf, uint32_t uSubLeaf);
     115    /** Exit - INVD instruction.  */
     116    probe exit__invd(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     117    /** Exit - WBINVD instruction. */
     118    probe exit__wbinvd(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     119    /** Exit - INVLPG instruction. */
     120    probe exit__invlpg(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     121    /** Exit - RDTSC instruction.  */
     122    probe exit__rdtsc(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     123    /** Exit - RDTSCP instruction. */
     124    probe exit__rdtscp(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     125    /** Exit - RDPMC instruction.  */
     126    probe exit__rdpmc(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     127    /** Exit - RDMSR instruction.  */
     128    probe exit__rdmsr(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t a_idMsr);
     129    /** Exit - WRMSR instruction.  */
     130    probe exit__wrmsr(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint32_t a_idMsr, uint64_t a_uValue);
     131    /** Exit - CRx read instruction (missing smsw in raw-mode,
     132     *  and reads in general in VT-x). */
     133    probe exit__crx__read(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint8_t a_iReg);
     134    /** Exit - CRx write instruction. */
     135    probe exit__crx__write(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint8_t a_iReg);
     136    /** Exit - DRx read instruction. */
     137    probe exit__drx__read(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint8_t a_iReg);
     138    /** Exit - DRx write instruction. */
     139    probe exit__drx__write(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint8_t a_iReg);
     140    /** Exit - PAUSE instruction (not in raw-mode). */
     141    probe exit__pause(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     142    /** Exit - XSETBV instruction. */
     143    probe exit__xsetbv(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     144    /** Exit - SIDT instruction.  */
     145    probe exit__sidt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     146    /** Exit - LIDT instruction. */
     147    probe exit__lidt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     148    /** Exit - SGDT instruction. */
     149    probe exit__sgdt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     150    /** Exit - LGDT instruction. */
     151    probe exit__lgdt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     152    /** Exit - SLDT instruction. */
     153    probe exit__sldt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     154    /** Exit - LLDT instruction. */
     155    probe exit__lldt(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     156    /** Exit - STR instruction. */
     157    probe exit__str(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     158    /** Exit - LTR instruction. */
     159    probe exit__ltr(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     160    /** Exit - GETSEC instruction. */
     161    probe exit__getsec(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     162    /** Exit - RSM instruction. */
     163    probe exit__rsm(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     164    /** Exit - RDRAND instruction. */
     165    probe exit__rdrand(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     166    /** Exit - RDSEED instruction. */
     167    probe exit__rdseed(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     168    /** Exit - XSAVES instruction. */
     169    probe exit__xsaves(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     170    /** Exit - XRSTORS instruction.  */
     171    probe exit__xrstors(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     172    /** Exit - VMCALL (intel) or VMMCALL (AMD) instruction. */
     173    probe exit__vmm__call(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     174
     175    /** Exit - VT-x VMCLEAR instruction. */
     176    probe exit__vmx__vmclear(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     177    /** Exit - VT-x VMLAUNCH instruction. */
     178    probe exit__vmx__vmlaunch(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     179    /** Exit - VT-x VMPTRLD instruction. */
     180    probe exit__vmx__vmptrld(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     181    /** Exit - VT-x VMPTRST instruction. */
     182    probe exit__vmx__vmptrst(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     183    /** Exit - VT-x VMREAD instruction. */
     184    probe exit__vmx__vmread(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     185    /** Exit - VT-x VMRESUME instruction. */
     186    probe exit__vmx__vmresume(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     187    /** Exit - VT-x VMWRITE instruction. */
     188    probe exit__vmx__vmwrite(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     189    /** Exit - VT-x VMXOFF instruction. */
     190    probe exit__vmx__vmxoff(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     191    /** Exit - VT-x VMXON instruction. */
     192    probe exit__vmx__vmxon(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     193    /** Exit - VT-x VMFUNC instruction. */
     194    probe exit__vmx__vmfunc(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     195    /** Exit - VT-x INVEPT instruction. */
     196    probe exit__vmx__invept(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     197    /** Exit - VT-x INVVPID instruction. */
     198    probe exit__vmx__invvpid(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     199    /** Exit - VT-x INVPCID instruction. */
     200    probe exit__vmx__invpcid(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     201    /** Exit - VT-x EPT violation. */
     202    probe exit__vmx__ept__violation(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     203    /** Exit - VT-x EPT misconfiguration. */
     204    probe exit__vmx__ept__misconfig(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     205    /** Exit - VT-x Virtual APIC page access. */
     206    probe exit__vmx__vapic__access(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     207    /** Exit - VT-x Virtual APIC page write needing virtualizing. */
     208    probe exit__vmx__vapic__write(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     209
     210    /** Exit - AMD-V VMRUN instruction. */
     211    probe exit__svm__vmrun(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     212    /** Exit - AMD-V VMLOAD instruction. */
     213    probe exit__svm__vmload(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     214    /** Exit - AMD-V VMSAVE instruction. */
     215    probe exit__svm__vmsave(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     216    /** Exit - AMD-V STGI instruction. */
     217    probe exit__svm__stgi(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
     218    /** Exit - AMD-V CLGI instruction. */
     219    probe exit__svm__clgi(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
    104220};
    105221
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