Index: /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 57601)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 57602)
@@ -136,4 +136,74 @@
 /* -=-=-=-=- Misc Helpers -=-=-=-=- */
 
+/**
+ * Log information about the Guest Additions.
+ *
+ * @param   pGuestInfo  The information we've got from the Guest Additions driver.
+ */
+static void vmmdevLogGuestOsInfo(VBoxGuestInfo *pGuestInfo)
+{
+    const char *pcszOs;
+    switch (pGuestInfo->osType & ~VBOXOSTYPE_x64)
+    {
+        case VBOXOSTYPE_DOS:                              pcszOs = "DOS";            break;
+        case VBOXOSTYPE_Win31:                            pcszOs = "Windows 3.1";    break;
+        case VBOXOSTYPE_Win9x:                            pcszOs = "Windows 9x";     break;
+        case VBOXOSTYPE_Win95:                            pcszOs = "Windows 95";     break;
+        case VBOXOSTYPE_Win98:                            pcszOs = "Windows 98";     break;
+        case VBOXOSTYPE_WinMe:                            pcszOs = "Windows Me";     break;
+        case VBOXOSTYPE_WinNT:                            pcszOs = "Windows NT";     break;
+        case VBOXOSTYPE_WinNT4:                           pcszOs = "Windows NT4";    break;
+        case VBOXOSTYPE_Win2k:                            pcszOs = "Windows 2k";     break;
+        case VBOXOSTYPE_WinXP:                            pcszOs = "Windows XP";     break;
+        case VBOXOSTYPE_Win2k3:                           pcszOs = "Windows 2k3";    break;
+        case VBOXOSTYPE_WinVista:                         pcszOs = "Windows Vista";  break;
+        case VBOXOSTYPE_Win2k8:                           pcszOs = "Windows 2k8";    break;
+        case VBOXOSTYPE_Win7:                             pcszOs = "Windows 7";      break;
+        case VBOXOSTYPE_Win8:                             pcszOs = "Windows 8";      break;
+        case VBOXOSTYPE_Win2k12_x64 & ~VBOXOSTYPE_x64:    pcszOs = "Windows 2k12";   break;
+        case VBOXOSTYPE_Win81:                            pcszOs = "Windows 8.1";    break;
+        case VBOXOSTYPE_Win10:                            pcszOs = "Windows 10";     break;
+        case VBOXOSTYPE_OS2:                              pcszOs = "OS/2";           break;
+        case VBOXOSTYPE_OS2Warp3:                         pcszOs = "OS/2 Warp 3";    break;
+        case VBOXOSTYPE_OS2Warp4:                         pcszOs = "OS/2 Warp 4";    break;
+        case VBOXOSTYPE_OS2Warp45:                        pcszOs = "OS/2 Warp 4.5";  break;
+        case VBOXOSTYPE_ECS:                              pcszOs = "OS/2 ECS";       break;
+        case VBOXOSTYPE_OS21x:                            pcszOs = "OS/2 2.1x";      break;
+        case VBOXOSTYPE_Linux:                            pcszOs = "Linux";          break;
+        case VBOXOSTYPE_Linux22:                          pcszOs = "Linux 2.2";      break;
+        case VBOXOSTYPE_Linux24:                          pcszOs = "Linux 2.4";      break;
+        case VBOXOSTYPE_Linux26:                          pcszOs = "Linux >= 2.6";   break;
+        case VBOXOSTYPE_ArchLinux:                        pcszOs = "ArchLinux";      break;
+        case VBOXOSTYPE_Debian:                           pcszOs = "Debian";         break;
+        case VBOXOSTYPE_OpenSUSE:                         pcszOs = "openSUSE";       break;
+        case VBOXOSTYPE_FedoraCore:                       pcszOs = "Fedora";         break;
+        case VBOXOSTYPE_Gentoo:                           pcszOs = "Gentoo";         break;
+        case VBOXOSTYPE_Mandriva:                         pcszOs = "Mandriva";       break;
+        case VBOXOSTYPE_RedHat:                           pcszOs = "RedHat";         break;
+        case VBOXOSTYPE_Turbolinux:                       pcszOs = "TurboLinux";     break;
+        case VBOXOSTYPE_Ubuntu:                           pcszOs = "Ubuntu";         break;
+        case VBOXOSTYPE_Xandros:                          pcszOs = "Xandros";        break;
+        case VBOXOSTYPE_Oracle:                           pcszOs = "Oracle Linux";   break;
+        case VBOXOSTYPE_FreeBSD:                          pcszOs = "FreeBSD";        break;
+        case VBOXOSTYPE_OpenBSD:                          pcszOs = "OpenBSD";        break;
+        case VBOXOSTYPE_NetBSD:                           pcszOs = "NetBSD";         break;
+        case VBOXOSTYPE_Netware:                          pcszOs = "Netware";        break;
+        case VBOXOSTYPE_Solaris:                          pcszOs = "Solaris";        break;
+        case VBOXOSTYPE_OpenSolaris:                      pcszOs = "OpenSolaris";    break;
+        case VBOXOSTYPE_Solaris11_x64 & ~VBOXOSTYPE_x64:  pcszOs = "Solaris 11";     break;
+        case VBOXOSTYPE_MacOS:                            pcszOs = "Mac OS X";       break;
+        case VBOXOSTYPE_MacOS106:                         pcszOs = "Mac OS X 10.6";  break;
+        case VBOXOSTYPE_MacOS107_x64 & ~VBOXOSTYPE_x64:   pcszOs = "Mac OS X 10.7";  break;
+        case VBOXOSTYPE_MacOS108_x64 & ~VBOXOSTYPE_x64:   pcszOs = "Mac OS X 10.8";  break;
+        case VBOXOSTYPE_MacOS109_x64 & ~VBOXOSTYPE_x64:   pcszOs = "Mac OS X 10.9";  break;
+        case VBOXOSTYPE_MacOS1010_x64 & ~VBOXOSTYPE_x64:  pcszOs = "Mac OS X 10.10"; break;
+        case VBOXOSTYPE_MacOS1011_x64 & ~VBOXOSTYPE_x64:  pcszOs = "Mac OS X 10.11"; break;
+        case VBOXOSTYPE_Haiku:                            pcszOs = "Haiku";          break;
+        default:                                          pcszOs = "unknown";        break;
+    }
+    LogRel(("VMMDev: Guest Additions information report: Interface = 0x%08X osType = 0x%08X (%s, %u-bit)\n",
+            pGuestInfo->interfaceVersion, pGuestInfo->osType, pcszOs,
+            pGuestInfo->osType & VBOXOSTYPE_x64 ? 64 : 32));
+}
 
 /**
@@ -340,7 +410,5 @@
         pThis->fu32AdditionsOk = VBOX_GUEST_INTERFACE_VERSION_OK(pThis->guestInfo.interfaceVersion);
 
-        LogRel(("VMMDev: Guest Additions information report: Interface = 0x%08X osType = 0x%08X (%u-bit)\n",
-                pThis->guestInfo.interfaceVersion, pThis->guestInfo.osType,
-                (pThis->guestInfo.osType & VBOXOSTYPE_x64) ? 64 : 32));
+        vmmdevLogGuestOsInfo(&pThis->guestInfo);
 
         if (pThis->pDrv && pThis->pDrv->pfnUpdateGuestInfo)
@@ -3553,7 +3621,5 @@
     if (pThis->fu32AdditionsOk)
     {
-        LogRel(("VMMDev: Guest Additions information report: additionsVersion = 0x%08X, osType = 0x%08X (%u-bit)\n",
-                pThis->guestInfo.interfaceVersion, pThis->guestInfo.osType,
-                (pThis->guestInfo.osType & VBOXOSTYPE_x64) ? 64 : 32));
+        vmmdevLogGuestOsInfo(&pThis->guestInfo);
         if (pThis->pDrv)
         {
