Index: /trunk/include/VBox/VBoxGuest.h
===================================================================
--- /trunk/include/VBox/VBoxGuest.h	(revision 53614)
+++ /trunk/include/VBox/VBoxGuest.h	(revision 53615)
@@ -6,5 +6,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -40,5 +40,5 @@
  */
 
-/** @todo it would be nice if we could have two define without paths. */
+/** @todo It would be nice if we could have two defines without paths. */
 
 /** @def VBOXGUEST_DEVICE_NAME
@@ -81,8 +81,9 @@
 #ifdef RT_OS_DARWIN
 /** Cookie used to fend off some unwanted clients to the IOService. */
-#define VBOXGUEST_DARWIN_IOSERVICE_COOKIE   0x56426F78 /* 'VBox' */
+# define VBOXGUEST_DARWIN_IOSERVICE_COOKIE      UINT32_C(0x56426f78) /* 'VBox' */
 #endif
 
 #if !defined(IN_RC) && !defined(IN_RING0_AGNOSTIC) && !defined(IPRT_NO_CRT)
+
 /** @name VBoxGuest IOCTL codes and structures.
  *
@@ -360,5 +361,6 @@
 /** @name IOCTL numbers that 32-bit clients, like the Windows OpenGL guest
  *        driver, will use when taking to a 64-bit driver.
- * @remarks These are only used by the driver implementation! */
+ * @remarks These are only used by the driver implementation!
+ * @{*/
 #  define VBOXGUEST_IOCTL_HGCM_CONNECT_32           VBOXGUEST_IOCTL_CODE_32(16, sizeof(VBoxGuestHGCMConnectInfo))
 #  define VBOXGUEST_IOCTL_HGCM_DISCONNECT_32        VBOXGUEST_IOCTL_CODE_32(17, sizeof(VBoxGuestHGCMDisconnectInfo))
@@ -548,7 +550,8 @@
 #endif /* RT_OS_LINUX || RT_OS_SOLARIS || RT_OS_FREEBSD */
 
+#endif /* !defined(IN_RC) && !defined(IN_RING0_AGNOSTIC) && !defined(IPRT_NO_CRT) */
+
 /** @} */
-#endif /* !defined(IN_RC) && !defined(IN_RING0_AGNOSTIC) && !defined(IPRT_NO_CRT) */
-
-#endif
-
+
+#endif
+
Index: /trunk/include/VBox/param.h
===================================================================
--- /trunk/include/VBox/param.h	(revision 53614)
+++ /trunk/include/VBox/param.h	(revision 53615)
@@ -6,5 +6,5 @@
 
 /*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -53,5 +53,4 @@
 
 /** @defgroup   grp_vbox_param_mm  Memory Monitor Parameters
- * @ingroup grp_vbox_param
  * @{
  */
@@ -90,5 +89,4 @@
 
 /** @defgroup   grp_vbox_param_pgm  Page Manager Parameters
- * @ingroup grp_vbox_param
  * @{
  */
@@ -124,5 +122,4 @@
 
 /** @defgroup   grp_vbox_param_vmm  VMM Parameters
- * @ingroup grp_vbox_param
  * @{
  */
Index: /trunk/include/VBox/sup.h
===================================================================
--- /trunk/include/VBox/sup.h	(revision 53614)
+++ /trunk/include/VBox/sup.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2014 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -703,5 +703,4 @@
 
 /** @defgroup   grp_sup_r3     SUP Host Context Ring-3 API
- * @ingroup grp_sup
  * @{
  */
@@ -1650,5 +1649,4 @@
 #ifdef IN_RING0
 /** @defgroup   grp_sup_r0     SUP Host Context Ring-0 API
- * @ingroup grp_sup
  * @{
  */
@@ -2045,5 +2043,4 @@
 
 /** @defgroup   grp_sup_r0_idc  The IDC Interface
- * @ingroup grp_sup_r0
  * @{
  */
Index: /trunk/include/VBox/types.h
===================================================================
--- /trunk/include/VBox/types.h	(revision 53614)
+++ /trunk/include/VBox/types.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -37,5 +37,4 @@
 
 /** @defgroup grp_types_both  Common Guest and Host Context Basic Types
- * @ingroup grp_types
  * @{
  */
@@ -43,5 +42,4 @@
 
 /** @defgroup grp_types_hc  Host Context Basic Types
- * @ingroup grp_types_both
  * @{
  */
@@ -51,5 +49,4 @@
 
 /** @defgroup grp_types_gc  Guest Context Basic Types
- * @ingroup grp_types_both
  * @{
  */
@@ -405,5 +402,4 @@
 
 /** @defgroup grp_types_idt     Interrupt Descriptor Table Entry.
- * @ingroup grp_types
  * @todo This all belongs in x86.h!
  * @{ */
Index: /trunk/include/VBox/vmm/cfgm.h
===================================================================
--- /trunk/include/VBox/vmm/cfgm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/cfgm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -55,5 +55,4 @@
 #ifdef IN_RING3
 /** @defgroup   grp_cfgm_r3     The CFGM Host Context Ring-3 API
- * @ingroup grp_cfgm
  * @{
  */
Index: /trunk/include/VBox/vmm/cpum.h
===================================================================
--- /trunk/include/VBox/vmm/cpum.h	(revision 53614)
+++ /trunk/include/VBox/vmm/cpum.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2014 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -1245,6 +1245,5 @@
 
 #ifdef IN_RING3
-/** @defgroup grp_cpum_r3    The CPU Monitor(/Manager) API
- * @ingroup grp_cpum
+/** @defgroup grp_cpum_r3    The CPUM ring-3 API
  * @{
  */
@@ -1282,6 +1281,5 @@
 
 #ifdef IN_RC
-/** @defgroup grp_cpum_gc    The CPU Monitor(/Manager) API
- * @ingroup grp_cpum
+/** @defgroup grp_cpum_rc    The CPUM Raw-mode Context API
  * @{
  */
@@ -1322,6 +1320,5 @@
 
 #ifdef IN_RING0
-/** @defgroup grp_cpum_r0    The CPU Monitor(/Manager) API
- * @ingroup grp_cpum
+/** @defgroup grp_cpum_r0    The CPUM ring-0 API
  * @{
  */
Index: /trunk/include/VBox/vmm/csam.h
===================================================================
--- /trunk/include/VBox/vmm/csam.h	(revision 53614)
+++ /trunk/include/VBox/vmm/csam.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -73,5 +73,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_csam_r3      The Code Scanning and Analysis API
- * @ingroup grp_csam
  * @{
  */
Index: /trunk/include/VBox/vmm/dbgf.h
===================================================================
--- /trunk/include/VBox/vmm/dbgf.h	(revision 53614)
+++ /trunk/include/VBox/vmm/dbgf.h	(revision 53615)
@@ -537,5 +537,5 @@
                                     const char *pszSepFmt, PCDBGFINFOHLP pHlp);
 
-/** @def DBGFR3InfoLog
+/** @def DBGFR3_INFO_LOG
  * Display a piece of info writing to the log if enabled.
  *
@@ -913,5 +913,5 @@
 VMMR3DECL(int)      DBGFR3DisasInstrCurrentLogInternal(PVMCPU pVCpu, const char *pszPrefix);
 
-/** @def DBGFR3DisasInstrCurrentLog
+/** @def DBGFR3_DISAS_INSTR_CUR_LOG
  * Disassembles the current guest context instruction and writes it to the log.
  * All registers and data will be displayed. Addresses will be attempted resolved to symbols.
@@ -929,5 +929,5 @@
 VMMR3DECL(int) DBGFR3DisasInstrLogInternal(PVMCPU pVCpu, RTSEL Sel, RTGCPTR GCPtr, const char *pszPrefix);
 
-/** @def DBGFR3DisasInstrLog
+/** @def DBGFR3_DISAS_INSTR_LOG
  * Disassembles the specified guest context instruction and writes it to the log.
  * Addresses will be attempted resolved to symbols.
Index: /trunk/include/VBox/vmm/em.h
===================================================================
--- /trunk/include/VBox/vmm/em.h	(revision 53614)
+++ /trunk/include/VBox/vmm/em.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -251,5 +251,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_em_r3     The EM Host Context Ring-3 API
- * @ingroup grp_em
  * @{
  */
Index: /trunk/include/VBox/vmm/ftm.h
===================================================================
--- /trunk/include/VBox/vmm/ftm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/ftm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2010-2013 Oracle Corporation
+ * Copyright (C) 2010-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -53,5 +53,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_ftm_r3     The FTM Host Context Ring-3 API
- * @ingroup grp_ftm
  * @{
  */
Index: /trunk/include/VBox/vmm/gim.h
===================================================================
--- /trunk/include/VBox/vmm/gim.h	(revision 53614)
+++ /trunk/include/VBox/vmm/gim.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2014 Oracle Corporation
+ * Copyright (C) 2014-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -141,5 +141,4 @@
 #ifdef IN_RC
 /** @defgroup grp_gim_rc  The GIM Raw-mode Context API
- * @ingroup grp_gim
  * @{
  */
@@ -149,5 +148,4 @@
 #ifdef IN_RING0
 /** @defgroup grp_gim_r0  The GIM Host Context Ring-0 API
- * @ingroup grp_gim
  * @{
  */
@@ -161,5 +159,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_gim_r3  The GIM Host Context Ring-3 API
- * @ingroup grp_gim
  * @{
  */
Index: /trunk/include/VBox/vmm/gmm.h
===================================================================
--- /trunk/include/VBox/vmm/gmm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/gmm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2007-2012 Oracle Corporation
+ * Copyright (C) 2007-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -769,5 +769,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_gmm_r3    The Global Memory Manager Ring-3 API Wrappers
- * @ingroup grp_gmm
  * @{
  */
Index: /trunk/include/VBox/vmm/gvm.h
===================================================================
--- /trunk/include/VBox/vmm/gvm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/gvm.h	(revision 53615)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2007-2011 Oracle Corporation
+ * Copyright (C) 2007-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -33,5 +33,5 @@
 
 
-/** @defgroup grp_gvm   GVMCPU - The Global VMCPU Data
+/** @defgroup grp_gvmcpu GVMCPU - The Global VMCPU Data
  * @{
  */
Index: /trunk/include/VBox/vmm/hm.h
===================================================================
--- /trunk/include/VBox/vmm/hm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/hm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2014 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -165,5 +165,4 @@
 #ifdef IN_RING0
 /** @defgroup grp_hm_r0    The VM Hardware Manager API
- * @ingroup grp_hm
  * @{
  */
@@ -180,4 +179,36 @@
 VMMR0_INT_DECL(void)            HMR0SavePendingIOPortRead(PVMCPU pVCpu, RTGCPTR GCPtrRip, RTGCPTR GCPtrRipNext,
                                                           unsigned uPort, unsigned uAndVal, unsigned cbSize);
+/** Disables preemption if required. */
+# define HM_DISABLE_PREEMPT_IF_NEEDED() \
+    RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \
+    bool fPreemptDisabledInternal = false; \
+    if (RTThreadPreemptIsEnabled(NIL_RTTHREAD)) \
+    { \
+        Assert(VMMR0ThreadCtxHooksAreRegistered(pVCpu)); \
+        RTThreadPreemptDisable(&PreemptStateInternal); \
+        fPreemptDisabledInternal = true; \
+    } else do { } while (0)
+
+/** Restores preemption if previously disabled by HM_DISABLE_PREEMPT(). */
+# define HM_RESTORE_PREEMPT_IF_NEEDED() \
+    do \
+    { \
+        if (fPreemptDisabledInternal) \
+            RTThreadPreemptRestore(&PreemptStateInternal); \
+    } while (0)
+
+VMMR0_INT_DECL(int)             HMR0SetupVM(PVM pVM);
+VMMR0_INT_DECL(int)             HMR0RunGuestCode(PVM pVM, PVMCPU pVCpu);
+VMMR0_INT_DECL(int)             HMR0Enter(PVM pVM, PVMCPU pVCpu);
+VMMR0_INT_DECL(int)             HMR0EnterCpu(PVMCPU pVCpu);
+VMMR0_INT_DECL(int)             HMR0LeaveCpu(PVMCPU pVCpu);
+VMMR0_INT_DECL(void)            HMR0ThreadCtxCallback(RTTHREADCTXEVENT enmEvent, void *pvUser);
+VMMR0_INT_DECL(bool)            HMR0SuspendPending(void);
+
+# if HC_ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS)
+VMMR0_INT_DECL(int)             HMR0SaveFPUState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);
+VMMR0_INT_DECL(int)             HMR0SaveDebugState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);
+VMMR0_INT_DECL(int)             HMR0TestSwitcher3264(PVM pVM);
+# endif
 
 /** @} */
@@ -187,5 +218,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_hm_r3    The VM Hardware Manager API
- * @ingroup grp_hm
  * @{
  */
@@ -221,45 +251,4 @@
 #endif /* IN_RING3 */
 
-#ifdef IN_RING0
-/** @addtogroup grp_hm_r0
- * @{
- */
-/** Disables preemption if required. */
-# define HM_DISABLE_PREEMPT_IF_NEEDED() \
-   RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \
-   bool fPreemptDisabledInternal = false; \
-   if (RTThreadPreemptIsEnabled(NIL_RTTHREAD)) \
-   { \
-       Assert(VMMR0ThreadCtxHooksAreRegistered(pVCpu)); \
-       RTThreadPreemptDisable(&PreemptStateInternal); \
-       fPreemptDisabledInternal = true; \
-   }
-
-/** Restores preemption if previously disabled by HM_DISABLE_PREEMPT(). */
-# define HM_RESTORE_PREEMPT_IF_NEEDED() \
-   do \
-   { \
-        if (fPreemptDisabledInternal) \
-            RTThreadPreemptRestore(&PreemptStateInternal); \
-   } while (0)
-
-VMMR0_INT_DECL(int)             HMR0SetupVM(PVM pVM);
-VMMR0_INT_DECL(int)             HMR0RunGuestCode(PVM pVM, PVMCPU pVCpu);
-VMMR0_INT_DECL(int)             HMR0Enter(PVM pVM, PVMCPU pVCpu);
-VMMR0_INT_DECL(int)             HMR0EnterCpu(PVMCPU pVCpu);
-VMMR0_INT_DECL(int)             HMR0LeaveCpu(PVMCPU pVCpu);
-VMMR0_INT_DECL(void)            HMR0ThreadCtxCallback(RTTHREADCTXEVENT enmEvent, void *pvUser);
-VMMR0_INT_DECL(bool)            HMR0SuspendPending(void);
-
-# if HC_ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS)
-VMMR0_INT_DECL(int)             HMR0SaveFPUState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);
-VMMR0_INT_DECL(int)             HMR0SaveDebugState(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx);
-VMMR0_INT_DECL(int)             HMR0TestSwitcher3264(PVM pVM);
-# endif
-
-/** @} */
-#endif /* IN_RING0 */
-
-
 /** @} */
 RT_C_DECLS_END
Index: /trunk/include/VBox/vmm/hm_svm.h
===================================================================
--- /trunk/include/VBox/vmm/hm_svm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/hm_svm.h	(revision 53615)
@@ -1,8 +1,8 @@
 /** @file
- * HM - SVM Structures and Definitions. (VMM)
+ * HM - SVM (AMD-V) Structures and Definitions. (VMM)
  */
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -32,5 +32,6 @@
 #include <iprt/asm.h>
 
-/** @defgroup grp_svm   svm Types and Definitions
+
+/** @defgroup grp_svm   SVM (AMD-V) Types and Definitions
  * @ingroup grp_hm
  * @{
Index: /trunk/include/VBox/vmm/hm_vmx.h
===================================================================
--- /trunk/include/VBox/vmm/hm_vmx.h	(revision 53614)
+++ /trunk/include/VBox/vmm/hm_vmx.h	(revision 53615)
@@ -95,7 +95,8 @@
 
 /** @name Host-state restoration flags.
- * @{
- */
-/* If you change these values don't forget to update the assembly defines as well! */
+ * @note If you change these values don't forget to update the assembly
+ *       defines as well!
+ * @{
+ */
 #define VMX_RESTORE_HOST_SEL_DS               RT_BIT(0)
 #define VMX_RESTORE_HOST_SEL_ES               RT_BIT(1)
@@ -435,22 +436,22 @@
  * @{
  */
-# define VMX_VMCS_GUEST_ES_BASE_CACHE_IDX                       0
-# define VMX_VMCS_GUEST_CS_BASE_CACHE_IDX                       1
-# define VMX_VMCS_GUEST_SS_BASE_CACHE_IDX                       2
-# define VMX_VMCS_GUEST_DS_BASE_CACHE_IDX                       3
-# define VMX_VMCS_GUEST_FS_BASE_CACHE_IDX                       4
-# define VMX_VMCS_GUEST_GS_BASE_CACHE_IDX                       5
-# define VMX_VMCS_GUEST_LDTR_BASE_CACHE_IDX                     6
-# define VMX_VMCS_GUEST_TR_BASE_CACHE_IDX                       7
-# define VMX_VMCS_GUEST_GDTR_BASE_CACHE_IDX                     8
-# define VMX_VMCS_GUEST_IDTR_BASE_CACHE_IDX                     9
-# define VMX_VMCS_GUEST_RSP_CACHE_IDX                           10
-# define VMX_VMCS_GUEST_RIP_CACHE_IDX                           11
-# define VMX_VMCS_GUEST_SYSENTER_ESP_CACHE_IDX                  12
-# define VMX_VMCS_GUEST_SYSENTER_EIP_CACHE_IDX                  13
-# define VMX_VMCS_RO_EXIT_QUALIFICATION_CACHE_IDX               14
-# define VMX_VMCS_MAX_CACHE_IDX                                 (VMX_VMCS_RO_EXIT_QUALIFICATION_CACHE_IDX + 1)
-# define VMX_VMCS_GUEST_CR3_CACHE_IDX                           15
-# define VMX_VMCS_MAX_NESTED_PAGING_CACHE_IDX                   (VMX_VMCS_GUEST_CR3_CACHE_IDX + 1)
+#define VMX_VMCS_GUEST_ES_BASE_CACHE_IDX                        0
+#define VMX_VMCS_GUEST_CS_BASE_CACHE_IDX                        1
+#define VMX_VMCS_GUEST_SS_BASE_CACHE_IDX                        2
+#define VMX_VMCS_GUEST_DS_BASE_CACHE_IDX                        3
+#define VMX_VMCS_GUEST_FS_BASE_CACHE_IDX                        4
+#define VMX_VMCS_GUEST_GS_BASE_CACHE_IDX                        5
+#define VMX_VMCS_GUEST_LDTR_BASE_CACHE_IDX                      6
+#define VMX_VMCS_GUEST_TR_BASE_CACHE_IDX                        7
+#define VMX_VMCS_GUEST_GDTR_BASE_CACHE_IDX                      8
+#define VMX_VMCS_GUEST_IDTR_BASE_CACHE_IDX                      9
+#define VMX_VMCS_GUEST_RSP_CACHE_IDX                            10
+#define VMX_VMCS_GUEST_RIP_CACHE_IDX                            11
+#define VMX_VMCS_GUEST_SYSENTER_ESP_CACHE_IDX                   12
+#define VMX_VMCS_GUEST_SYSENTER_EIP_CACHE_IDX                   13
+#define VMX_VMCS_RO_EXIT_QUALIFICATION_CACHE_IDX                14
+#define VMX_VMCS_MAX_CACHE_IDX                                  (VMX_VMCS_RO_EXIT_QUALIFICATION_CACHE_IDX + 1)
+#define VMX_VMCS_GUEST_CR3_CACHE_IDX                            15
+#define VMX_VMCS_MAX_NESTED_PAGING_CACHE_IDX                    (VMX_VMCS_GUEST_CR3_CACHE_IDX + 1)
 /** @} */
 
@@ -781,7 +782,8 @@
 typedef const EPTPT *PCEPTPT;
 
-/** @name VMX VPID flush types.
- *  Warning!! Valid enum members are in accordance to the VT-x spec.
- * @{
+/** @} */
+
+/** VMX VPID flush types.
+ * Warning!! Valid enum members are in accordance to the VT-x spec.
  */
 typedef enum
@@ -801,9 +803,7 @@
 } VMXFLUSHVPID;
 AssertCompileSize(VMXFLUSHVPID, 4);
-/** @} */
-
-/** @name VMX EPT flush types.
- *  Warning!! Valid enums values below are in accordance to the VT-x spec.
- * @{
+
+/** VMX EPT flush types.
+ * @note Warning!! Valid enums values below are in accordance to the VT-x spec.
  */
 typedef enum
@@ -819,11 +819,8 @@
 } VMXFLUSHEPT;
 AssertCompileSize(VMXFLUSHEPT, 4);
-/** @} */
-
-/** @name VMX MSR autoload/store element.
- *  In accordance to VT-x spec.
- * @{
- */
-#pragma pack(1)
+
+/** VMX MSR autoload/store element.
+ * In accordance to VT-x spec.
+ */
 typedef struct
 {
@@ -835,15 +832,13 @@
     uint64_t    u64Value;
 } VMXAUTOMSR;
-#pragma pack()
+AssertCompileSize(VMXAUTOMSR, 8);
 /** Pointer to an MSR load/store element. */
 typedef VMXAUTOMSR *PVMXAUTOMSR;
 /** Pointer to a const MSR load/store element. */
 typedef const VMXAUTOMSR *PCVMXAUTOMSR;
-/** @} */
-
-/** @name VMX-capability qword
- * @{
- */
-#pragma pack(1)
+
+/**
+ * VMX-capability qword
+ */
 typedef union
 {
@@ -858,9 +853,8 @@
     uint64_t            u;
 } VMXCAPABILITY;
-#pragma pack()
-/** @} */
-
-/** @name VMX MSRs.
- *  @{
+AssertCompileSize(VMXCAPABILITY, 8);
+
+/**
+ * VMX MSRs.
  */
 typedef struct VMXMSRS
@@ -882,8 +876,7 @@
     uint64_t                u64EptVpidCaps;
 } VMXMSRS;
+AssertCompileSizeAlignment(VMXMSRS, 8);
 /** Pointer to a VMXMSRS struct. */
 typedef VMXMSRS *PVMXMSRS;
-AssertCompileSizeAlignment(VMXMSRS, 8);
-/** @} */
 
 /** @name VMX EFLAGS reserved bits.
@@ -891,7 +884,7 @@
  */
 /** And-mask for setting reserved bits to zero */
-#define VMX_EFLAGS_RESERVED_0                                   (~0xffc08028)
+#define VMX_EFLAGS_RESERVED_0                                   (~(X86_EFL_1 | X86_EFL_LIVE_MASK))
 /** Or-mask for setting reserved bits to 1 */
-#define VMX_EFLAGS_RESERVED_1                                   0x00000002
+#define VMX_EFLAGS_RESERVED_1                                   X86_EFL_1
 /** @} */
 
@@ -1070,5 +1063,4 @@
 /** Invalid operand to INVEPT/INVVPID. */
 #define VMX_ERROR_INVEPTVPID_INVALID_OPERAND                    28
-
 /** @} */
 
@@ -1155,5 +1147,4 @@
 #define MSR_IA32_VMX_EPT_VPID_CAP_INVVPID_ALL_CONTEXTS                   RT_BIT_64(42)
 #define MSR_IA32_VMX_EPT_VPID_CAP_INVVPID_SINGLE_CONTEXT_RETAIN_GLOBALS  RT_BIT_64(43)
-
 /** @} */
 
@@ -1450,19 +1441,19 @@
  */
 /** EPTP-switching function changes the value of the EPTP to one chosen from the EPTP list. */
-#define VMX_VMCS_CTRL_VMFUNC_EPTP_SWITCHING            RT_BIT_64(0)
-/** @} */
-
-
-/**  @name VMCS field encoding - 32 Bits read-only fields
- * @{
- */
-#define VMX_VMCS32_RO_VM_INSTR_ERROR                              0x4400
-#define VMX_VMCS32_RO_EXIT_REASON                                 0x4402
-#define VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO                      0x4404
-#define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE                0x4406
-#define VMX_VMCS32_RO_IDT_INFO                                    0x4408
-#define VMX_VMCS32_RO_IDT_ERROR_CODE                              0x440A
-#define VMX_VMCS32_RO_EXIT_INSTR_LENGTH                           0x440C
-#define VMX_VMCS32_RO_EXIT_INSTR_INFO                             0x440E
+#define VMX_VMCS_CTRL_VMFUNC_EPTP_SWITCHING                     RT_BIT_64(0)
+/** @} */
+
+
+/** @name VMCS field encoding - 32 Bits read-only fields
+ * @{
+ */
+#define VMX_VMCS32_RO_VM_INSTR_ERROR                            0x4400
+#define VMX_VMCS32_RO_EXIT_REASON                               0x4402
+#define VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO                    0x4404
+#define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE              0x4406
+#define VMX_VMCS32_RO_IDT_INFO                                  0x4408
+#define VMX_VMCS32_RO_IDT_ERROR_CODE                            0x440A
+#define VMX_VMCS32_RO_EXIT_INSTR_LENGTH                         0x440C
+#define VMX_VMCS32_RO_EXIT_INSTR_INFO                           0x440E
 /** @} */
 
@@ -1470,5 +1461,5 @@
  * @{
  */
-#define VMX_EXIT_REASON_BASIC(a)                                  ((a) & 0xffff)
+#define VMX_EXIT_REASON_BASIC(a)                                ((a) & 0xffff)
 /** @} */
 
@@ -1476,7 +1467,7 @@
  * @{
  */
-#define VMX_ENTRY_INTERRUPTION_INFO_IS_VALID(a)                   RT_BOOL((a) & RT_BIT(31))
-#define VMX_ENTRY_INTERRUPTION_INFO_TYPE_SHIFT                    8
-#define VMX_ENTRY_INTERRUPTION_INFO_TYPE(a)                       ((a >> VMX_ENTRY_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
+#define VMX_ENTRY_INTERRUPTION_INFO_IS_VALID(a)                 RT_BOOL((a) & RT_BIT(31))
+#define VMX_ENTRY_INTERRUPTION_INFO_TYPE_SHIFT                  8
+#define VMX_ENTRY_INTERRUPTION_INFO_TYPE(a)                     ((a >> VMX_ENTRY_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
 /** @} */
 
@@ -1485,14 +1476,14 @@
  * @{
  */
-#define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)                      ((a) & 0xff)
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT                     8
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)                        (((a) >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
-#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID               RT_BIT(11)
-#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a)         RT_BOOL((a) & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
-#define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK_IRET(a)            ((a) & RT_BIT(12))
-#define VMX_EXIT_INTERRUPTION_INFO_VALID                          RT_BIT(31)
-#define VMX_EXIT_INTERRUPTION_INFO_IS_VALID(a)                    RT_BOOL((a) & RT_BIT(31))
+#define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)                    ((a) & 0xff)
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT                   8
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)                      (((a) >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
+#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID             RT_BIT(11)
+#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a)       RT_BOOL((a) & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
+#define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK_IRET(a)          ((a) & RT_BIT(12))
+#define VMX_EXIT_INTERRUPTION_INFO_VALID                        RT_BIT(31)
+#define VMX_EXIT_INTERRUPTION_INFO_IS_VALID(a)                  RT_BOOL((a) & RT_BIT(31))
 /** Construct an irq event injection value from the exit interruption info value (same except that bit 12 is reserved). */
-#define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)        ((a) & ~RT_BIT(12))
+#define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)      ((a) & ~RT_BIT(12))
 /** @} */
 
@@ -1500,10 +1491,10 @@
  * @{
  */
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_EXT_INT                   0
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_NMI                       2
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT                   3
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_INT                    4
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_PRIV_SW_XCPT              5
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_XCPT                   6
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_EXT_INT                 0
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_NMI                     2
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT                 3
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_INT                  4
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_PRIV_SW_XCPT            5
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_XCPT                 6
 /** @} */
 
@@ -1511,11 +1502,11 @@
  * @{
  */
-#define VMX_IDT_VECTORING_INFO_VECTOR(a)                          ((a) & 0xff)
-#define VMX_IDT_VECTORING_INFO_TYPE_SHIFT                         8
-#define VMX_IDT_VECTORING_INFO_TYPE(a)                            (((a) >> VMX_IDT_VECTORING_INFO_TYPE_SHIFT) & 7)
-#define VMX_IDT_VECTORING_INFO_ERROR_CODE_VALID                   RT_BIT(11)
-#define VMX_IDT_VECTORING_INFO_ERROR_CODE_IS_VALID(a)             RT_BOOL((a) & VMX_IDT_VECTORING_INFO_ERROR_CODE_VALID)
-#define VMX_IDT_VECTORING_INFO_VALID(a)                           ((a) & RT_BIT(31))
-#define VMX_ENTRY_INT_INFO_FROM_EXIT_IDT_INFO(a)                  ((a) & ~RT_BIT(12))
+#define VMX_IDT_VECTORING_INFO_VECTOR(a)                        ((a) & 0xff)
+#define VMX_IDT_VECTORING_INFO_TYPE_SHIFT                       8
+#define VMX_IDT_VECTORING_INFO_TYPE(a)                          (((a) >> VMX_IDT_VECTORING_INFO_TYPE_SHIFT) & 7)
+#define VMX_IDT_VECTORING_INFO_ERROR_CODE_VALID                 RT_BIT(11)
+#define VMX_IDT_VECTORING_INFO_ERROR_CODE_IS_VALID(a)           RT_BOOL((a) & VMX_IDT_VECTORING_INFO_ERROR_CODE_VALID)
+#define VMX_IDT_VECTORING_INFO_VALID(a)                         ((a) & RT_BIT(31))
+#define VMX_ENTRY_INT_INFO_FROM_EXIT_IDT_INFO(a)                ((a) & ~RT_BIT(12))
 /** @} */
 
@@ -1523,38 +1514,38 @@
  * @{
  */
-#define VMX_IDT_VECTORING_INFO_TYPE_EXT_INT                       0
-#define VMX_IDT_VECTORING_INFO_TYPE_NMI                           2
-#define VMX_IDT_VECTORING_INFO_TYPE_HW_XCPT                       3
-#define VMX_IDT_VECTORING_INFO_TYPE_SW_INT                        4
-#define VMX_IDT_VECTORING_INFO_TYPE_PRIV_SW_XCPT                  5
-#define VMX_IDT_VECTORING_INFO_TYPE_SW_XCPT                       6
-/** @} */
-
-
-/**  @name VMCS field encoding - 32 Bits guest state fields
- * @{
- */
-#define VMX_VMCS32_GUEST_ES_LIMIT                                 0x4800
-#define VMX_VMCS32_GUEST_CS_LIMIT                                 0x4802
-#define VMX_VMCS32_GUEST_SS_LIMIT                                 0x4804
-#define VMX_VMCS32_GUEST_DS_LIMIT                                 0x4806
-#define VMX_VMCS32_GUEST_FS_LIMIT                                 0x4808
-#define VMX_VMCS32_GUEST_GS_LIMIT                                 0x480A
-#define VMX_VMCS32_GUEST_LDTR_LIMIT                               0x480C
-#define VMX_VMCS32_GUEST_TR_LIMIT                                 0x480E
-#define VMX_VMCS32_GUEST_GDTR_LIMIT                               0x4810
-#define VMX_VMCS32_GUEST_IDTR_LIMIT                               0x4812
-#define VMX_VMCS32_GUEST_ES_ACCESS_RIGHTS                         0x4814
-#define VMX_VMCS32_GUEST_CS_ACCESS_RIGHTS                         0x4816
-#define VMX_VMCS32_GUEST_SS_ACCESS_RIGHTS                         0x4818
-#define VMX_VMCS32_GUEST_DS_ACCESS_RIGHTS                         0x481A
-#define VMX_VMCS32_GUEST_FS_ACCESS_RIGHTS                         0x481C
-#define VMX_VMCS32_GUEST_GS_ACCESS_RIGHTS                         0x481E
-#define VMX_VMCS32_GUEST_LDTR_ACCESS_RIGHTS                       0x4820
-#define VMX_VMCS32_GUEST_TR_ACCESS_RIGHTS                         0x4822
-#define VMX_VMCS32_GUEST_INTERRUPTIBILITY_STATE                   0x4824
-#define VMX_VMCS32_GUEST_ACTIVITY_STATE                           0x4826
-#define VMX_VMCS32_GUEST_SYSENTER_CS                              0x482A  /**< MSR IA32_SYSENTER_CS */
-#define VMX_VMCS32_GUEST_PREEMPT_TIMER_VALUE                      0x482E
+#define VMX_IDT_VECTORING_INFO_TYPE_EXT_INT                     0
+#define VMX_IDT_VECTORING_INFO_TYPE_NMI                         2
+#define VMX_IDT_VECTORING_INFO_TYPE_HW_XCPT                     3
+#define VMX_IDT_VECTORING_INFO_TYPE_SW_INT                      4
+#define VMX_IDT_VECTORING_INFO_TYPE_PRIV_SW_XCPT                5
+#define VMX_IDT_VECTORING_INFO_TYPE_SW_XCPT                     6
+/** @} */
+
+
+/** @name VMCS field encoding - 32 Bits guest state fields
+ * @{
+ */
+#define VMX_VMCS32_GUEST_ES_LIMIT                               0x4800
+#define VMX_VMCS32_GUEST_CS_LIMIT                               0x4802
+#define VMX_VMCS32_GUEST_SS_LIMIT                               0x4804
+#define VMX_VMCS32_GUEST_DS_LIMIT                               0x4806
+#define VMX_VMCS32_GUEST_FS_LIMIT                               0x4808
+#define VMX_VMCS32_GUEST_GS_LIMIT                               0x480A
+#define VMX_VMCS32_GUEST_LDTR_LIMIT                             0x480C
+#define VMX_VMCS32_GUEST_TR_LIMIT                               0x480E
+#define VMX_VMCS32_GUEST_GDTR_LIMIT                             0x4810
+#define VMX_VMCS32_GUEST_IDTR_LIMIT                             0x4812
+#define VMX_VMCS32_GUEST_ES_ACCESS_RIGHTS                       0x4814
+#define VMX_VMCS32_GUEST_CS_ACCESS_RIGHTS                       0x4816
+#define VMX_VMCS32_GUEST_SS_ACCESS_RIGHTS                       0x4818
+#define VMX_VMCS32_GUEST_DS_ACCESS_RIGHTS                       0x481A
+#define VMX_VMCS32_GUEST_FS_ACCESS_RIGHTS                       0x481C
+#define VMX_VMCS32_GUEST_GS_ACCESS_RIGHTS                       0x481E
+#define VMX_VMCS32_GUEST_LDTR_ACCESS_RIGHTS                     0x4820
+#define VMX_VMCS32_GUEST_TR_ACCESS_RIGHTS                       0x4822
+#define VMX_VMCS32_GUEST_INTERRUPTIBILITY_STATE                 0x4824
+#define VMX_VMCS32_GUEST_ACTIVITY_STATE                         0x4826
+#define VMX_VMCS32_GUEST_SYSENTER_CS                            0x482A  /**< MSR IA32_SYSENTER_CS */
+#define VMX_VMCS32_GUEST_PREEMPT_TIMER_VALUE                    0x482E
 /** @} */
 
@@ -1564,11 +1555,11 @@
  */
 /** The logical processor is active. */
-#define VMX_VMCS_GUEST_ACTIVITY_ACTIVE                           0x0
+#define VMX_VMCS_GUEST_ACTIVITY_ACTIVE                          0x0
 /** The logical processor is inactive, because executed a HLT instruction. */
-#define VMX_VMCS_GUEST_ACTIVITY_HLT                              0x1
+#define VMX_VMCS_GUEST_ACTIVITY_HLT                             0x1
 /** The logical processor is inactive, because of a triple fault or other serious error. */
-#define VMX_VMCS_GUEST_ACTIVITY_SHUTDOWN                         0x2
+#define VMX_VMCS_GUEST_ACTIVITY_SHUTDOWN                        0x2
 /** The logical processor is inactive, because it's waiting for a startup-IPI */
-#define VMX_VMCS_GUEST_ACTIVITY_SIPI_WAIT                        0x3
+#define VMX_VMCS_GUEST_ACTIVITY_SIPI_WAIT                       0x3
 /** @} */
 
@@ -1658,5 +1649,5 @@
 /** 16-31: LMSW source data (else 0). */
 #define VMX_EXIT_QUALIFICATION_CRX_LMSW_DATA(a)                 (((a) >> 16) & 0xFFFF)
-/** Rest: reserved. */
+/* Rest: reserved. */
 /** @} */
 
@@ -1772,5 +1763,4 @@
 /** @} */
 
-/** @} */
 
 /** @name VMCS field encoding - Natural width guest state fields
@@ -1801,4 +1791,5 @@
 
 /** @name VMX_VMCS_GUEST_DEBUG_EXCEPTIONS
+ * Bits 4-11, 13 and 15-63 are reserved.
  * @{
  */
@@ -1815,6 +1806,4 @@
 /** A debug exception would have been triggered by single-step execution mode. */
 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_BS                      RT_BIT(14)
-/** Bits 4-11, 13 and 15-63 are reserved. */
-
 /** @} */
 
@@ -1836,9 +1825,6 @@
 /** @} */
 
-/** @} */
-
 
 /** @defgroup grp_vmx_asm   vmx assembly helpers
- * @ingroup grp_vmx
  * @{
  */
@@ -2184,8 +2170,8 @@
 # define VMXWriteVmcsHstN                       VMXWriteVmcs32
 # define VMXWriteVmcsGstN(idxField, u64Val)     VMXWriteVmcs64Ex(pVCpu, idxField, u64Val)
-# else  /* ARCH_BITS == 64 */
+#else  /* ARCH_BITS == 64 */
 # define VMXWriteVmcsHstN                       VMXWriteVmcs64
 # define VMXWriteVmcsGstN                       VMXWriteVmcs64
-# endif
+#endif
 
 
@@ -2361,4 +2347,6 @@
 /** @} */
 
+/** @} */
+
 #endif
 
Index: /trunk/include/VBox/vmm/iem.h
===================================================================
--- /trunk/include/VBox/vmm/iem.h	(revision 53614)
+++ /trunk/include/VBox/vmm/iem.h	(revision 53615)
@@ -84,6 +84,5 @@
 
 
-/** @defgroup grp_em_r3     The IEM Host Context Ring-3 API.
- * @ingroup grp_em
+/** @defgroup grp_iem_r3     The IEM Host Context Ring-3 API.
  * @{
  */
Index: /trunk/include/VBox/vmm/iom.h
===================================================================
--- /trunk/include/VBox/vmm/iom.h	(revision 53614)
+++ /trunk/include/VBox/vmm/iom.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -290,5 +290,4 @@
 #ifdef IN_RC
 /** @defgroup grp_iom_rc    The IOM Raw-Mode Context API
- * @ingroup grp_iom
  * @{
  */
@@ -301,5 +300,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_iom_r3    The IOM Host Context Ring-3 API
- * @ingroup grp_iom
  * @{
  */
Index: /trunk/include/VBox/vmm/mm.h
===================================================================
--- /trunk/include/VBox/vmm/mm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/mm.h	(revision 53615)
@@ -142,5 +142,4 @@
 
 /** @defgroup grp_mm_hyper  Hypervisor Memory Management
- * @ingroup grp_mm
  * @{ */
 
@@ -241,7 +240,6 @@
 
 
-#ifdef IN_RING3
+#if defined(IN_RING3) || defined(DOXYGEN_RUNNING)
 /** @defgroup grp_mm_r3    The MM Host Context Ring-3 API
- * @ingroup grp_mm
  * @{
  */
@@ -261,5 +259,4 @@
 
 /** @defgroup grp_mm_r3_hyper  Hypervisor Memory Manager (HC R3 Portion)
- * @ingroup grp_mm_r3
  * @{ */
 VMMR3DECL(int)      MMR3HyperAllocOnceNoRel(PVM pVM, size_t cb, uint32_t uAlignment, MMTAG enmTag, void **ppv);
@@ -289,5 +286,4 @@
 /** @defgroup grp_mm_phys   Guest Physical Memory Manager
  * @todo retire this group, elimintating or moving MMR3PhysGetRamSize to PGMPhys.
- * @ingroup grp_mm_r3
  * @{ */
 VMMR3DECL(uint64_t) MMR3PhysGetRamSize(PVM pVM);
@@ -296,5 +292,4 @@
 
 /** @defgroup grp_mm_page   Physical Page Pool
- * @ingroup grp_mm_r3
  * @{ */
 VMMR3DECL(void *)   MMR3PageAlloc(PVM pVM);
@@ -310,5 +305,4 @@
 
 /** @defgroup grp_mm_heap   Heap Manager
- * @ingroup grp_mm_r3
  * @{ */
 VMMR3DECL(void *)   MMR3HeapAlloc(PVM pVM, MMTAG enmTag, size_t cbSize);
@@ -330,6 +324,5 @@
 /** @} */
 
-/** @defgroup grp_mm_heap   User-kernel Heap Manager.
- * @ingroup grp_mm_r3
+/** @defgroup grp_mm_ukheap   User-kernel Heap Manager.
  *
  * The memory is safely accessible from kernel context as well as user land.
@@ -344,11 +337,10 @@
 
 /** @} */
-#endif /* IN_RING3 */
-
-
-
-#ifdef IN_RC
-/** @defgroup grp_mm_gc    The MM Guest Context API
- * @ingroup grp_mm
+#endif /* IN_RING3 || DOXYGEN_RUNNING */
+
+
+
+#if defined(IN_RC) || defined(DOXYGEN_RUNNING)
+/** @defgroup grp_mm_rc    The MM Raw-mode Context API
  * @{
  */
@@ -365,5 +357,5 @@
 
 /** @} */
-#endif /* IN_RC */
+#endif /* IN_RC || DOXYGEN_RUNNING */
 
 /** @} */
Index: /trunk/include/VBox/vmm/patm.h
===================================================================
--- /trunk/include/VBox/vmm/patm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/patm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -160,6 +160,5 @@
 
 #ifdef IN_RC
-/** @defgroup grp_patm_rc    The Patch Manager RC API
- * @ingroup grp_patm
+/** @defgroup grp_patm_rc    The Patch Manager Raw-mode Context API
  * @{
  */
@@ -174,6 +173,5 @@
 
 #ifdef IN_RING3
-/** @defgroup grp_patm_r3    The Patch Manager API
- * @ingroup grp_patm
+/** @defgroup grp_patm_r3    The Patch Manager Host Ring-3 Context API
  * @{
  */
Index: /trunk/include/VBox/vmm/pdmapi.h
===================================================================
--- /trunk/include/VBox/vmm/pdmapi.h	(revision 53614)
+++ /trunk/include/VBox/vmm/pdmapi.h	(revision 53615)
@@ -8,5 +8,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -60,5 +60,4 @@
 
 /** @defgroup grp_pdm_r3    The PDM Host Context Ring-3 API
- * @ingroup grp_pdm
  * @{
  */
@@ -165,5 +164,4 @@
 
 /** @defgroup grp_pdm_rc    The PDM Raw-Mode Context API
- * @ingroup grp_pdm
  * @{
  */
@@ -173,5 +171,4 @@
 
 /** @defgroup grp_pdm_r0    The PDM Ring-0 Context API
- * @ingroup grp_pdm
  * @{
  */
Index: /trunk/include/VBox/vmm/pgm.h
===================================================================
--- /trunk/include/VBox/vmm/pgm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/pgm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -415,5 +415,4 @@
 #ifdef IN_RC
 /** @defgroup grp_pgm_gc  The PGM Guest Context API
- * @ingroup grp_pgm
  * @{
  */
@@ -425,5 +424,4 @@
 #ifdef IN_RING0
 /** @defgroup grp_pgm_r0  The PGM Host Context Ring-0 API
- * @ingroup grp_pgm
  * @{
  */
@@ -451,5 +449,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_pgm_r3  The PGM Host Context Ring-3 API
- * @ingroup grp_pgm
  * @{
  */
Index: /trunk/include/VBox/vmm/rem.h
===================================================================
--- /trunk/include/VBox/vmm/rem.h	(revision 53614)
+++ /trunk/include/VBox/vmm/rem.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -56,5 +56,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_rem_r3   REM Host Context Ring 3 API
- * @ingroup grp_rem
  * @{
  */
Index: /trunk/include/VBox/vmm/selm.h
===================================================================
--- /trunk/include/VBox/vmm/selm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/selm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -86,5 +86,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_selm_r3   The Selector Monitor(/Manager) API
- * @ingroup grp_selm
  * @{
  */
Index: /trunk/include/VBox/vmm/stam.h
===================================================================
--- /trunk/include/VBox/vmm/stam.h	(revision 53614)
+++ /trunk/include/VBox/vmm/stam.h	(revision 53615)
@@ -1098,5 +1098,4 @@
 
 /** @defgroup grp_stam_r3   The STAM Host Context Ring 3 API
- * @ingroup grp_stam
  * @{
  */
Index: /trunk/include/VBox/vmm/tm.h
===================================================================
--- /trunk/include/VBox/vmm/tm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/tm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -246,5 +246,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_tm_r3     The TM Host Context Ring-3 API
- * @ingroup grp_tm
  * @{
  */
Index: /trunk/include/VBox/vmm/trpm.h
===================================================================
--- /trunk/include/VBox/vmm/trpm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/trpm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -93,5 +93,4 @@
 #ifdef IN_RING3
 /** @defgroup grp_trpm_r3   TRPM Host Context Ring 3 API
- * @ingroup grp_trpm
  * @{
  */
@@ -116,6 +115,5 @@
 
 #ifdef IN_RC
-/** @defgroup grp_trpm_gc    The TRPM Guest Context API
- * @ingroup grp_trpm
+/** @defgroup grp_trpm_rc    The TRPM Raw-mode Context API
  * @{
  */
@@ -141,5 +139,4 @@
 #ifdef IN_RING0
 /** @defgroup grp_trpm_r0   TRPM Host Context Ring 0 API
- * @ingroup grp_trpm
  * @{
  */
Index: /trunk/include/VBox/vmm/vmcpuset.h
===================================================================
--- /trunk/include/VBox/vmm/vmcpuset.h	(revision 53614)
+++ /trunk/include/VBox/vmm/vmcpuset.h	(revision 53615)
@@ -102,5 +102,5 @@
 }
 
-/** @ */
+/** @} */
 
 #endif
Index: /trunk/include/VBox/vmm/vmm.h
===================================================================
--- /trunk/include/VBox/vmm/vmm.h	(revision 53614)
+++ /trunk/include/VBox/vmm/vmm.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -270,7 +270,6 @@
 
 
-#ifdef IN_RING3
+#if defined(IN_RING3) || defined(DOXYGEN_RUNNING)
 /** @defgroup grp_vmm_r3    The VMM Host Context Ring 3 API
- * @ingroup grp_vmm
  * @{
  */
@@ -337,5 +336,4 @@
 
 /** @defgroup grp_vmm_r0    The VMM Host Context Ring 0 API
- * @ingroup grp_vmm
  * @{
  */
@@ -504,5 +502,5 @@
 typedef GCFGMVALUEREQ *PGCFGMVALUEREQ;
 
-#ifdef IN_RING0
+#if defined(IN_RING0) || defined(DOXYGEN_RUNNING)
 VMMR0DECL(int)       VMMR0EntryInt(PVM pVM, VMMR0OPERATION enmOperation, void *pvArg);
 VMMR0DECL(void)      VMMR0EntryFast(PVM pVM, VMCPUID idCpu, VMMR0OPERATION enmOperation);
@@ -532,7 +530,6 @@
 
 
-#ifdef IN_RC
+#if defined(IN_RC) || defined(DOXYGEN_RUNNING)
 /** @defgroup grp_vmm_rc    The VMM Raw-Mode Context API
- * @ingroup grp_vmm
  * @{
  */
@@ -543,7 +540,6 @@
 #endif /* IN_RC */
 
-#if defined(IN_RC) || defined(IN_RING0)
+#if defined(IN_RC) || defined(IN_RING0) || defined(DOXYGEN_RUNNING)
 /** @defgroup grp_vmm_rz    The VMM Raw-Mode and Ring-0 Context API
- * @ingroup grp_vmm
  * @{
  */
Index: /trunk/include/iprt/asm.h
===================================================================
--- /trunk/include/iprt/asm.h	(revision 53614)
+++ /trunk/include/iprt/asm.h	(revision 53615)
@@ -142,9 +142,13 @@
  */
 #ifndef RT_INLINE_DONT_MIX_CMPXCHG8B_AND_PIC
-# define RT_INLINE_DONT_MIX_CMPXCHG8B_AND_PIC \
+# ifdef DOXYGEN_RUNNING
+#  define RT_INLINE_DONT_MIX_CMPXCHG8B_AND_PIC 1
+# else
+#  define RT_INLINE_DONT_MIX_CMPXCHG8B_AND_PIC \
     (   (defined(PIC) || defined(__PIC__)) \
      && defined(RT_ARCH_X86) \
      && (   RT_INLINE_ASM_GCC_4_3_X_X86 \
          || defined(RT_OS_DARWIN)) )
+# endif
 #endif
 
Index: /trunk/include/iprt/cdrom.h
===================================================================
--- /trunk/include/iprt/cdrom.h	(revision 53614)
+++ /trunk/include/iprt/cdrom.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2012-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -31,5 +31,6 @@
 RT_C_DECLS_BEGIN
 
-/** @defgroup grp_cdrom     IPRT CD/DVD/BD-ROM Drive API
+/** @defgroup grp_rt_cdrom  IPRT CD/DVD/BD-ROM Drive API
+ * @ingroup grp_rt
  *
  * The user of the API is currently resposible for serializing calls to it.
Index: /trunk/include/iprt/cpp/utils.h
===================================================================
--- /trunk/include/iprt/cpp/utils.h	(revision 53614)
+++ /trunk/include/iprt/cpp/utils.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -42,6 +42,4 @@
  * Inherit from this class in order to prevent automatic generation
  * of the copy constructor and assignment operator in your class.
- *
- * @addtogroup grp_rt_cpp_util
  */
 class RTCNonCopyable
Index: /trunk/include/iprt/err.h
===================================================================
--- /trunk/include/iprt/err.h	(revision 53614)
+++ /trunk/include/iprt/err.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -44,5 +44,4 @@
 
 /** @defgroup grp_rt_err_hlp        Status Code Helpers
- * @ingroup grp_rt_err
  * @{
  */
Index: /trunk/include/iprt/filesystem.h
===================================================================
--- /trunk/include/iprt/filesystem.h	(revision 53614)
+++ /trunk/include/iprt/filesystem.h	(revision 53615)
@@ -33,5 +33,9 @@
 RT_C_DECLS_BEGIN
 
-/** @defgroup grp_filesystem           IPRT Filesystem VFS
+/** @defgroup grp_rt_filesystem           IPRT Filesystem VFS
+ *
+ * @todo r=bird: WRONG WRONG WRONG FILE. We already have a file system API in
+ * IPRT, it is RTFs*, see @ref grp_rt_fs.  NOBODY ADDS ANY NEW APIS HERE!!
+ *
  * @{
  */
Index: /trunk/include/iprt/queueatomic.h
===================================================================
--- /trunk/include/iprt/queueatomic.h	(revision 53614)
+++ /trunk/include/iprt/queueatomic.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2013 Oracle Corporation
+ * Copyright (C) 2013-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -30,5 +30,5 @@
 #include <iprt/asm.h>
 
-/** @defgroup grp_rt_list    RTQueueAtomic - Generic Work Queue
+/** @defgroup grp_rt_queueatomic RTQueueAtomic - Generic Work Queue
  * @ingroup grp_rt
  *
@@ -122,2 +122,3 @@
 
 #endif
+
Index: /trunk/include/iprt/socket.h
===================================================================
--- /trunk/include/iprt/socket.h	(revision 53614)
+++ /trunk/include/iprt/socket.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -40,5 +40,5 @@
 RT_C_DECLS_BEGIN
 
-/** @defgroup grp_rt_tcp    RTSocket - Network Sockets
+/** @defgroup grp_rt_socket RTSocket - Network Sockets
  * @ingroup grp_rt
  * @{
Index: /trunk/include/iprt/string.h
===================================================================
--- /trunk/include/iprt/string.h	(revision 53614)
+++ /trunk/include/iprt/string.h	(revision 53615)
@@ -2602,5 +2602,4 @@
 
 /** @defgroup rt_str_conv   String To/From Number Conversions
- * @ingroup grp_rt_str
  * @{ */
 
@@ -3044,5 +3043,4 @@
 
 /** @defgroup rt_str_space  Unique String Space
- * @ingroup grp_rt_str
  * @{
  */
@@ -3166,5 +3164,4 @@
 
 /** @defgroup rt_str_hash       Sting hashing
- * @ingroup grp_rt_str
  * @{ */
 
@@ -3215,5 +3212,4 @@
 
 /** @defgroup rt_str_utf16      UTF-16 String Manipulation
- * @ingroup grp_rt_str
  * @{
  */
@@ -4061,5 +4057,4 @@
 
 /** @defgroup rt_str_latin1     Latin-1 (ISO-8859-1) String Manipulation
- * @ingroup grp_rt_str
  * @{
  */
Index: /trunk/include/iprt/tcp.h
===================================================================
--- /trunk/include/iprt/tcp.h	(revision 53614)
+++ /trunk/include/iprt/tcp.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
Index: /trunk/include/iprt/types.h
===================================================================
--- /trunk/include/iprt/types.h	(revision 53614)
+++ /trunk/include/iprt/types.h	(revision 53615)
@@ -760,5 +760,4 @@
 
 /** @defgroup grp_rt_types_both  Common Guest and Host Context Basic Types
- * @ingroup grp_rt_types
  * @{
  */
@@ -950,5 +949,4 @@
 
 /** @defgroup grp_rt_types_hc  Host Context Basic Types
- * @ingroup grp_rt_types
  * @{
  */
@@ -1229,5 +1227,4 @@
 
 /** @defgroup grp_rt_types_gc  Guest Context Basic Types
- * @ingroup grp_rt_types
  * @{
  */
@@ -1431,5 +1428,4 @@
 
 /** @defgroup grp_rt_types_rc  Raw mode Context Basic Types
- * @ingroup grp_rt_types
  * @{
  */
@@ -1483,5 +1479,4 @@
 
 /** @defgroup grp_rt_types_cc  Current Context Basic Types
- * @ingroup grp_rt_types
  * @{
  */
Index: /trunk/include/iprt/uint128.h
===================================================================
--- /trunk/include/iprt/uint128.h	(revision 53614)
+++ /trunk/include/iprt/uint128.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -37,5 +37,5 @@
 RT_C_DECLS_BEGIN
 
-/** @defgroup grp_rt_once       RTUInt128 - 128-bit Unsigned Integer Methods
+/** @defgroup grp_rt_uint128 RTUInt128 - 128-bit Unsigned Integer Methods
  * @ingroup grp_rt
  * @{
Index: /trunk/include/iprt/uri.h
===================================================================
--- /trunk/include/iprt/uri.h	(revision 53614)
+++ /trunk/include/iprt/uri.h	(revision 53615)
@@ -4,5 +4,5 @@
 
 /*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -109,5 +109,4 @@
  * Adds file: scheme support to the generic RTUri interface. This is partly
  * documented in http://datatracker.ietf.org/doc/rfc1738/.
- * @ingroup grp_rt_uri
  * @{
  */
Index: /trunk/include/iprt/vfs.h
===================================================================
--- /trunk/include/iprt/vfs.h	(revision 53614)
+++ /trunk/include/iprt/vfs.h	(revision 53615)
@@ -130,5 +130,5 @@
                                       bool *pfUsed);
 
-/** @defgroup grp_vfs_dir           VFS Base Object API
+/** @defgroup grp_vfs_obj           VFS Base Object API
  * @{
  */
Index: /trunk/include/iprt/vfslowlevel.h
===================================================================
--- /trunk/include/iprt/vfslowlevel.h	(revision 53614)
+++ /trunk/include/iprt/vfslowlevel.h	(revision 53615)
@@ -1153,5 +1153,5 @@
 /** Mask of valid flags. */
 #define RTVFSCHAIN_PF_VALID_MASK                UINT32_C(0x00000007)
-/** @}*/
+/** @} */
 
 /**
