VirtualBox

source: vbox/trunk/src/VBox/VMM/VBoxVMM.d@ 50653

Last change on this file since 50653 was 41338, checked in by vboxsync, 12 years ago

Pass ring-0 address to the tracer when possible (makes accessing much easier).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
RevLine 
[40375]1/* $Id: VBoxVMM.d 41338 2012-05-16 14:39:21Z vboxsync $ */
2/** @file
[40599]3 * VBoxVMM - Static dtrace probes.
[40375]4 */
5
6/*
7 * Copyright (C) 2009-2012 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
[40377]18provider vboxvmm
[40375]19{
[40599]20 probe em__state__changed(struct VMCPU *a_pVCpu, int a_enmOldState, int a_enmNewState, int a_rc);
[40596]21 /*^^VMM-ALT-TP: "%d -> %d (rc=%d)", a_enmOldState, a_enmNewState, a_rc */
22
[40599]23 probe em__state__unchanged(struct VMCPU *a_pVCpu, int a_enmState, int a_rc);
[40596]24 /*^^VMM-ALT-TP: "%d (rc=%d)", a_enmState, a_rc */
25
[40599]26 probe em__raw__run__pre(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx);
[40596]27 /*^^VMM-ALT-TP: "%04x:%08llx", (a_pCtx)->cs, (a_pCtx)->rip */
28
[40599]29 probe em__raw__run__ret(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, int a_rc);
[40596]30 /*^^VMM-ALT-TP: "%04x:%08llx rc=%d", (a_pCtx)->cs, (a_pCtx)->rip, (a_rc) */
31
[40907]32 probe em__ff__high(struct VMCPU *a_pVCpu, uint32_t a_fGlobal, uint32_t a_fLocal, int a_rc);
[40596]33 /*^^VMM-ALT-TP: "vm=%#x cpu=%#x rc=%d", (a_fGlobal), (a_fLocal), (a_rc) */
34
[40907]35 probe em__ff__all(struct VMCPU *a_pVCpu, uint32_t a_fGlobal, uint32_t a_fLocal, int a_rc);
[40596]36 /*^^VMM-ALT-TP: "vm=%#x cpu=%#x rc=%d", (a_fGlobal), (a_fLocal), (a_rc) */
37
[40599]38 probe em__ff__all_ret(struct VMCPU *a_pVCpu, int a_rc);
[40596]39 /*^^VMM-ALT-TP: "%d", (a_rc) */
40
[40907]41 probe em__ff__raw(struct VMCPU *a_pVCpu, uint32_t a_fGlobal, uint32_t a_fLocal);
[40596]42 /*^^VMM-ALT-TP: "vm=%#x cpu=%#x", (a_fGlobal), (a_fLocal) */
43
[40599]44 probe em__ff__raw_ret(struct VMCPU *a_pVCpu, int a_rc);
[40596]45 /*^^VMM-ALT-TP: "%d", (a_rc) */
46
[40921]47 probe pdm__irq__get( struct VMCPU *a_pVCpu, uint32_t a_uTag, uint32_t a_idSource, uint32_t a_iIrq);
48 probe pdm__irq__high(struct VMCPU *a_pVCpu, uint32_t a_uTag, uint32_t a_idSource);
49 probe pdm__irq__low( struct VMCPU *a_pVCpu, uint32_t a_uTag, uint32_t a_idSource);
[40907]50 probe pdm__irq__hilo(struct VMCPU *a_pVCpu, uint32_t a_uTag, uint32_t a_idSource);
51
52
53 probe r0__gvmm__vm__created(void *a_pGVM, void *a_pVM, uint32_t a_Pid, void *a_hEMT0, uint32_t a_cCpus);
[41338]54 probe r0__hmsvm__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitCode,
[40827]55 uint64_t a_ExitInfo1, uint64_t a_ExitInfo2, uint64_t a_ExitIntInfo,
56 uint64_t a_TestArgument);
[41338]57 probe r0__hmvmx__vmexit(struct VMCPU *a_pVCpu, struct CPUMCTX *a_pCtx, uint64_t a_ExitReason);
[40645]58
[40375]59};
60
[40377]61#pragma D attributes Evolving/Evolving/Common provider vboxvmm provider
62#pragma D attributes Private/Private/Unknown provider vboxvmm module
63#pragma D attributes Private/Private/Unknown provider vboxvmm function
64#pragma D attributes Evolving/Evolving/Common provider vboxvmm name
65#pragma D attributes Evolving/Evolving/Common provider vboxvmm args
[40375]66
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use