VirtualBox

Changeset 21561 in vbox


Ignore:
Timestamp:
Jul 14, 2009 12:27:26 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
50036
Message:

Devices: Finally adding the first dtrace probes. :-)

Location:
trunk/src/VBox/Devices
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Makefile.kmk

    r21558 r21561  
    123123#
    124124VBoxDD_TEMPLATE         = VBOXR3
     125ifdef VBOX_WITH_DTRACE_R3
     126 VBoxDD_TEMPLATE        = VBOXR3OSX105
     127endif
    125128VBoxDD_SDKS.win         = WINPSDK DXSDK W2K3DDK VBOX_NTDLL
    126129VBoxDD_SOURCES          = \
     
    264267DevicesR3_DEFS         += VBOX_HGCM_HOST_CODE \
    265268                          $(if $(VBOX_WITH_VMI),VBOX_WITH_VMI,)
    266 DevicesR3_INCS         := \
    267         $(PATH_SUB_CURRENT)
     269DevicesR3_DEFS         += VBOX_WITH_HGCM
     270DevicesR3_DEFS.linux   += _GNU_SOURCE
     271DevicesR3_DEFS.l4      += _GNU_SOURCE
     272
     273DevicesR3_INCS          = \
     274        .
     275
    268276DevicesR3_SOURCES       = \
    269277        Input/DevPS2.cpp \
     
    410418endif
    411419
    412 DevicesR3_DEFS         += VBOX_WITH_HGCM
    413 DevicesR3_DEFS.linux   += _GNU_SOURCE
    414 DevicesR3_DEFS.l4      += _GNU_SOURCE
     420ifdef VBOX_WITH_DTRACE_R3
     421 DevicesR3_TEMPLATE    = VBOXR3OSX105
     422 DevicesR3_DEFS        += VBOX_WITH_DTRACE
     423 DevicesR3_INCS        += $(DevicesR3_0_OUTDIR)
     424 DevicesR3_INTERMEDIATES += $(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h
     425 $$(DevicesR3_0_OUTDIR)/VBoxDD-dtrace.h: $(PATH_CURRENT)/VBoxDD-dtrace.d | $$(dir $$@)
     426        dtrace -C -h -o $@ -s $<
     427endif
    415428
    416429ifdef VBOX_WITH_DYNAMIC_DSDT
    417 DevicesR3_CLEAN        += $(PATH_DevicesR3)/vboxdsl.hex
    418 PC/ACPI/VBoxAcpi.cpp_DEPS    = $(PATH_DevicesR3)/vboxdsl.hex
    419 
    420 $$(PATH_DevicesR3)/vboxdsl.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
     430 DevicesR3_CLEAN       += $(PATH_DevicesR3)/vboxdsl.hex
     431 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxdsl.hex
     432
     433 $$(PATH_DevicesR3)/vboxdsl.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
    421434        $(call MSG_TOOL,bin2c,DevicesR3,$<,$@)
    422435        $(QUIET)$(VBOX_BIN2C) -export VboxDslSource $< $@
    423436
    424 vboxdsl.hex:: $$(PATH_DevicesR3)/vboxdsl.hex
    425 
    426 else
    427 # VBoxAcpi.cpp needs vboxaml.hex which we generate from PC/vbox.dsl
    428 DevicesR3_CLEAN        += $(PATH_DevicesR3)/vboxaml.hex $(PATH_DevicesR3)/vboxaml.aml
    429 PC/ACPI/VBoxAcpi.cpp_DEPS    = $(PATH_DevicesR3)/vboxaml.hex
    430 
    431 $$(PATH_DevicesR3)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
     437 vboxdsl.hex:: $$(PATH_DevicesR3)/vboxdsl.hex
     438
     439else  # !VBOX_WITH_DYNAMIC_DSDT
     440 # VBoxAcpi.cpp needs vboxaml.hex which we generate from PC/vbox.dsl
     441 DevicesR3_CLEAN        += $(PATH_DevicesR3)/vboxaml.hex $(PATH_DevicesR3)/vboxaml.aml
     442 PC/ACPI/VBoxAcpi.cpp_DEPS = $(PATH_DevicesR3)/vboxaml.hex
     443
     444 $$(PATH_DevicesR3)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
    432445        $(call MSG_TOOL,iasl,DevicesR3,$<,$@)
    433446        $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
    434447
    435 vboxaml.hex:: $$(PATH_DevicesR3)/vboxaml.hex
    436 
    437 endif
    438 PC/ACPI/VBoxAcpi.cpp_INCS     = $(PATH_DevicesR3)
     448 vboxaml.hex:: $$(PATH_DevicesR3)/vboxaml.hex
     449
     450endif # !VBOX_WITH_DYNAMIC_DSDT
     451PC/ACPI/VBoxAcpi.cpp_INCS = $(PATH_DevicesR3)
    439452
    440453# For finding PCIInternal.h from VBox/pci.h.
  • trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp

    r21512 r21561  
    3535#include "VMMDevHGCM.h"
    3636
     37#ifdef VBOX_WITH_DTRACE
     38# include "VBoxDD-dtrace.h"
     39#else
     40# define VBOXDD_HGCMCALL_ENTER(a,b,c,d)             do { } while (0)
     41# define VBOXDD_HGCMCALL_COMPLETED_REQ(a,b)         do { } while (0)
     42# define VBOXDD_HGCMCALL_COMPLETED_EMT(a,b)         do { } while (0)
     43# define VBOXDD_HGCMCALL_COMPLETED_DONE(a,b,c,d)    do { } while (0)
     44#endif
     45
    3746typedef enum _VBOXHGCMCMDTYPE
    3847{
     
    724733        pCmd->paLinPtrs = NULL;
    725734    }
     735
     736    VBOXDD_HGCMCALL_ENTER(pCmd, pHGCMCall->u32Function, pHGCMCall->u32ClientID, cbCmdSize);
    726737
    727738    /* Process parameters, changing them to host context pointers for easy
     
    15711582{
    15721583    VMMDevState *pVMMDevState = PDMIHGCMPORT_2_VMMDEVSTATE(pInterface);
     1584#ifdef VBOX_WITH_DTRACE
     1585    uint32_t idFunction = 0;
     1586    uint32_t idClient   = 0;
     1587#endif
    15731588
    15741589    int rc = VINF_SUCCESS;
     
    15931608     * back to guest memory.
    15941609     */
     1610    VBOXDD_HGCMCALL_COMPLETED_EMT(pCmd, result);
    15951611    vmmdevHGCMRemoveCommand (pVMMDevState, pCmd);
    15961612
     
    17521768                    }
    17531769                }
     1770# ifdef VBOX_WITH_DTRACE
     1771                idFunction = pHGCMCall->u32Function;
     1772                idClient   = pHGCMCall->u32ClientID;
     1773# endif
    17541774                break;
    17551775            }
     
    18501870                    }
    18511871                }
     1872# ifdef VBOX_WITH_DTRACE
     1873                idFunction = pHGCMCall->u32Function;
     1874                idClient   = pHGCMCall->u32ClientID;
     1875# endif
    18521876                break;
    18531877            }
     
    19481972                    }
    19491973                }
     1974# ifdef VBOX_WITH_DTRACE
     1975                idFunction = pHGCMCall->u32Function;
     1976                idClient   = pHGCMCall->u32ClientID;
     1977# endif
    19501978                break;
    19511979            }
     
    19962024    RTMemFree (pCmd);
    19972025
     2026    VBOXDD_HGCMCALL_COMPLETED_DONE(pCmd, idFunction, idClient, result);
    19982027    return;
    19992028}
     
    20022031{
    20032032    VMMDevState *pVMMDevState = PDMIHGCMPORT_2_VMMDEVSTATE(pInterface);
     2033
     2034    VBOXDD_HGCMCALL_COMPLETED_REQ(pCmd, result);
    20042035
    20052036/** @todo no longer necessary to forward to EMT, but it might be more
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette