Index: /trunk/src/VBox/Additions/solaris/Installer/vboxguest.sh
===================================================================
--- /trunk/src/VBox/Additions/solaris/Installer/vboxguest.sh	(revision 42457)
+++ /trunk/src/VBox/Additions/solaris/Installer/vboxguest.sh	(revision 42458)
@@ -32,4 +32,5 @@
 MODNAME="vboxguest"
 VFSMODNAME="vboxfs"
+VMSMODNAME="vboxms"
 MODDIR32="/usr/kernel/drv"
 MODDIR64="/usr/kernel/drv/amd64"
@@ -85,4 +86,10 @@
 {
     module_loaded $VFSMODNAME
+    return $?
+}
+
+vboxms_loaded()
+{
+    module_loaded $VMSMODNAME
     return $?
 }
@@ -149,4 +156,26 @@
 }
 
+start_vboxms()
+{
+    /usr/sbin/add_drv -m'* 0666 root sys' $VMSMODNAME
+    if test ! vboxms_loaded; then
+        abort "Failed to load VirtualBox pointer integration module."
+    elif test -c "/devices/pseudo/$VMSMODNAME@0:$VMSMODNAME"; then
+        info "VirtualBox pointer integration module loaded."
+    else
+        abort "Aborting due to attach failure."
+    fi
+}
+
+stop_vboxms()
+{
+    if vboxms_loaded; then
+        /usr/sbin/rem_drv $VMSMODNAME || abort "Failed to unload VirtualBox pointer integration module."
+        info "VirtualBox pointer integration module unloaded."
+    elif test -z "$SILENTUNLOAD"; then
+        info "VirtualBox pointer integration module not loaded."
+    fi
+}
+
 status_module()
 {
@@ -160,4 +189,5 @@
 stop_all()
 {
+    stop_vboxms
     stop_vboxfs
     stop_module
@@ -170,4 +200,5 @@
     start_module
     start_vboxfs
+    start_vboxms
     return 0
 }
@@ -189,6 +220,8 @@
 start)
     start_module
+    start_vboxms
     ;;
 stop)
+    stop_vboxms
     stop_module
     ;;
@@ -201,4 +234,10 @@
 vfsstop)
     stop_vboxfs
+    ;;
+vmsstart)
+    start_vboxms
+    ;;
+vmsstop)
+    stop_vboxms
     ;;
 *)
