VirtualBox

Ignore:
Timestamp:
May 19, 2012 6:18:42 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
78040
Message:

SUPDrv: An DTrace on UEK experiments.

Location:
trunk/src/VBox/HostDrivers/Support
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp

    r41164 r41354  
    4646#ifdef RT_OS_DARWIN
    4747# include VBOX_PATH_MACOSX_DTRACE_H
     48#elif defined(RT_OS_LINUX)
     49/* DTrace experiments with the Unbreakable Enterprise Kernel (UEK)
     50   (Oracle Linux).
     51   1. The dtrace.h here is from the dtrace module source, not
     52      /usr/include/sys/dtrace.h nor /usr/include/dtrace.h.
     53   2. To generate the missing entries for the dtrace module in Module.symvers
     54      of UEK:
     55      nm /lib/modules/....../kernel/drivers/dtrace/dtrace.ko  \
     56      | grep _crc_ \
     57      | sed -e 's/^......../0x/' -e 's/ A __crc_/\t/' \
     58            -e 's/$/\tdrivers\/dtrace\/dtrace\tEXPORT_SYMBOL/' \
     59      >> Module.symvers
     60   3. No tracepoints in vboxdrv, vboxnet* or vboxpci yet.  This requires yasm
     61      and VBoxTpG and build time. */
     62# undef UINT8_MAX
     63# undef UINT16_MAX
     64# undef UINT32_MAX
     65# undef UINT64_MAX
     66# undef INT64_MAX
     67# undef INT64_MIN
     68# define intptr_t dtrace_intptr_t
     69# include "dtrace.h"
    4870#else
    4971# include <sys/dtrace.h>
     
    285307     */
    286308    uint16_t const idxProv = (uint16_t)((PVTGDESCPROVIDER)((uintptr_t)pProv->pHdr + pProv->pHdr->offProviders) - pProv->pDesc);
    287     for (uint32_t idxProbeLoc = 0; idxProbeLoc < cProbeLocs; idxProbeLoc++)
     309    uint32_t idxProbeLoc;
     310    for (idxProbeLoc = 0; idxProbeLoc < cProbeLocs; idxProbeLoc++)
    288311    {
    289312        /* Skip probe location belonging to other providers or once that
     
    596619            else
    597620            {
    598                 for (int i = 5; i < iArg; i++)
     621                int i;
     622                for (i = 5; i < iArg; i++)
    599623                    if (VTG_TYPE_IS_LARGE(pArgList->aArgs[iArg].fType))
    600624                        offArg++;
  • trunk/src/VBox/HostDrivers/Support/linux/Makefile

    r40800 r41354  
    122122        common/misc/thread.o \
    123123        common/string/RTStrCopy.o \
     124        common/string/RTStrCopyEx.o \
    124125        common/string/RTStrCopyP.o \
    125126        common/string/RTStrNCmp.o \
     
    159160OBJS += common/alloc/heapsimple.o
    160161endif
     162ifdef VBOX_WITH_NATIVE_DTRACE
     163OBJS += SUPDrvDTrace.o
     164endif
    161165
    162166ifneq ($(MAKECMDGOALS),clean)
     
    251255 KFLAGS  += -DCONFIG_VBOXDRV_AS_MISC
    252256endif
     257ifdef VBOX_WITH_NATIVE_DTRACE
     258 KFLAGS  += -DVBOX_WITH_NATIVE_DTRACE
     259endif
    253260ifeq ($(BUILD_TARGET_ARCH),amd64)
    254261 KFLAGS  += -DRT_ARCH_AMD64
  • trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv

    r40833 r41354  
    8282    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrvSem.c=>SUPDrvSem.c \
    8383    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrvTracer.cpp=>SUPDrvTracer.c \
     84    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp=>SUPDrvDTrace.c \
    8485    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrvIDC.h=>SUPDrvIDC.h \
    8586    ${PATH_ROOT}/src/VBox/HostDrivers/Support/SUPDrvIOC.h=>SUPDrvIOC.h \
     
    116117    ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \
    117118    ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \
     119    ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopy.cpp=>common/string/RTStrCopy.c \
     120    ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopyEx.cpp=>common/string/RTStrCopyEx.c \
    118121    ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopyP.cpp=>common/string/RTStrCopyP.c \
    119     ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopy.cpp=>common/string/RTStrCopy.c \
    120122    ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrNCmp.cpp=>common/string/RTStrNCmp.c \
    121123    ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrNLen.cpp=>common/string/RTStrNLen.c \
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