Index: /trunk/debian/lintian-override.in
===================================================================
--- /trunk/debian/lintian-override.in	(revision 54029)
+++ /trunk/debian/lintian-override.in	(revision 54030)
@@ -34,4 +34,5 @@
 %VERPKG%: binary-without-manpage usr/bin/VBox
 %VERPKG%: binary-without-manpage usr/bin/VBoxBalloonCtrl
+%VERPKG%: binary-without-manpage usr/bin/VBoxDTrace
 %VERPKG%: binary-without-manpage usr/bin/VBoxHeadless
 %VERPKG%: binary-without-manpage usr/bin/VBoxManage
@@ -42,4 +43,5 @@
 %VERPKG%: binary-without-manpage usr/bin/rdesktop-vrdp
 %VERPKG%: binary-without-manpage usr/bin/vboxballoonctrl
+%VERPKG%: binary-without-manpage usr/bin/vboxdtrace
 %VERPKG%: binary-without-manpage usr/bin/vboxheadless
 %VERPKG%: binary-without-manpage usr/bin/vboxmanage
@@ -75,4 +77,5 @@
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDDU.so /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDbg.so /usr/lib/virtualbox
+%VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDTrace /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxGuestPropSvc.so /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxGuestControlSvc.so /usr/lib/virtualbox
Index: /trunk/src/VBox/Installer/Config.kmk
===================================================================
--- /trunk/src/VBox/Installer/Config.kmk	(revision 54030)
+++ /trunk/src/VBox/Installer/Config.kmk	(revision 54030)
@@ -0,0 +1,72 @@
+# $Id$
+## @file
+# kBuild Configuration file for the installers
+#
+
+#
+# Copyright (C) 2015 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+VBOX_INSTALLER_CONFIG_KMK_INCLUDED = 1
+
+# Include the top-level configure file.
+ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
+ include $(PATH_ROOT)/Config.kmk
+endif
+
+
+#
+# DTrace globals.
+#
+ifdef VBOX_WITH_DTRACE
+ ## List of files in the per arch DTrace library directory.
+ VBOXINST_DTRACE_LIB_ARCH_FILES := \
+ 	 vbox-types.d \
+ 	 vbox-arch-types.d \
+ 	 vm.d \
+ 	 cpumctx.d \
+ 	 CPUMInternal.d \
+ 	 x86.d
+ ## List of files in the per arch DTrace testcase directory.
+ VBOXINST_DTRACE_TESTCASE_ARCH_FILES := \
+ 	vbox-vm-struct-test.d
+ ## List of file in the DTrace scripts directory.
+ VBOXINST_DTRACE_SCRIPTS_FILES :=
+else
+ VBOXINST_DTRACE_LIB_ARCH_FILES :=
+ VBOXINST_DTRACE_TESTCASE_ARCH_FILES :=
+ VBOXINST_DTRACE_SCRIPTS_FILES :=
+endif
+
+
+#
+# Some combined package (CP) globals.
+#
+ifeq ($(KBUILD_TARGET_ARCH),x86)
+ VBOX_CP_THIS_BITS   := 32
+ ifdef VBOX_WITH_COMBINED_PACKAGE
+  VBOX_CP_OTHER_ARCH := amd64
+  VBOX_CP_OTHER_BITS := 64
+ else
+  VBOX_CP_OTHER_ARCH = $(error VBOX_CP_OTHER_ARCH used in without VBOX_WITH_COMBINED_PACKAGE set)
+  VBOX_CP_OTHER_BITS = $(error VBOX_CP_OTHER_ARCH used in without VBOX_CP_OTHER_BITS set)
+ endif
+else
+  VBOX_CP_THIS_BITS  := 64
+ ifdef VBOX_WITH_COMBINED_PACKAGE
+  VBOX_CP_OTHER_ARCH := x86
+  VBOX_CP_OTHER_BITS := 32
+ else
+  VBOX_CP_OTHER_ARCH = $(error VBOX_CP_OTHER_ARCH used in without VBOX_WITH_COMBINED_PACKAGE set)
+  VBOX_CP_OTHER_BITS = $(error VBOX_CP_OTHER_ARCH used in without VBOX_CP_OTHER_BITS set)
+ endif
+endif
+
Index: /trunk/src/VBox/Installer/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/Makefile.kmk	(revision 54030)
@@ -5,5 +5,5 @@
 
 #
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2015 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
@@ -18,4 +18,11 @@
 SUB_DEPTH = ../../..
 include $(KBUILD_PATH)/subheader.kmk
+
+#
+# Make sure our Config.kmk is included.
+#
+ifndef VBOX_INSTALLER_CONFIG_KMK_INCLUDED
+ include $(PATH_SUB_CURRENT)/Config.kmk
+endif
 
 #
Index: /trunk/src/VBox/Installer/darwin/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/darwin/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/darwin/Makefile.kmk	(revision 54030)
@@ -31,7 +31,9 @@
   VBOX_PATH_DIST_32 = $(VBOX_PATH_DIST)
   VBOX_PATH_DIST_64 = $(PATH_OUT_BASE)/darwin.amd64/$(KBUILD_TYPE)/dist
+  VBOX_PATH_DIST_OTHER = $(VBOX_PATH_DIST_64)
  else
   VBOX_PATH_DIST_64 = $(VBOX_PATH_DIST)
   VBOX_PATH_DIST_32 = $(PATH_OUT_BASE)/darwin.x86/$(KBUILD_TYPE)/dist
+  VBOX_PATH_DIST_OTHER = $(VBOX_PATH_DIST_32)
  endif
  VBOX_DI_FN_DEP_BOTH = $(VBOX_PATH_DIST_32)/$1 $(VBOX_PATH_DIST_64)/$2
@@ -48,4 +50,5 @@
   VBOX_DI_FN_DEP_32  =
  endif
+ VBOX_PATH_DIST_OTHER = $(error VBOX_PATH_DIST_OTHER used in a non-combined package deal)
 endif
 
@@ -575,4 +578,13 @@
 		$(VBOX_PATH_DI_SRC)/VirtualBox/org.virtualbox.vboxautostart.plist \
 		$(VBOX_PATH_DI_SRC)/VirtualBox/VBoxAutostartDarwin.sh \
+               $(if-expr defined(VBOX_WITH_DTRACE), \
+                $(foreach f, $(VBOXINST_DTRACE_LIB_ARCH_FILES) \
+		 	$(call VBOX_DI_FN_DEP_32,VirtualBox.app/Contents/MacOS/dtrace/lib/x86/$f) \
+		 	$(call VBOX_DI_FN_DEP_64,VirtualBox.app/Contents/MacOS/dtrace/lib/amd64/$f)) \
+                $(foreach f, $(VBOXINST_DTRACE_TESTCASE_ARCH_FILES) \
+		 	$(call VBOX_DI_FN_DEP_32,VirtualBox.app/Contents/MacOS/dtrace/testcase/x86/$f) \
+		 	$(call VBOX_DI_FN_DEP_64,VirtualBox.app/Contents/MacOS/dtrace/testcase/amd64/$f)) \
+                $(addprefix $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES)) \
+		 ,) \
 		$(VBOX_DARWIN_INST_DEP_ON_MAKEFILE)
 	$(call MSG_TOOL,pkgbuild,,,$@)
@@ -743,4 +755,26 @@
 			$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/$(f)$(NLTAB) )
 endif
+ifdef VBOX_WITH_DTRACE
+	@# DTrace library, testcases and scripts.
+       $(MKDIR) -p -m 0755 -- \
+		$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/lib/$(KBUILD_TARGET_ARCH)/ \
+		$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/testcase/$(KBUILD_TARGET_ARCH)/ \
+		$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/scripts/
+	$(foreach file, $(addprefix lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+			$(addprefix testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+       		$(addprefix scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES)) \
+		,$(INSTALL) -m 0655 $(VBOX_PATH_DIST)/VirtualBox.app/Contents/MacOS/dtrace/$(file) \
+			$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/$(file)$(NLTAB))
+ ifdef VBOX_WITH_COMBINED_PACKAGE
+       $(MKDIR) -p -m 0755 -- \
+		$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/lib/$(VBOX_CP_OTHER_ARCH)/ \
+		$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/testcase/$(VBOX_CP_OTHER_ARCH)/
+	$(foreach file, $(addprefix lib/$(VBOX_CP_OTHER_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+			$(addprefix testcase/$(VBOX_CP_OTHER_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+		,$(INSTALL) -m 0655 $(VBOX_PATH_DIST_OTHER)/VirtualBox.app/Contents/MacOS/dtrace/$(file) \
+			$(VBOX_PATH_PACK_TMP)/VirtualBox.pkg.root/Applications/VirtualBox.app/Contents/MacOS/dtrace/$(file)$(NLTAB)) \
+ endif
+endif
+
 	@# Signed the binaries and the application bundle.
 	@# Note #1 - We cannot sign the application binary here, since we switch to match the kernel bitness.
Index: /trunk/src/VBox/Installer/freebsd/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/freebsd/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/freebsd/Makefile.kmk	(revision 54030)
@@ -132,7 +132,7 @@
 # EFI firmware
 ifdef VBOX_WITH_EFIFW_PACKING
-  VBOX_FBSD_NO_STRIP += \
-	VBoxEFI32.fd \
-        VBoxEFI64.fd
+ VBOX_FBSD_NO_STRIP += \
+ 	VBoxEFI32.fd \
+ 	VBoxEFI64.fd
 endif
 
@@ -214,4 +214,13 @@
 endif
 
+# DTrace library, testcase and scripts (as the rest of this file, this makes bold
+# ASSUMPTIONS about VBPX_INST_XXX variable values).
+ifdef VBOX_WITH_DTRACE
+ VBOX_FBSD_NO_STRIP += \
+       $(addprefix dtrace/lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+       $(addprefix dtrace/testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+       $(addprefix dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES))
+endif
+
 #
 # All the bin files that goes into the archives.
@@ -232,5 +241,5 @@
 #
 # The generic installer.
-# @todo r=aeichner: Create pkg_plist dynamically based on the available features
+## @todo r=aeichner: Create pkg_plist dynamically based on the available features
 #
 $(PATH_STAGE_BIN)/$(VBOX_FBSD_PACKAGE_NAME): \
@@ -316,7 +325,14 @@
 		-e "s;_VBOX_REM_32BIT_MODULE_;$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM32.so,);g" \
 		-e "s;_VBOX_REM_64BIT_MODULE_;$(if $(eq $(KBUILD_TARGET_ARCH),x86),VBoxREM64.so,);g" \
-		$(if $(VBOX_WITH_DTRACE),,-e "/VBoxDTrace/d") \
 		--output $@ \
 		$<
+ifdef VBOX_WITH_DTRACE
+	$(QUIET)$(APPEND) -n "$@" "@mode 644" \
+		$(addprefix lib/virtualbox/dtrace/lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+		$(addprefix lib/virtualbox/dtrace/testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+		$(addprefix lib/virtualbox/dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES)) \
+		"@mode 755" \
+		"bin/VBoxDTrace"
+endif
 
 include $(FILE_KBUILD_SUB_FOOTER)
Index: /trunk/src/VBox/Installer/freebsd/pkg_plist
===================================================================
--- /trunk/src/VBox/Installer/freebsd/pkg_plist	(revision 54029)
+++ /trunk/src/VBox/Installer/freebsd/pkg_plist	(revision 54030)
@@ -53,5 +53,4 @@
 bin/VBoxHeadless
 bin/VBoxSDL
-bin/VBoxDTrace
 bin/vboxwebsrv
 @mode 644
Index: /trunk/src/VBox/Installer/linux/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 54030)
@@ -321,4 +321,13 @@
 endif
 
+# DTrace library and scripts.
+ifdef VBOX_WITH_DTRACE
+ VBOX_LNX_NO_STRIP += \
+ 	$(addprefix dtrace/lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+ 	$(addprefix dtrace/testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+ 	$(addprefix dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES))
+endif
+
+# Icons
 VBOX_MIME_ICONS = \
 	$(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
Index: /trunk/src/VBox/Installer/linux/VBox.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/VBox.sh	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/VBox.sh	(revision 54030)
@@ -1,7 +1,9 @@
 #!/bin/sh
-#
+## @file
 # Oracle VM VirtualBox startup script, Linux hosts.
 #
-# Copyright (C) 2006-2012 Oracle Corporation
+
+#
+# Copyright (C) 2006-2016 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
@@ -102,4 +104,7 @@
         exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
         ;;
+    VBoxDTrace|vboxdtrace)
+        exec "$INSTALL_DIR/VBoxDTrace" "$@"
+        ;;
     vboxwebsrv)
         exec "$INSTALL_DIR/vboxwebsrv" "$@"
Index: /trunk/src/VBox/Installer/linux/debian/lintian-override.in
===================================================================
--- /trunk/src/VBox/Installer/linux/debian/lintian-override.in	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/debian/lintian-override.in	(revision 54030)
@@ -34,4 +34,5 @@
 %VERPKG%: binary-without-manpage usr/bin/VBox
 %VERPKG%: binary-without-manpage usr/bin/VBoxBalloonCtrl
+%VERPKG%: binary-without-manpage usr/bin/VBoxDTrace
 %VERPKG%: binary-without-manpage usr/bin/VBoxHeadless
 %VERPKG%: binary-without-manpage usr/bin/VBoxManage
@@ -42,4 +43,5 @@
 %VERPKG%: binary-without-manpage usr/bin/rdesktop-vrdp
 %VERPKG%: binary-without-manpage usr/bin/vboxballoonctrl
+%VERPKG%: binary-without-manpage usr/bin/vboxdtrace
 %VERPKG%: binary-without-manpage usr/bin/vboxheadless
 %VERPKG%: binary-without-manpage usr/bin/vboxmanage
@@ -75,4 +77,5 @@
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDDU.so /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDbg.so /usr/lib/virtualbox
+%VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxDTrace /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxGuestPropSvc.so /usr/lib/virtualbox
 %VERPKG%: binary-or-shlib-defines-rpath ./usr/lib/virtualbox/VBoxGuestControlSvc.so /usr/lib/virtualbox
Index: /trunk/src/VBox/Installer/linux/deffiles
===================================================================
--- /trunk/src/VBox/Installer/linux/deffiles	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/deffiles	(revision 54030)
@@ -27,4 +27,5 @@
     VBoxDD.so \
     VBoxDD2.so \
+    VBoxDTrace \
     VBoxKeyboard.so \
     VBoxManage \
@@ -81,4 +82,18 @@
     components/VBoxXPCOMIPCC.so \
     components/VirtualBox_XPCOM.xpt \
+    dtrace/lib/amd64/vbox-types.d \
+    dtrace/lib/amd64/vbox-arch-types.d \
+    dtrace/lib/amd64/vm.d \
+    dtrace/lib/amd64/cpumctx.d \
+    dtrace/lib/amd64/CPUMInternal.d \
+    dtrace/lib/amd64/x86.d \
+    dtrace/lib/x86/vbox-types.d \
+    dtrace/lib/x86/vbox-arch-types.d \
+    dtrace/lib/x86/vm.d \
+    dtrace/lib/x86/cpumctx.d \
+    dtrace/lib/x86/CPUMInternal.d \
+    dtrace/lib/x86/x86.d \
+    dtrace/testcase/amd64/vbox-vm-struct-test.d \
+    dtrace/testcase/x86/vbox-vm-struct-test.d \
     VBox.sh \
     VBox.png \
Index: /trunk/src/VBox/Installer/linux/install.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/install.sh	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/install.sh	(revision 54030)
@@ -109,4 +109,5 @@
     check_binary "/usr/bin/VBoxVRDP" "$install_dir" &&
     check_binary "/usr/bin/VBoxHeadless" "$install_dir" &&
+    check_binary "/usr/bin/VBoxDTrace" "$install_dir" &&
     check_binary "/usr/bin/VBoxBalloonCtrl" "$install_dir" &&
     check_binary "/usr/bin/VBoxAutostart" "$install_dir" &&
@@ -406,4 +407,7 @@
     ln -sf $INSTALLATION_DIR/vbox-img /usr/bin/vbox-img
     ln -sf $INSTALLATION_DIR/VBox.png /usr/share/pixmaps/VBox.png
+    if [ -f $INSTALLATION_DIR/VBoxDTrace ]; then
+        ln -sf $INSTALLATION_DIR/VBox.sh /usr/bin/VBoxDTrace
+    fi
     # Unity and Nautilus seem to look here for their icons
     ln -sf $INSTALLATION_DIR/icons/128x128/virtualbox.png /usr/share/pixmaps/virtualbox.png
@@ -418,4 +422,7 @@
     ln -sf VBoxSDL /usr/bin/vboxsdl > /dev/null 2>&1
     ln -sf VBoxHeadless /usr/bin/vboxheadless > /dev/null 2>&1
+    if [ -f $INSTALLATION_DIR/VBoxDTrace ]; then
+        ln -sf VBoxDTrace /usr/bin/vboxdtrace > /dev/null 2>&1
+    fi
 
     # Icons
Index: /trunk/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
--- /trunk/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec	(revision 54030)
@@ -116,5 +116,5 @@
 rmdir icons
 mv virtualbox.xml $RPM_BUILD_ROOT/usr/share/mime/packages
-for i in VBoxManage VBoxSVC VBoxSDL VirtualBox VBoxHeadless VBoxExtPackHelperApp VBoxBalloonCtrl VBoxAutostart vbox-img; do
+for i in VBoxManage VBoxSVC VBoxSDL VirtualBox VBoxHeadless VBoxDTrace VBoxExtPackHelperApp VBoxBalloonCtrl VBoxAutostart vbox-img; do
   mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done
 if %WEBSVC%; then
@@ -190,4 +190,6 @@
 ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxHeadless
 ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxheadless
+ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxDTrace
+ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxdtrace
 ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxBalloonCtrl
 ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxballoonctrl
Index: /trunk/src/VBox/Installer/linux/uninstall.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/uninstall.sh	(revision 54029)
+++ /trunk/src/VBox/Installer/linux/uninstall.sh	(revision 54030)
@@ -98,4 +98,5 @@
   /usr/bin/VBoxVRDP \
   /usr/bin/VBoxHeadless \
+  /usr/bin/VBoxDTrace \
   /usr/bin/VBoxBalloonCtrl \
   /usr/bin/VBoxAutostart \
@@ -117,4 +118,5 @@
   /usr/bin/vboxsdl \
   /usr/bin/vboxheadless \
+  /usr/bin/vboxdtrace \
   $PREV_INSTALLATION/components/VBoxVMM.so \
   $PREV_INSTALLATION/components/VBoxREM.so \
Index: /trunk/src/VBox/Installer/solaris/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/solaris/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/solaris/Makefile.kmk	(revision 54030)
@@ -173,18 +173,18 @@
 	$(SOLARIS_USR_DIR)/share/icons \
 	$(SOLARIS_USRSHR_ICONS_DIR) \
-    $(foreach s,16 20 24 32 48 64 72 96 128 256,\
-	    $(SOLARIS_USRSHR_ICONS_DIR)/$(s)x$(s) \
-	    $(SOLARIS_USRSHR_ICONS_DIR)/$(s)x$(s)/mimetypes)
+	$(foreach s,16 20 24 32 48 64 72 96 128 256,\
+		$(SOLARIS_USRSHR_ICONS_DIR)/$(s)x$(s) \
+		$(SOLARIS_USRSHR_ICONS_DIR)/$(s)x$(s)/mimetypes)
 
 VBOX_MIME_ICONS = \
 	$(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
-	    $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-	        $(foreach s,16 20 24 32 48 64 72 96 128 256,\
-	            virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/mimetypes/virtualbox-$(f).png)))
+		$(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
+			$(foreach s,16 20 24 32 48 64 72 96 128 256,\
+				virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/mimetypes/virtualbox-$(f).png)))
 
 SOLARIS_COMMON_ICONS = \
 	$(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-	    $(foreach s,16 20 24 32 48 64 72 96 128 256,\
-	        $(s)x$(s)/mimetypes/virtualbox-$(f).png))
+		$(foreach s,16 20 24 32 48 64 72 96 128 256,\
+			$(s)x$(s)/mimetypes/virtualbox-$(f).png))
 
 
@@ -421,4 +421,13 @@
 	VBoxEFI32.fd \
 	VBoxEFI64.fd
+endif
+
+# DTrace library, testcase and scripts (as the rest of this file, this makes bold
+# ASSUMPTIONS about VBPX_INST_XXX variable values).
+ifdef VBOX_WITH_DTRACE
+ SOLARIS_COMMON += \
+	$(addprefix dtrace/lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+	$(addprefix dtrace/testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+       $(addprefix dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES))
 endif
 
Index: /trunk/src/VBox/Installer/solaris/VBox.sh
===================================================================
--- /trunk/src/VBox/Installer/solaris/VBox.sh	(revision 54029)
+++ /trunk/src/VBox/Installer/solaris/VBox.sh	(revision 54030)
@@ -1,7 +1,9 @@
 #!/bin/sh
-#
+## @file
 # Oracle VM VirtualBox startup script, Solaris hosts.
 #
-# Copyright (C) 2006-2012 Oracle Corporation
+
+#
+# Copyright (C) 2006-2015 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
@@ -41,4 +43,7 @@
         exec "$INSTALL_DIR/VBoxAutostart" "$@"
         ;;
+    VBoxDTrace|vboxdtrace)
+        exec "$INSTALL_DIR/VBoxDTrace" "$@"
+        ;;
     vboxwebsrv)
         exec "$INSTALL_DIR/vboxwebsrv" "$@"
Index: /trunk/src/VBox/Installer/win/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 54029)
+++ /trunk/src/VBox/Installer/win/Makefile.kmk	(revision 54030)
@@ -147,7 +147,8 @@
 		$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_$(lang).wixobj \
 		$(VBOX_WIN_INST_OUT_DIR)/$(PACKAGE_NAME_LANG)_$(lang).msi) \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_Main.wxi \
 	$(VBOX_WIN_INST_OUT_DIR)/Files_Doc.wxi \
 	$(VBOX_WIN_INST_OUT_DIR)/Files_License.wxi \
-	$(VBOX_WIN_INST_OUT_DIR)/Files_Main.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_DTrace.wxi \
 	$(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi
 
@@ -304,4 +305,22 @@
 	             '	</File>')
 	$(APPEND) $@ '</Include>'
+
+$(VBOX_WIN_INST_OUT_DIR)/Files_DTrace.wxi: $(MAKEFILE_CURRENT) $(PATH_SUB_CURRENT)/../Config.kmk | $$(dir $$@)
+	$(call MSG_GENERATE,,$@,$<)
+	$(APPEND) -t $@ '<?xml version="1.0" ?>'
+	$(APPEND) $@ '<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">'
+ifdef VBOX_WITH_DTRACE
+	$(APPEND) $@ -n \
+		$(foreach file, \
+			$(addprefix dtrace/lib/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_LIB_ARCH_FILES)) \
+			$(addprefix dtrace/testcase/$(KBUILD_TARGET_ARCH)/,$(VBOXINST_DTRACE_TESTCASE_ARCH_FILES)) \
+                	, '<File Id="file_$(subst /,_,$(file))" Name="$(file)" Vital="yes" Source="$(PATH_STAGE_BIN)/$(file)" />') \
+		$(foreach file, \
+			$(addprefix dtrace/scripts/,$(VBOXINST_DTRACE_SCRIPTS_FILES)) \
+                	, '<File Id="file_$(subst /,_,$(file))" Name="$(file)" Vital="yes" Source="$(PATH_STAGE_BIN)/$(file)" DiskId="$(VBOX_INSTALLER_COMMON_DISKID)" />') \
+	        '<File Id="file_VBoxDTrace.exe" Name="VBoxDTrace.exe" Source="$(PATH_STAGE_BIN)/VBoxDTrace.exe" />'
+endif
+	$(APPEND) $@ '</Include>'
+
 
 $(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi: $(MAKEFILE_CURRENT) | $$(dir $$@)
@@ -490,4 +509,20 @@
 	$(if $(VBOX_WITH_ADDITIONS_PACKING),$(VBOX_PATH_ADDITIONS_ISO)/VBoxGuestAdditions.iso)
 endif
+
+#
+# A few manual dependencies to make sure everything is rebuilt when they should.
+#
+$(PATH_SUB_CURRENT)/VirtualBox.wxs: \
+	$(PATH_SUB_CURRENT)/Properties.wxi \
+	$(PATH_SUB_CURRENT)/VBoxMergeApp.wxi
+
+$(PATH_SUB_CURRENT)/VBoxMergeApp.wxi: \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_Doc.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_DTrace.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_License.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/Files_Main.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/VBoxKey.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/VBoxGuiNLS.wxi \
+	$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
 
 #
@@ -592,17 +627,17 @@
 define def_vbox_compile_msm
 $(VBOX_WIN_INST_OUT_DIR)/VBoxMerge$(module)_$(lang).wixobj: \
-			$(PATH_SUB_CURRENT)/VBoxMerge$(module).wxs \
-			$(PATH_SUB_CURRENT)/VBoxMerge$(module).wxi \
-			$(PATH_SUB_CURRENT)/VBoxMerge$(module)CA.wxi \
-			$(PATH_SUB_CURRENT)/VBoxMerge$(module)Seq.wxi \
-			$(PATH_SUB_CURRENT)/UserInterface.wxi \
-			$(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi \
-			$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
-			$(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib_x86.wxi,) \
-			$(VBOX_WIN_INST_OUT_DIR)/VBoxKey.wxi \
-			$(if $(VBOX_WITH_QTGUI),$(VBOX_WIN_INST_OUT_DIR)/VBoxGuiNLS.wxi) \
-			$(VBOX_MSI_DEPENDENCIES) \
-			$(VBOX_VERSION_STAMP) \
-			| $$$$(dir $$$$@)
+		$(PATH_SUB_CURRENT)/VBoxMerge$(module).wxs \
+		$(PATH_SUB_CURRENT)/VBoxMerge$(module).wxi \
+		$(PATH_SUB_CURRENT)/VBoxMerge$(module)CA.wxi \
+		$(PATH_SUB_CURRENT)/VBoxMerge$(module)Seq.wxi \
+		$(PATH_SUB_CURRENT)/UserInterface.wxi \
+		$(VBOX_WIN_INST_OUT_DIR)/Shortcuts_StartMenu.wxi \
+		$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib.wxi \
+		$(if $(VBOX_WITH_32_ON_64_MAIN_API),$(VBOX_WIN_INST_OUT_DIR)/VirtualBox_TypeLib_x86.wxi,) \
+		$(VBOX_WIN_INST_OUT_DIR)/VBoxKey.wxi \
+		$(if $(VBOX_WITH_QTGUI),$(VBOX_WIN_INST_OUT_DIR)/VBoxGuiNLS.wxi) \
+		$(VBOX_MSI_DEPENDENCIES) \
+		$(VBOX_VERSION_STAMP) \
+		| $$$$(dir $$$$@)
 	$(QUIET)$(RM) -f $@
 	$(REDIRECT) \
Index: /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi
===================================================================
--- /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 54029)
+++ /trunk/src/VBox/Installer/win/VBoxMergeApp.wxi	(revision 54030)
@@ -185,6 +185,6 @@
 <?endif ?>
 <?if $(env.VBOX_WITH_DTRACE) = "yes" ?>
-        <File Id="file_VBoxDTrace.exe" Name="VBoxDTrace.exe"
-          Source="$(env.PATH_OUT)\bin\VBoxDTrace.exe" />
+        <!-- Include list of DTrace related files generate by the the maekfile. -->
+        <?include $(env.PATH_TARGET)\Files_DTrace.wxi ?>
 <?endif ?>
         <!-- VBox DLL files -->
