Index: /trunk/Doxyfile.Core
===================================================================
--- /trunk/Doxyfile.Core	(revision 58125)
+++ /trunk/Doxyfile.Core	(revision 58126)
@@ -462,4 +462,5 @@
     RT_SRC_POS_ARGS=SRC_POS \
     "RT_SRC_POS_DECL=int SRC_POS" \
+    "RTLOG_COMMA_SRC_POS_DECL=, int SRC_POS" \
     \
     RT_IPRT_FORMAT_ATTR(a,b)= \
@@ -485,8 +486,15 @@
     DECLR0VBGL(type)=type \
     USBLIB_DECL(type)=type \
+    VMMDECL(type)=type \
+    VMMR0DECL(type)=type \
+    VMMR3DECL(type)=type \
+    VMMRCDECL(type)=type \
+    VMMRZDECL(type)=type \
     VMMR0_INT_DECL(type)=type \
     VMMR3_INT_DECL(type)=type \
     VMMRC_INT_DECL(type)=type \
-    VMMRZ_INT_DECL(type)=type
+    VMMRZ_INT_DECL(type)=type \
+    GMMR0DECL(type)=type \
+    GMMR3DECL(type)=type 
 
 # templated fun.
@@ -500,4 +508,7 @@
     PGM_ALL_CB_DECL(type)=type \
     PGM_ALL_CB2_DECL(type)=type \
+    PGMPHYS_DATATYPE=uintXX_t \
+    "PGMPHYSFN_READNAME(a,b,c)=PGMR3PhysReadUxx(a,b,c)" \
+    "PGMPHYSFN_WRITENAME(a,b,c,d)=PGMR3PhysWriteUxx(a,b,c,d)" \
 
 # context hacks.
Index: /trunk/include/VBox/vmm/cpum.h
===================================================================
--- /trunk/include/VBox/vmm/cpum.h	(revision 58125)
+++ /trunk/include/VBox/vmm/cpum.h	(revision 58126)
@@ -1339,5 +1339,5 @@
 /** @} */
 
-VMMDECL(void)           CPUMSetChangedFlags(PVMCPU pVCpu, uint32_t fChangedFlags);
+VMMDECL(void)           CPUMSetChangedFlags(PVMCPU pVCpu, uint32_t fChangedAdd);
 VMMR3DECL(uint32_t)     CPUMR3RemEnter(PVMCPU pVCpu, uint32_t *puCpl);
 VMMR3DECL(void)         CPUMR3RemLeave(PVMCPU pVCpu, bool fNoOutOfSyncSels);
Index: /trunk/include/VBox/vmm/pgm.h
===================================================================
--- /trunk/include/VBox/vmm/pgm.h	(revision 58125)
+++ /trunk/include/VBox/vmm/pgm.h	(revision 58126)
@@ -65,4 +65,5 @@
  * @returns true if the location is ok.
  * @returns false if another location should be found.
+ * @param   pVM         The cross context VM structure.
  * @param   GCPtrOld    The old virtual address.
  * @param   GCPtrNew    The new virtual address.
Index: /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp	(revision 58126)
@@ -169,5 +169,5 @@
  * simpler when we don't.  It's also slightly faster at times.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
  */
 VMMDECL(PCCPUMCTXCORE) CPUMGetHyperCtxCore(PVMCPU pVCpu)
@@ -2573,8 +2573,9 @@
  *
  * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
- */
-VMMDECL(void) CPUMSetChangedFlags(PVMCPU pVCpu, uint32_t fChangedFlags)
-{
-    pVCpu->cpum.s.fChanged |= fChangedFlags;
+ * @param   fChangedAdd The changed flags to add.
+ */
+VMMDECL(void) CPUMSetChangedFlags(PVMCPU pVCpu, uint32_t fChangedAdd)
+{
+    pVCpu->cpum.s.fChanged |= fChangedAdd;
 }
 
@@ -2647,5 +2648,5 @@
  *
  * @returns boolean
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  */
 VMMDECL(bool) CPUMIsGuestDebugStateActive(PVMCPU pVCpu)
@@ -2660,5 +2661,5 @@
  *
  * @returns boolean
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  */
 VMMDECL(bool) CPUMIsGuestDebugStateActivePending(PVMCPU pVCpu)
@@ -2672,5 +2673,5 @@
  *
  * @returns boolean
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  */
 VMMDECL(bool) CPUMIsHyperDebugStateActive(PVMCPU pVCpu)
@@ -2685,5 +2686,5 @@
  *
  * @returns boolean
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  */
 VMMDECL(bool) CPUMIsHyperDebugStateActivePending(PVMCPU pVCpu)
@@ -2697,5 +2698,5 @@
  *
  * @returns boolean
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @todo    This API doesn't make sense any more.
  */
Index: /trunk/src/VBox/VMM/VMMAll/CSAMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/CSAMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/CSAMAll.cpp	(revision 58126)
@@ -54,5 +54,5 @@
 
 /**
- * @callback_method_impl{FNPGMVIRTPFHANDLER,
+ * @callback_method_impl{FNPGMVIRTHANDLER,
  * Access handler callback for virtual access handler ranges.}
  */
Index: /trunk/src/VBox/VMM/VMMAll/EMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/EMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/EMAll.cpp	(revision 58126)
@@ -129,8 +129,10 @@
 }
 
+
 /**
  * Sets the current execution manager status. (use only when you know what you're doing!)
  *
- * @param   pVCpu         The cross context virtual CPU structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   enmNewState The new state, EMSTATE_WAIT_SIPI or EMSTATE_HALTED.
  */
 VMM_INT_DECL(void)    EMSetState(PVMCPU pVCpu, EMSTATE enmNewState)
@@ -700,5 +702,4 @@
  *                      Updates the EIP if an instruction was executed successfully.
  * @param   pvFault     The fault address (CR2).
- * @param   pcbSize     Size of the write (if applicable).
  *
  * @remark  Invalid opcode exceptions have a higher priority than GP (see Intel
@@ -824,6 +825,5 @@
  * @retval  VERR_*                  Fatal errors.
  *
- * @param   pVM         The cross context VM structure.
- * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @param   pRegFrame   The register frame.
  *                      Updates the EIP if an instruction was executed successfully.
@@ -961,11 +961,9 @@
  * @retval  VERR_*                  Fatal errors.
  *
- * @param   pVM         The cross context VM structure.
- * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @param   pDis        The disassembler cpu state for the instruction to be
  *                      interpreted.
  * @param   pRegFrame   The register frame. IP/EIP/RIP *IS* changed!
  * @param   pvFault     The fault address (CR2).
- * @param   pcbSize     Size of the write (if applicable).
  * @param   enmCodeType Code type (user/supervisor)
  *
@@ -1325,6 +1323,6 @@
     pRegFrame->rax = 0;
     pRegFrame->rdx = 0;
-    /** @todo We should trigger a #GP here if the CPU doesn't support the index in ecx
-     *        but see @bugref{3472}! */
+    /** @todo We should trigger a \#GP here if the CPU doesn't support the index in
+     *        ecx but see @bugref{3472}! */
 
     NOREF(pVM);
@@ -1441,5 +1439,5 @@
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   pRegFrame   The register frame.
- * @param   DestRegCRx  CRx register index (DISUSE_REG_CR*)
+ * @param   DestRegCrx  CRx register index (DISUSE_REG_CR*)
  * @param   val         New CRx value
  *
@@ -1607,5 +1605,5 @@
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   pRegFrame   The register frame.
- * @param   DestRegCRx  CRx register index (DISUSE_REG_CR*)
+ * @param   DestRegCrx  CRx register index (DISUSE_REG_CR*)
  * @param   SrcRegGen   General purpose register index (USE_REG_E**))
  *
@@ -1762,5 +1760,5 @@
  * @param   pRegFrame   The register frame.
  * @param   DestRegGen  General purpose register index (USE_REG_E**))
- * @param   SrcRegCRx   CRx register index (DISUSE_REG_CR*)
+ * @param   SrcRegCrx   CRx register index (DISUSE_REG_CR*)
  *
  */
@@ -1794,5 +1792,5 @@
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   pRegFrame   The register frame.
- * @param   DestRegDRx  DRx register index (USE_REG_DR*)
+ * @param   DestRegDrx  DRx register index (USE_REG_DR*)
  * @param   SrcRegGen   General purpose register index (USE_REG_E**))
  *
@@ -1845,6 +1843,5 @@
  * @param   pRegFrame   The register frame.
  * @param   DestRegGen  General purpose register index (USE_REG_E**))
- * @param   SrcRegDRx   DRx register index (USE_REG_DR*)
- *
+ * @param   SrcRegDrx   DRx register index (USE_REG_DR*)
  */
 VMM_INT_DECL(int) EMInterpretDRxRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t DestRegGen, uint32_t SrcRegDrx)
@@ -3644,4 +3641,5 @@
  * Internal worker.
  * @copydoc emInterpretInstructionCPUOuter
+ * @param   pVM     The cross context VM structure.
  */
 DECLINLINE(VBOXSTRICTRC) emInterpretInstructionCPU(PVM pVM, PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pRegFrame,
Index: /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/GIMAll.cpp	(revision 58126)
@@ -33,6 +33,6 @@
  * Checks whether GIM is being used by this VM.
  *
- * @retval  @c true if used.
- * @retval  @c false if no GIM provider ("none") is used.
+ * @retval  true if used.
+ * @retval  false if no GIM provider ("none") is used.
  *
  * @param   pVM       The cross context VM structure.
Index: /trunk/src/VBox/VMM/VMMAll/HMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/HMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/HMAll.cpp	(revision 58126)
@@ -41,6 +41,6 @@
  * Checks whether HM (VT-x/AMD-V) is being used by this VM.
  *
- * @retval  @c true if used.
- * @retval  @c false if software virtualization (raw-mode) is used.
+ * @retval  true if used.
+ * @retval  false if software virtualization (raw-mode) is used.
  * @param   pVM        The cross context VM structure.
  * @sa      HMIsEnabled, HMR3IsEnabled
@@ -312,5 +312,5 @@
  *
  * @returns true if long mode is allowed, false otherwise.
- * @param   pUVM        The user mode VM handle.
+ * @param   pVM         The cross context VM structure.
  */
 VMM_INT_DECL(bool) HMIsLongModeAllowed(PVM pVM)
Index: /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAll.cpp	(revision 58126)
@@ -1724,5 +1724,5 @@
  * @returns Strict VBox status code.
  * @param   pIemCpu             The IEM state.
- * @param   pu32                Where to return the opcode dword.
+ * @param   pu64                Where to return the opcode dword.
  */
 DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU32ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
@@ -2365,6 +2365,8 @@
 
 /**
- * Loads a segment selector during a task switch in protected mode. In this task
- * switch scenario, we would throw #TS exceptions rather than #GPs.
+ * Loads a segment selector during a task switch in protected mode.
+ *
+ * In this task switch scenario, we would throw \#TS exceptions rather than
+ * \#GPs.
  *
  * @returns VBox strict status code.
@@ -2373,5 +2375,5 @@
  * @param   uSel            The new selector value.
  *
- * @remarks This does -NOT- handle CS or SS.
+ * @remarks This does _not_ handle CS or SS.
  * @remarks This expects pIemCpu->uCpl to be up to date.
  */
@@ -3159,5 +3161,5 @@
                 || pCtx->esp < cbStackFrame)
             {
-                /** @todo Intel says #SS(EXT) for INT/XCPT, I couldn't figure out AMD yet. */
+                /** @todo Intel says \#SS(EXT) for INT/XCPT, I couldn't figure out AMD yet. */
                 Log(("iemTaskSwitch: SS=%#x ESP=%#x cbStackFrame=%#x is out of bounds -> #SS\n", pCtx->ss.Sel, pCtx->esp,
                      cbStackFrame));
@@ -3194,5 +3196,5 @@
         Log(("iemHlpTaskSwitchLoadDataSelectorInProtMode: New EIP exceeds CS limit. uNewEIP=%#RGv CS limit=%u -> #GP(0)\n",
              pCtx->eip, pCtx->cs.u32Limit));
-        /** @todo Intel says #GP(EXT) for INT/XCPT, I couldn't figure out AMD yet. */
+        /** @todo Intel says \#GP(EXT) for INT/XCPT, I couldn't figure out AMD yet. */
         return iemRaiseGeneralProtectionFault(pIemCpu, uExt);
     }
@@ -5087,7 +5089,7 @@
  * @returns Effective stack addressf for the push.
  * @param   pIemCpu             The per CPU data.
+ * @param   pCtx                Where to get the current stack mode.
  * @param   pTmpRsp             The temporary stack pointer.  This is updated.
  * @param   cbItem              The size of the stack item to pop.
- * @param   puNewRsp            Where to return the new RSP value.
  */
 DECLINLINE(RTGCPTR) iemRegGetRspForPushEx(PCIEMCPU pIemCpu, PCCPUMCTX pCtx, PRTUINT64U pTmpRsp, uint8_t cbItem)
@@ -5111,6 +5113,6 @@
  * @returns Current stack pointer.
  * @param   pIemCpu             The per CPU data.
+ * @param   pCtx                Where to get the current stack mode.
  * @param   pTmpRsp             The temporary stack pointer.  This is updated.
- * @param   pCtx                Where to get the current stack mode.
  * @param   cbItem              The size of the stack item to pop.
  */
@@ -5500,5 +5502,4 @@
  * @param   pResult             The result to store.
  * @param   iStReg              Which FPU register to store it in.
- * @param   pCtx                The CPU context.
  */
 IEM_STATIC void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
@@ -5518,5 +5519,4 @@
  * @param   pResult             The result to store.
  * @param   iStReg              Which FPU register to store it in.
- * @param   pCtx                The CPU context.
  */
 IEM_STATIC void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
@@ -5537,9 +5537,9 @@
  * @param   pResult             The result to store.
  * @param   iStReg              Which FPU register to store it in.
- * @param   pCtx                The CPU context.
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-IEM_STATIC void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg,
+                                           uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
@@ -5558,5 +5558,4 @@
  * @param   pResult             The result to store.
  * @param   iStReg              Which FPU register to store it in.
- * @param   pCtx                The CPU context.
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
@@ -6158,4 +6157,5 @@
  *                              This is UINT8_MAX if none (for IDT, GDT, LDT,
  *                              TSS, ++).
+ * @param   cbMem               The access size.
  * @param   pGCPtrMem           Pointer to the guest memory address to apply
  *                              segmentation to.  Input and output parameter.
@@ -6952,5 +6952,5 @@
  *                              is required (for IDT, GDT and LDT accesses).
  * @param   GCPtrMem            The address of the guest memory.
- * @param   a_fAccess           How the memory is being accessed.  The
+ * @param   fAccess             How the memory is being accessed.  The
  *                              IEM_ACCESS_TYPE_XXX bit is used to figure out
  *                              how to map the memory, while the
@@ -7315,5 +7315,5 @@
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pcbLimit            Where to return the limit.
- * @param   pGCPTrBase          Where to return the base.
+ * @param   pGCPtrBase          Where to return the base.
  * @param   iSegReg             The index of the segment register to use for
  *                              this access.  The base and limits are checked.
@@ -7464,5 +7464,5 @@
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
- * @param   u64Value            The value to store.
+ * @param   u128Value            The value to store.
  */
 IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
@@ -7488,5 +7488,5 @@
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
- * @param   u64Value            The value to store.
+ * @param   u128Value           The value to store.
  */
 IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
@@ -7514,5 +7514,5 @@
  * @param   pIemCpu             The IEM per CPU data.
  * @param   cbLimit             The limit.
- * @param   GCPTrBase           The base address.
+ * @param   GCPtrBase           The base address.
  * @param   iSegReg             The index of the segment register to use for
  *                              this access.  The base and limits are checked.
@@ -7627,5 +7627,5 @@
  * @returns Strict VBox status code.
  * @param   pIemCpu             The IEM per CPU data.
- * @param   u16Value            The value to push.
+ * @param   u32Value            The value to push.
  */
 IEM_STATIC VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
@@ -7993,5 +7993,5 @@
  * Begin a special stack push (used by interrupt, exceptions and such).
  *
- * This will raise #SS or #PF if appropriate.
+ * This will raise \#SS or \#PF if appropriate.
  *
  * @returns Strict VBox status code.
@@ -11555,5 +11555,5 @@
  * @param   cbInstr     The instruction length in bytes.
  * @remarks In ring-0 not all of the state needs to be synced in.
- * @threads EMT(pVCpu)
+ * @thread  EMT(pVCpu)
  */
 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedXsetbv(PVMCPU pVCpu, uint8_t cbInstr)
Index: /trunk/src/VBox/VMM/VMMAll/IOMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IOMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/IOMAll.cpp	(revision 58126)
@@ -240,5 +240,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
- * @param   Port        The port to read.
+ * @param   uPort       The port to read.
  * @param   pvDst       Pointer to the destination buffer.
  * @param   pcTransfers Pointer to the number of transfer units to read, on return remaining transfer units.
Index: /trunk/src/VBox/VMM/VMMAll/MMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/MMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/MMAll.cpp	(revision 58126)
@@ -437,5 +437,5 @@
  * @returns ring-3 host context address.
  * @param   pVM         The cross context VM structure.
- * @param   GCPtr       The raw-mode context address.
+ * @param   RCPtr       The raw-mode context address.
  *                      You'll be damned if this is not in the HMA! :-)
  * @thread  The Emulation Thread.
Index: /trunk/src/VBox/VMM/VMMAll/PATMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PATMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PATMAll.cpp	(revision 58126)
@@ -399,7 +399,7 @@
  *
  * @returns VBox status code.
- * @param   pDevIns         Device instance.
- * @param   GCPhys          MMIO physical address
- * @param   pCachedData     GC pointer to cached data
+ * @param   pVM         The cross context VM structure.
+ * @param   GCPhys      MMIO physical address.
+ * @param   pCachedData RC pointer to cached data.
  */
 VMM_INT_DECL(int) PATMSetMMIOPatchInfo(PVM pVM, RTGCPHYS GCPhys, RTRCPTR pCachedData)
Index: /trunk/src/VBox/VMM/VMMAll/PDMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PDMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PDMAll.cpp	(revision 58126)
@@ -157,8 +157,8 @@
  *
  * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   u8Irq           The IRQ line.
- * @param   u8Level         The new level.
- * @param   uTagSrc         The IRQ tag and source tracer ID.
+ * @param   pVM         The cross context VM structure.
+ * @param   u8Irq       The IRQ line.
+ * @param   u8Level     The new level.
+ * @param   uTagSrc     The IRQ tag and source tracer ID.
  */
 VMM_INT_DECL(int) PDMIoApicSetIrq(PVM pVM, uint8_t u8Irq, uint8_t u8Level, uint32_t uTagSrc)
@@ -179,8 +179,8 @@
  *
  * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   GCAddr          Request address.
- * @param   u8Value         Request value.
- * @param   uTagSrc         The IRQ tag and source tracer ID.
+ * @param   pVM         The cross context VM structure.
+ * @param   GCAddr      Request address.
+ * @param   uValue      Request value.
+ * @param   uTagSrc     The IRQ tag and source tracer ID.
  */
 VMM_INT_DECL(int) PDMIoApicSendMsi(PVM pVM, RTGCPHYS GCAddr, uint32_t uValue, uint32_t uTagSrc)
@@ -203,5 +203,5 @@
  *
  * @returns VBox true if an IO-APIC is present.
- * @param   pVM             The cross context VM structure.
+ * @param   pVM         The cross context VM structure.
  */
 VMM_INT_DECL(bool) PDMHasIoApic(PVM pVM)
@@ -215,5 +215,5 @@
  *
  * @returns VBox true if a Local APIC is present.
- * @param   pVM             The cross context VM structure.
+ * @param   pVM         The cross context VM structure.
  */
 VMM_INT_DECL(bool) PDMHasApic(PVM pVM)
@@ -227,6 +227,6 @@
  *
  * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   u64Base         The new base.
+ * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   u64Base     The new base.
  */
 VMMDECL(int) PDMApicSetBase(PVMCPU pVCpu, uint64_t u64Base)
@@ -258,6 +258,6 @@
  *
  * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pu64Base        Where to store the APIC base.
+ * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pu64Base    Where to store the APIC base.
  */
 VMMDECL(int) PDMApicGetBase(PVMCPU pVCpu, uint64_t *pu64Base)
@@ -281,6 +281,6 @@
  *
  * @returns VINF_SUCCESS or VERR_PDM_NO_APIC_INSTANCE.
- * @param   pVCpu           The cross context virtual CPU structure.
- * @param   pfPending       Pending state (out).
+ * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pfPending   Pending state (out).
  */
 VMM_INT_DECL(int) PDMApicHasPendingIrq(PVMCPU pVCpu, bool *pfPending)
Index: /trunk/src/VBox/VMM/VMMAll/PDMAllCritSectRw.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PDMAllCritSectRw.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PDMAllCritSectRw.cpp	(revision 58126)
@@ -417,5 +417,4 @@
  *                      section is busy.   Pass VINF_SUCCESS to acquired the
  *                      critical section thru a ring-3 call if necessary.
- * @param   uId         Where we're entering the section.
  * @sa      PDMCritSectRwEnterSharedDebug, PDMCritSectRwTryEnterShared,
  *          PDMCritSectRwTryEnterSharedDebug, PDMCritSectRwLeaveShared,
@@ -438,5 +437,5 @@
  * @returns VBox status code.
  * @retval  VINF_SUCCESS on success.
- * @retval  @a rcBusy if in ring-0 or raw-mode context and it is busy.
+ * @retval  rcBusy if in ring-0 or raw-mode context and it is busy.
  * @retval  VERR_SEM_NESTED if nested enter on a no nesting section. (Asserted.)
  * @retval  VERR_SEM_DESTROYED if the critical section is delete before or
@@ -476,6 +475,4 @@
  *
  * @param   pThis       Pointer to the read/write critical section.
- * @param   uId         Where we're entering the section.
- * @param   SRC_POS     The source position.
  * @sa      PDMCritSectRwTryEnterSharedDebug, PDMCritSectRwEnterShared,
  *          PDMCritSectRwEnterSharedDebug, PDMCritSectRwLeaveShared,
Index: /trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAll.cpp	(revision 58126)
@@ -895,5 +895,4 @@
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   GCPtr       Virtual address of the first page in the range.
- * @param   fMmio2      Set if it is an MMIO2 page.
  * @param   fOpFlags    A combination of the PGM_MK_PK_XXX flags.
  */
@@ -1349,5 +1348,5 @@
  *                              host paging mode for AMD-V).
  */
-int pgmShwSyncNestedPageLocked(PVMCPU pVCpu, RTGCPHYS GCPhysFault, uint32_t cPages, PGMMODE enmShwPagingMode)
+int pgmShwSyncNestedPageLocked(PVMCPU pVCpu, RTGCPHYS GCPhys, uint32_t cPages, PGMMODE enmShwPagingMode)
 {
     PGM_LOCK_ASSERT_OWNER(pVCpu->CTX_SUFF(pVM));
@@ -1359,5 +1358,5 @@
         {
             X86PDE PdeDummy = { X86_PDE_P | X86_PDE_US | X86_PDE_RW | X86_PDE_A };
-            rc = PGM_BTH_NAME_32BIT_PROT(SyncPage)(pVCpu, PdeDummy, GCPhysFault, cPages, ~0U /*uErr*/);
+            rc = PGM_BTH_NAME_32BIT_PROT(SyncPage)(pVCpu, PdeDummy, GCPhys, cPages, ~0U /*uErr*/);
             break;
         }
@@ -1367,5 +1366,5 @@
         {
             X86PDEPAE PdeDummy = { X86_PDE_P | X86_PDE_US | X86_PDE_RW | X86_PDE_A };
-            rc = PGM_BTH_NAME_PAE_PROT(SyncPage)(pVCpu, PdeDummy, GCPhysFault, cPages, ~0U /*uErr*/);
+            rc = PGM_BTH_NAME_PAE_PROT(SyncPage)(pVCpu, PdeDummy, GCPhys, cPages, ~0U /*uErr*/);
             break;
         }
@@ -1375,5 +1374,5 @@
         {
             X86PDEPAE PdeDummy = { X86_PDE_P | X86_PDE_US | X86_PDE_RW | X86_PDE_A };
-            rc = PGM_BTH_NAME_AMD64_PROT(SyncPage)(pVCpu, PdeDummy, GCPhysFault, cPages, ~0U /*uErr*/);
+            rc = PGM_BTH_NAME_AMD64_PROT(SyncPage)(pVCpu, PdeDummy, GCPhys, cPages, ~0U /*uErr*/);
             break;
         }
@@ -1382,5 +1381,5 @@
         {
             X86PDEPAE PdeDummy = { X86_PDE_P | X86_PDE_US | X86_PDE_RW | X86_PDE_A };
-            rc = PGM_BTH_NAME_EPT_PROT(SyncPage)(pVCpu, PdeDummy, GCPhysFault, cPages, ~0U /*uErr*/);
+            rc = PGM_BTH_NAME_EPT_PROT(SyncPage)(pVCpu, PdeDummy, GCPhys, cPages, ~0U /*uErr*/);
             break;
         }
@@ -1815,5 +1814,6 @@
  * Gets the current CR3 register value for the nested memory context.
  * @returns CR3 value.
- * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pVCpu           The cross context virtual CPU structure.
+ * @param   enmShadowMode   The shadow paging mode.
  */
 VMMDECL(RTHCPHYS) PGMGetNestedCR3(PVMCPU pVCpu, PGMMODE enmShadowMode)
@@ -2515,6 +2515,7 @@
  * @returns VBox status code
  * @param   pVM         The cross context VM structure.
- */
-#if defined(VBOX_STRICT) && defined(IN_RING3)
+ * @param   SRC_POS     The source position of the caller (RT_SRC_POS).
+ */
+#if (defined(VBOX_STRICT) && defined(IN_RING3)) || defined(DOXYGEN_RUNNING)
 int pgmLockDebug(PVM pVM, RT_SRC_POS_DECL)
 #else
@@ -2562,4 +2563,5 @@
  *                      offset bits are not ignored.
  * @param   ppv         Where to return the address corresponding to @a GCPhys.
+ * @param   SRC_POS     The source position of the caller (RT_SRC_POS).
  */
 int pgmRZDynMapGCPageCommon(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void **ppv RTLOG_COMMA_SRC_POS_DECL)
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllBth.h	(revision 58126)
@@ -155,5 +155,5 @@
 static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RTGCUINT uErr, PCPUMCTXCORE pRegFrame,
                                                                 RTGCPTR pvFault, PPGMPAGE pPage, bool *pfLockTaken
-# if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE)
+# if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) || defined(DOXYGEN_RUNNING)
                                                                 , PGSTPTWALK pGstWalk
 # endif
@@ -1673,9 +1673,10 @@
  * @remark  Not used for 2/4MB pages!
  */
-#if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE)
+#if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) || defined(DOXYGEN_RUNNING)
 static void PGM_BTH_NAME(SyncPageWorker)(PVMCPU pVCpu, PSHWPTE pPteDst, GSTPDE PdeSrc, GSTPTE PteSrc,
                                          PPGMPOOLPAGE pShwPage, unsigned iPTDst)
 #else
-static void PGM_BTH_NAME(SyncPageWorker)(PVMCPU pVCpu, PSHWPTE pPteDst, RTGCPHYS GCPhysPage, PPGMPOOLPAGE pShwPage, unsigned iPTDst)
+static void PGM_BTH_NAME(SyncPageWorker)(PVMCPU pVCpu, PSHWPTE pPteDst, RTGCPHYS GCPhysPage,
+                                         PPGMPOOLPAGE pShwPage, unsigned iPTDst)
 #endif
 {
@@ -2626,5 +2627,5 @@
  * @returns VBox status code.
  * @param   pVCpu       The cross context virtual CPU structure.
- * @param   iPD         Page directory index.
+ * @param   iPDSrc      Page directory index.
  * @param   pPDSrc      Source page directory (i.e. Guest OS page directory).
  *                      Assume this is a temporary mapping.
@@ -3760,5 +3761,4 @@
  *
  * @returns The number of errors.
- * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   cr3         Guest context CR3 register.
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllGst.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllGst.h	(revision 58126)
@@ -618,5 +618,4 @@
  * @returns false if bits weren't flushed.
  * @param   pVM     The cross context VM structure.
- * @param   pPDSrc  The page directory.
  * @param   cr4     The cr4 register value.
  */
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp	(revision 58126)
@@ -931,5 +931,5 @@
             case PGMPHYSHANDLERKIND_MMIO: /* NOTE: Only use when clearing MMIO ranges with aliased MMIO2 pages! */
             {
-                STAM_COUNTER_INC(&pVM->pgm.s.CTX_SUFF(pStats)->CTX_MID_Z(Stat,PhysHandlerReset)); /**@Todo move out of switch */
+                STAM_COUNTER_INC(&pVM->pgm.s.CTX_SUFF(pStats)->CTX_MID_Z(Stat,PhysHandlerReset)); /** @todo move out of switch */
                 PPGMRAMRANGE pRam = pgmPhysGetRange(pVM, GCPhys);
                 Assert(pRam);
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 58126)
@@ -1953,5 +1953,6 @@
  *
  * @param   pVCpu       The cross context virtual CPU structure.
- * @param   GCPhys      The guest physical address of the page that should be mapped.
+ * @param   GCPtr       The guest physical address of the page that should be
+ *                      mapped.
  * @param   ppv         Where to store the address corresponding to GCPhys.
  * @param   pLock       Where to store the lock information that PGMPhysReleasePageMappingLock needs.
@@ -4386,11 +4387,13 @@
  * @retval  VERR_PGM_PHYS_TLB_UNASSIGNED if the page doesn't exist.
  *
- * @param   pVM         The cross context VM structure.
- * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
- * @param   GCPhys      The GC physical address to convert.  This API mask the
- *                      A20 line when necessary.
- * @param   fWritable   Whether write access is required.
- * @param   ppv         Where to store the pointer corresponding to GCPhys on
- *                      success.
+ * @param   pVM             The cross context VM structure.
+ * @param   pVCpu           The cross context virtual CPU structure of the
+ *                          calling EMT.
+ * @param   GCPhys          The GC physical address to convert.  This API mask
+ *                          the A20 line when necessary.
+ * @param   fWritable       Whether write access is required.
+ * @param   fByPassHandlers Whether to bypass access handlers.
+ * @param   ppv             Where to store the pointer corresponding to GCPhys
+ *                          on success.
  * @param   pLock
  *
@@ -4503,9 +4506,10 @@
  * @retval  VERR_PGM_PHYS_TLB_UNASSIGNED if the page doesn't exist.
  *
- * @param   pVM         The cross context VM structure.
- * @param   GCPhys      The GC physical address to convert.  Since this is only
- *                      used for filling the REM TLB, the A20 mask must be
- *                      applied before calling this API.
- * @param   fWritable   Whether write access is required.
+ * @param   pVM             The cross context VM structure.
+ * @param   GCPhys          The GC physical address to convert.  Since this is
+ *                          only used for filling the REM TLB, the A20 mask must
+ *                          be applied before calling this API.
+ * @param   fWritable       Whether write access is required.
+ * @param   fByPassHandlers Whether to bypass access handlers.
  *
  * @remarks This is a watered down version PGMPhysIemGCPhys2Ptr and really just
Index: /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp	(revision 58126)
@@ -2791,5 +2791,5 @@
  * @param   pVCpu     The cross context virtual CPU structure.
  * @remark  Should only be used when monitoring is available, thus placed in
- *          the PGMPOOL_WITH_MONITORING #ifdef.
+ *          the PGMPOOL_WITH_MONITORING \#ifdef.
  */
 int pgmPoolSyncCR3(PVMCPU pVCpu)
@@ -3031,5 +3031,5 @@
  *
  * @param   pPool       The pool.
- * @param   HCPhys      The HC physical address of the shadow page.
+ * @param   pPage       The shadow page.
  * @param   iUser       The shadow page pool index of the user table.
  * @param   iUserTable  The index into the user table (shadowed).
@@ -4507,5 +4507,6 @@
  * @param   pPool       The pool.
  * @param   pPage       The page.
- * @param   pShwPML4    The shadow page directory pointer table (mapping of the page).
+ * @param   pShwPT      The shadow page directory pointer table (mapping of the
+ *                      page).
  */
 DECLINLINE(void) pgmPoolTrackDerefPTEPT(PPGMPOOL pPool, PPGMPOOLPAGE pPage, PEPTPT pShwPT)
@@ -4866,5 +4867,5 @@
  * @retval  VINF_SUCCESS on success.
  * @param   pPool       The pool.
- * @param   HCPhys      The HC physical address of the shadow page.
+ * @param   pPage       The shadow page.
  * @param   fFlush      Flush the TLBS when required (should only be false in very specific use cases!!)
  */
@@ -4988,5 +4989,5 @@
  *
  * @param   pPool       The pool.
- * @param   HCPhys      The HC physical address of the shadow page.
+ * @param   pPage       The shadow page.
  * @param   iUser       The shadow page pool index of the user table.
  *                      NIL_PGMPOOL_IDX for root pages.
@@ -5370,5 +5371,5 @@
  * this and execute this CR3 flush.
  *
- * @param   pPool       The pool.
+ * @param   pVM         The cross context VM structure.
  */
 void pgmR3PoolReset(PVM pVM)
Index: /trunk/src/VBox/VMM/VMMAll/SELMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/SELMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/SELMAll.cpp	(revision 58126)
@@ -701,5 +701,5 @@
  * @param   pVCpu   The cross context virtual CPU structure.
  * @param   SelCS   Selector part.
- * @param   pHidCS  The hidden CS register part. Optional.
+ * @param   pSReg   The hidden CS register part. Optional.
  * @param   Addr    Address part.
  * @param   ppvFlat Where to store the flat address.
Index: /trunk/src/VBox/VMM/VMMAll/TMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/TMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/TMAll.cpp	(revision 58126)
@@ -552,5 +552,6 @@
  * Checks that the timer queues are sane.
  *
- * @param   pVM     The cross context VM structure.
+ * @param   pVM         The cross context VM structure.
+ * @param   pszWhere    Caller location clue.
  *
  * @remarks Called while owning the lock.
@@ -676,5 +677,4 @@
  *                              virtual clock.
  * @param   pu64Delta           Where to return the delta.
- * @param   pCounter            The statistics counter to update.
  */
 DECLINLINE(uint64_t) tmTimerPollReturnMiss(PVM pVM, uint64_t u64Now, uint64_t u64Delta, uint64_t *pu64Delta)
@@ -1454,4 +1454,5 @@
  * @returns VBox status code
  * @param   pVM                 The cross context VM structure.
+ * @param   pTimer              The timer to (re-)arm.
  * @param   cTicksToNext        Clock ticks until the next time expiration.
  * @param   pu64Now             Where to return the current time stamp used.
Index: /trunk/src/VBox/VMM/VMMAll/TMAllCpu.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/TMAllCpu.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/TMAllCpu.cpp	(revision 58126)
@@ -37,4 +37,7 @@
 /**
  * Gets the raw cpu tick from current virtual time.
+ *
+ * @param   pVM             The cross context VM structure.
+ * @param   fCheckTimers    Whether to check timers.
  */
 DECLINLINE(uint64_t) tmCpuTickGetRawVirtual(PVM pVM, bool fCheckTimers)
@@ -54,4 +57,6 @@
 /**
  * Used by tmR3CpuTickParavirtEnable and tmR3CpuTickParavirtDisable.
+ *
+ * @param   pVM     The cross context VM structure.
  */
 uint64_t tmR3CpuTickGetRawVirtualNoCheck(PVM pVM)
@@ -398,5 +403,6 @@
  *
  * @returns Gets the CPU tsc.
- * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pVCpu           The cross context virtual CPU structure.
+ * @param   fCheckTimers    Whether to check timers.
  */
 DECLINLINE(uint64_t) tmCpuTickGetInternal(PVMCPU pVCpu, bool fCheckTimers)
Index: /trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp	(revision 58126)
@@ -421,5 +421,5 @@
  * probably also use this facility to save the original trap.
  *
- * @param   pVM     The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
  */
 VMMDECL(void) TRPMSaveTrap(PVMCPU pVCpu)
@@ -438,5 +438,5 @@
  * Multiple restores of a saved trap is possible.
  *
- * @param   pVM     The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
  */
 VMMDECL(void) TRPMRestoreTrap(PVMCPU pVCpu)
@@ -885,5 +885,5 @@
  * @retval  VINF_EM_RESCHEDULE_REM if the exception was dispatched and cannot be executed in raw-mode.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @param   pCtxCore    The CPU context core.
  * @param   enmXcpt     The exception.
@@ -913,5 +913,5 @@
  * @retval  VINF_EM_RESCHEDULE_REM if the exception was dispatched and cannot be executed in raw-mode.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @param   pCtxCore    The CPU context core.
  * @param   enmXcpt     The exception.
@@ -942,5 +942,5 @@
  * @retval  VINF_EM_RESCHEDULE_REM if the exception was dispatched and cannot be executed in raw-mode.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
  * @param   pCtxCore    The CPU context core.
  * @param   enmXcpt     The exception.
Index: /trunk/src/VBox/VMM/VMMAll/VMMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/VMMAll.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMAll/VMMAll.cpp	(revision 58126)
@@ -43,5 +43,5 @@
  * @returns The length of the formatted number.
  * @param   pszBuf              Output buffer with sufficient space.
- * @param   uNum                The number to format.
+ * @param   uNumber             The number to format.
  */
 static unsigned vmmFormatTypeShortNumber(char *pszBuf, uint32_t uNumber)
Index: /trunk/src/VBox/VMM/VMMR0/GIMR0Kvm.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GIMR0Kvm.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/GIMR0Kvm.cpp	(revision 58126)
@@ -37,5 +37,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param
+ * @param   pVCpu       The cross context virtual CPU structure.
  * @thread  EMT.
  * @remarks Can be called with preemption disabled!
Index: /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/GMMR0.cpp	(revision 58126)
@@ -112,7 +112,7 @@
  *
  * One simple fast mutex will be employed in the initial implementation, not
- * two as mentioned in @ref subsec_pgmPhys_Serializing.
- *
- * @see @ref subsec_pgmPhys_Serializing
+ * two as mentioned in @ref sec_pgmPhys_Serializing.
+ *
+ * @see @ref sec_pgmPhys_Serializing
  *
  *
@@ -1132,5 +1132,5 @@
  *
  * @returns Assert status code from RTSemFastMutexRequest.
- * @param   pGMM        Pointer to the GMM instance.
+ * @param   pMtxState   Pointer to the chunk mutex state.
  * @param   pChunk      Pointer to the chunk if it's still
  *                      alive, NULL if it isn't.  This is used to deassociate
@@ -1951,4 +1951,6 @@
  * If no free entries, it's not linked into any list.
  *
+ * @param   pGMM        Pointer to the GMM instance.
+ * @param   pGVM        Pointer to the kernel-only VM instace data.
  * @param   pChunk      The allocation chunk.
  */
@@ -2079,7 +2081,7 @@
  *
  * @returns The new page descriptor table index.
- * @param   pGMM        Pointer to the GMM instance data.
- * @param   hGVM        The global VM handle.
  * @param   pChunk      The chunk.
+ * @param   hGVM        The affinity of the chunk. NIL_GVM_HANDLE for no
+ *                      affinity.
  * @param   iPage       The current page descriptor table index.
  * @param   cPages      The total number of pages to allocate.
@@ -3015,7 +3017,10 @@
  *          that is we're trying to allocate more than we've reserved.
  * @returns see GMMR0AllocatePages.
+ *
  * @param   pVM         The cross context VM structure.
  * @param   idCpu       The VCPU id.
  * @param   cbPage      Large page size.
+ * @param   pIdPage     Where to return the GMM page ID of the page.
+ * @param   pHCPhys     Where to return the host physical address of the page.
  */
 GMMR0DECL(int)  GMMR0AllocateLargePage(PVM pVM, VMCPUID idCpu, uint32_t cbPage, uint32_t *pIdPage, RTHCPHYS *pHCPhys)
@@ -3923,4 +3928,6 @@
  * @param   pGVM        Pointer to the Global VM structure.
  * @param   pChunk      Pointer to the chunk to be unmapped.
+ * @param   fRelaxedSem Whether we can release the semaphore while doing the
+ *                      mapping (@c true) or not.
  */
 static int gmmR0UnmapChunk(PGMM pGMM, PGVM pGVM, PGMMCHUNK pChunk, bool fRelaxedSem)
@@ -4282,6 +4289,7 @@
  *
  * @returns Checksum, 0 on failure.
- * @param   GMM                 The GMM instance data.
- * @param   idPage              The page ID.
+ * @param   pGMM        The GMM instance data.
+ * @param   pGVM        Pointer to the kernel-only VM instace data.
+ * @param   idPage      The page ID.
  */
 static uint32_t gmmR0StrictPageChecksum(PGMM pGMM, PGVM pGVM, uint32_t idPage)
@@ -4321,6 +4329,8 @@
  * @param   cbModule        The module size.
  * @param   enmGuestOS      The guest OS type.
+ * @param   cRegions        The number of regions.
  * @param   pszModuleName   The module name.
  * @param   pszVersion      The module version.
+ * @param   paRegions       The region descriptions.
  */
 static PGMMSHAREDMODULE gmmR0ShModFindGlobal(PGMM pGMM, uint32_t uHash, uint32_t cbModule, VBOXOSFAMILY enmGuestOS,
@@ -4797,4 +4807,5 @@
  * @param   idPage      The Page ID
  * @param   pPage       The page structure.
+ * @param   pPageDesc   Shared page descriptor
  */
 DECLINLINE(void) gmmR0ConvertToSharedPage(PGMM pGMM, PGVM pGVM, RTHCPHYS HCPhys, uint32_t idPage, PGMMPAGE pPage,
@@ -4864,10 +4875,9 @@
  *
  * @returns VBox status code.
- * @param   pGMM        Pointer to the GMM instance data.
  * @param   pGVM        Pointer to the GVM instance data.
  * @param   pModule     Module description
  * @param   idxRegion   Region index
  * @param   idxPage     Page index
- * @param   paPageDesc  Page descriptor
+ * @param   pPageDesc   Page descriptor
  */
 GMMR0DECL(int) GMMR0SharedModuleCheckPage(PGVM pGVM, PGMMSHAREDMODULE pModule, uint32_t idxRegion, uint32_t idxPage,
Index: /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp	(revision 58126)
@@ -644,5 +644,5 @@
  * @param   pSession    The session handle. Used for authentication.
  * @param   pszName     The variable name.
- * @param   u64Value    The new value.
+ * @param   pu64Value   Where to return the value.
  */
 GVMMR0DECL(int) GVMMR0QueryConfig(PSUPDRVSESSION pSession, const char *pszName, uint64_t *pu64Value)
@@ -1212,12 +1212,12 @@
 
 /**
- * Handle destructor.
- *
- * @param   pvGVMM      The GVM instance pointer.
- * @param   pvHandle    The handle pointer.
- */
-static DECLCALLBACK(void) gvmmR0HandleObjDestructor(void *pvObj, void *pvGVMM, void *pvHandle)
-{
-    LogFlow(("gvmmR0HandleObjDestructor: %p %p %p\n", pvObj, pvGVMM, pvHandle));
+ * @callback_method_impl{FNSUPDRVDESTRUCTOR,VM handle destructor}
+ *
+ * pvUser1 is the GVM instance pointer.
+ * pvUser2 is the handle pointer.
+ */
+static DECLCALLBACK(void) gvmmR0HandleObjDestructor(void *pvObj, void *pvUser1, void *pvUser2)
+{
+    LogFlow(("gvmmR0HandleObjDestructor: %p %p %p\n", pvObj, pvUser1, pvUser2));
 
     NOREF(pvObj);
@@ -1226,7 +1226,7 @@
      * Some quick, paranoid, input validation.
      */
-    PGVMHANDLE pHandle = (PGVMHANDLE)pvHandle;
+    PGVMHANDLE pHandle = (PGVMHANDLE)pvUser2;
     AssertPtr(pHandle);
-    PGVMM pGVMM = (PGVMM)pvGVMM;
+    PGVMM pGVMM = (PGVMM)pvUser1;
     Assert(pGVMM == g_pGVMM);
     const uint16_t iHandle = pHandle - &pGVMM->aHandles[0];
@@ -2203,9 +2203,8 @@
  * @returns VINF_SUCCESS if not yielded.
  *          VINF_GVM_YIELDED if an attempt to switch to a different VM task was made.
- * @param   pVM                 The cross context VM structure.
- * @param   idCpu               The Virtual CPU ID of the calling EMT.
- * @param   u64ExpireGipTime    The time for the sleep to expire expressed as GIP time.
- * @param   fYield              Whether to yield or not.
- *                              This is for when we're spinning in the halt loop.
+ * @param   pVM             The cross context VM structure.
+ * @param   idCpu           The Virtual CPU ID of the calling EMT.
+ * @param   fYield          Whether to yield or not.
+ *                          This is for when we're spinning in the halt loop.
  * @thread  EMT(idCpu).
  */
Index: /trunk/src/VBox/VMM/VMMR0/HMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/HMR0.cpp	(revision 58126)
@@ -891,5 +891,4 @@
  * @returns VBox status code.
  * @param   pvUser          Pointer to the VM.
- * @param   pvUserIgnore    NULL, ignored.
  */
 static DECLCALLBACK(int32_t) hmR0EnableAllCpuOnce(void *pvUser)
@@ -1621,5 +1620,6 @@
  *
  * @param   pVCpu           The cross context virtual CPU structure.
- * @param   GCPtrRIP        Address of IO instruction.
+ * @param   GCPtrRip        Address of IO instruction.
+ * @param   GCPtrRipNext    Address of the next instruction.
  * @param   uPort           Port address.
  * @param   uAndVal         AND mask for fetching the result from eax.
Index: /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp	(revision 58126)
@@ -1128,5 +1128,5 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
  * @param   pVmcb       Pointer to the VM control block.
  * @param   pCtx        Pointer to the guest-CPU context.
@@ -2072,5 +2072,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure.
- * @param   pMixedCtx   Pointer to the guest-CPU context.
+ * @param   pCtx        Pointer to the guest-CPU context.
  *
  * @remarks No-long-jmp zone!!!
@@ -3300,4 +3300,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure.
+ * @param   pCtx        Pointer to the guest-CPU context.
  */
 static int hmR0SvmRunGuestCodeNormal(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 58126)
@@ -649,5 +649,4 @@
  *
  * @returns VBox status code.
- * @param   pVCpu           The cross context virtual CPU structure.
  * @param   pVmxTransient   Pointer to the VMX transient structure.
  */
@@ -829,5 +828,5 @@
  * @param   ppVirt          Where to store the virtual address of the
  *                          allocation.
- * @param   pPhys           Where to store the physical address of the
+ * @param   pHCPhys         Where to store the physical address of the
  *                          allocation.
  */
@@ -1128,5 +1127,5 @@
  *
  * @param   pVCpu       The cross context virtual CPU structure.
- * @param   uMSR        The MSR value.
+ * @param   uMsr        The MSR value.
  * @param   enmRead     Whether reading this MSR causes a VM-exit.
  * @param   enmWrite    Whether writing this MSR causes a VM-exit.
@@ -1257,5 +1256,5 @@
  * @param   pVCpu               The cross context virtual CPU structure.
  * @param   uMsr                The MSR.
- * @param   uGuestMsr           Value of the guest MSR.
+ * @param   uGuestMsrValue      Value of the guest MSR.
  * @param   fUpdateHostMsr      Whether to update the value of the host MSR if
  *                              necessary.
@@ -3978,5 +3977,6 @@
 /**
  * Loads the guest debug registers into the guest-state area in the VMCS.
- * This also sets up whether #DB and MOV DRx accesses cause VM-exits.
+ *
+ * This also sets up whether \#DB and MOV DRx accesses cause VM-exits.
  *
  * The guest debug bits are partially shared with the host (e.g. DR6, DR0-3).
@@ -9025,4 +9025,6 @@
  * @param   pVmxTransient   Pointer to the VMX-transient structure.
  * @param   uExitReason     The VM-exit reason.
+ * @param   uCsStart        The CS we started executing (stepping) on.
+ * @param   uRipStart       The RIP we started executing (stepping) on.
  */
 DECLINLINE(VBOXSTRICTRC) hmR0VmxHandleExitStep(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIENT pVmxTransient,
Index: /trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp	(revision 58126)
@@ -91,5 +91,5 @@
 
 
-/** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysRead} */
+/** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysWrite} */
 static DECLCALLBACK(int) pdmR0DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
 {
@@ -897,5 +897,6 @@
 
 /** @interface_method_impl{PDMDRVHLPR0,pfnVMSetRuntimeError} */
-static DECLCALLBACK(int) pdmR0DrvHlp_VMSetRuntimeError(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...)
+static DECLCALLBACK(int) pdmR0DrvHlp_VMSetRuntimeError(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId,
+                                                       const char *pszFormat, ...)
 {
     PDMDRV_ASSERT_DRVINS(pDrvIns);
@@ -908,6 +909,7 @@
 
 
-/** @interface_method_impl{PDMDRVHLPR0,pfnVMSetErrorV} */
-static DECLCALLBACK(int) pdmR0DrvHlp_VMSetRuntimeErrorV(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va)
+/** @interface_method_impl{PDMDRVHLPR0,pfnVMSetRuntimeErrorV} */
+static DECLCALLBACK(int) pdmR0DrvHlp_VMSetRuntimeErrorV(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId,
+                                                        const char *pszFormat, va_list va)
 {
     PDMDRV_ASSERT_DRVINS(pDrvIns);
Index: /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 58126)
@@ -1265,6 +1265,7 @@
  *
  * @returns true / false accordingly.
- * @param   pVM         The cross context VM structure.
- * @param   pSession    The session argument.
+ * @param   pVM             The cross context VM structure.
+ * @param   pClaimedSession The session claim to validate.
+ * @param   pSession        The session argument.
  */
 DECLINLINE(bool) vmmR0IsValidSession(PVM pVM, PSUPDRVSESSION pClaimedSession, PSUPDRVSESSION pSession)
Index: /trunk/src/VBox/VMM/VMMR3/CFGM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/CFGM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/CFGM.cpp	(revision 58126)
@@ -269,5 +269,5 @@
  *
  * @returns Pointer to root node.
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  */
 VMMR3DECL(PCFGMNODE) CFGMR3GetRootU(PUVM pUVM)
@@ -2556,5 +2556,5 @@
  * @param   pszName         Name of an integer value.
  * @param   pu16            Where to store the value. Set to default on failure.
- * @param   i16Def          The default value.
+ * @param   u16Def          The default value.
  */
 VMMR3DECL(int) CFGMR3QueryU16Def(PCFGMNODE pNode, const char *pszName, uint16_t *pu16, uint16_t u16Def)
Index: /trunk/src/VBox/VMM/VMMR3/CPUM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/CPUM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/CPUM.cpp	(revision 58126)
@@ -1191,5 +1191,5 @@
 
 /**
- * @copydoc FNSSMINTLOADPREP
+ * @callback_method_impl{FNSSMINTLOADPREP}
  */
 static DECLCALLBACK(int) cpumR3LoadPrep(PVM pVM, PSSMHANDLE pSSM)
@@ -1202,5 +1202,5 @@
 
 /**
- * @copydoc FNSSMINTLOADEXEC
+ * @callback_method_impl{FNSSMINTLOADEXEC}
  */
 static DECLCALLBACK(int) cpumR3LoadExec(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass)
@@ -1508,5 +1508,5 @@
 
 /**
- * @copydoc FNSSMINTLOADPREP
+ * @callback_method_impl{FNSSMINTLOADDONE}
  */
 static DECLCALLBACK(int) cpumR3LoadDone(PVM pVM, PSSMHANDLE pSSM)
Index: /trunk/src/VBox/VMM/VMMR3/DBGF.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGF.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGF.cpp	(revision 58126)
@@ -1191,5 +1191,5 @@
  *
  * @returns VBox status.
- * @param   pUVM        The user mode VM handle.
+ * @param   pUVM    The user mode VM handle.
  * @param   idCpu   The ID of the CPU to single step on.
  */
@@ -1244,5 +1244,6 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM    The user mode VM structure.
+ * @param   idCpu   The ID of the CPU to inject the NMI on.
  */
 VMMR3DECL(int) DBGFR3InjectNMI(PUVM pUVM, VMCPUID idCpu)
Index: /trunk/src/VBox/VMM/VMMR3/DBGFAddr.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFAddr.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFAddr.cpp	(revision 58126)
@@ -146,5 +146,4 @@
  * @returns VBox status code.
  * @param   pUVM            The user mode VM handle.
- * @param   idCpu           The CPU ID.
  * @param   pAddress        Where to store the mixed address.
  * @param   pSelInfo        The selector info.
Index: /trunk/src/VBox/VMM/VMMR3/DBGFBp.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFBp.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFBp.cpp	(revision 58126)
@@ -562,5 +562,7 @@
 
 
-/** @callback_method_impl{FNVMMEMTRENDEZVOUS}  */
+/**
+ * @callback_method_impl{FNVMMEMTRENDEZVOUS}
+ */
 DECLCALLBACK(VBOXSTRICTRC) dbgfR3BpRegRecalcOnCpu(PVM pVM, PVMCPU pVCpu, void *pvUser)
 {
Index: /trunk/src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFCoreWrite.cpp	(revision 58126)
@@ -207,7 +207,7 @@
  * @returns IPRT status code.
  */
-static int Elf64WriteNoteHdr(RTFILE hFile, uint16_t Type, const char *pszName, const void *pcvData, uint64_t cbData)
-{
-    AssertReturn(pcvData, VERR_INVALID_POINTER);
+static int Elf64WriteNoteHdr(RTFILE hFile, uint16_t Type, const char *pszName, const void *pvData, uint64_t cbData)
+{
+    AssertReturn(pvData, VERR_INVALID_POINTER);
     AssertReturn(cbData > 0, VERR_NO_DATA);
 
@@ -271,5 +271,5 @@
                  * Write note data.
                  */
-                rc = RTFileWrite(hFile, pcvData, cbData, NULL /* all */);
+                rc = RTFileWrite(hFile, pvData, cbData, NULL /* all */);
                 if (RT_SUCCESS(rc))
                 {
Index: /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFDisas.cpp	(revision 58126)
@@ -324,10 +324,10 @@
 
 /**
- * @copydoc FNDISGETSYMBOL
- */
-static DECLCALLBACK(int) dbgfR3DisasGetSymbol(PCDISCPUSTATE pCpu, uint32_t u32Sel, RTUINTPTR uAddress,
+ * @callback_method_impl{FNDISGETSYMBOL}
+ */
+static DECLCALLBACK(int) dbgfR3DisasGetSymbol(PCDISCPUSTATE pDis, uint32_t u32Sel, RTUINTPTR uAddress,
                                               char *pszBuf, size_t cchBuf, RTINTPTR *poff, void *pvUser)
 {
-    PDBGFDISASSTATE pState   = (PDBGFDISASSTATE)pCpu;
+    PDBGFDISASSTATE pState   = (PDBGFDISASSTATE)pDis;
     PCDBGFSELINFO   pSelInfo = (PCDBGFSELINFO)pvUser;
 
Index: /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFInfo.cpp	(revision 58126)
@@ -831,5 +831,5 @@
  * This is intended used by the fatal error dump only.
  *
- * @returns
+ * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
  * @param   pszIncludePat   Simple string pattern of info items to include.
@@ -840,5 +840,5 @@
  *                          will be used.
  *
- * @threads EMT
+ * @thread  EMT
  */
 VMMR3_INT_DECL(int) DBGFR3InfoMulti(PVM pVM, const char *pszIncludePat, const char *pszExcludePat, const char *pszSepFmt,
Index: /trunk/src/VBox/VMM/VMMR3/DBGFMem.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFMem.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFMem.cpp	(revision 58126)
@@ -141,4 +141,5 @@
  * @returns VBox status code.
  * @param   pUVM        The user mode VM handle.
+ * @param   idCpu       The ID of the CPU context to read memory from.
  * @param   pAddress    Where to start reading.
  * @param   pvBuf       Where to store the data we've read.
@@ -370,5 +371,5 @@
  * @param   pAddress    Where to start writing.
  * @param   pvBuf       The data to write.
- * @param   cbRead      The number of bytes to write.
+ * @param   cbWrite     The number of bytes to write.
  */
 VMMR3DECL(int) DBGFR3MemWrite(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void const *pvBuf, size_t cbWrite)
Index: /trunk/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFR3Trace.cpp	(revision 58126)
@@ -70,5 +70,7 @@
  *
  * @returns VBox status code
- * @param   pVM                 The cross context VM structure.
+ * @param   pVM         The cross context VM structure.
+ * @param   cbEntry     The trace entry size.
+ * @param   cEntries    The number of entries.
  */
 static int dbgfR3TraceEnable(PVM pVM, uint32_t cbEntry, uint32_t cEntries)
Index: /trunk/src/VBox/VMM/VMMR3/DBGFReg.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/DBGFReg.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/DBGFReg.cpp	(revision 58126)
@@ -1910,5 +1910,5 @@
  *                              so please pass a copy of the user's one.
  * @param   pValue              The new register value.
- * @param   enmType             The register value type.
+ * @param   pMask               Indicate which bits to modify.
  */
 static DECLCALLBACK(int) dbgfR3RegNmSetWorkerOnCpu(PUVM pUVM, PDBGFREGLOOKUP pLookupRec,
@@ -2123,9 +2123,9 @@
 
 /**
- * Internal worker for DBGFR3RegFormatValue, cbTmp is sufficent.
- *
- * @copydoc DBGFR3RegFormatValue
- */
-DECLINLINE(ssize_t) dbgfR3RegFormatValueInt(char *pszTmp, size_t cbTmp, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType,
+ * Internal worker for DBGFR3RegFormatValue, cbBuf is sufficent.
+ *
+ * @copydoc DBGFR3RegFormatValueEx
+ */
+DECLINLINE(ssize_t) dbgfR3RegFormatValueInt(char *pszBuf, size_t cbBuf, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType,
                                             unsigned uBase, signed int cchWidth, signed int cchPrecision, uint32_t fFlags)
 {
@@ -2133,22 +2133,22 @@
     {
         case DBGFREGVALTYPE_U8:
-            return RTStrFormatU8(pszTmp, cbTmp, pValue->u8, uBase, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatU8(pszBuf, cbBuf, pValue->u8, uBase, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_U16:
-            return RTStrFormatU16(pszTmp, cbTmp, pValue->u16, uBase, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatU16(pszBuf, cbBuf, pValue->u16, uBase, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_U32:
-            return RTStrFormatU32(pszTmp, cbTmp, pValue->u32, uBase, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatU32(pszBuf, cbBuf, pValue->u32, uBase, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_U64:
-            return RTStrFormatU64(pszTmp, cbTmp, pValue->u64, uBase, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatU64(pszBuf, cbBuf, pValue->u64, uBase, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_U128:
-            return RTStrFormatU128(pszTmp, cbTmp, &pValue->u128, uBase, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatU128(pszBuf, cbBuf, &pValue->u128, uBase, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_R80:
-            return RTStrFormatR80u2(pszTmp, cbTmp, &pValue->r80Ex, cchWidth, cchPrecision, fFlags);
+            return RTStrFormatR80u2(pszBuf, cbBuf, &pValue->r80Ex, cchWidth, cchPrecision, fFlags);
         case DBGFREGVALTYPE_DTR:
         {
-            ssize_t cch = RTStrFormatU64(pszTmp, cbTmp, pValue->dtr.u64Base,
+            ssize_t cch = RTStrFormatU64(pszBuf, cbBuf, pValue->dtr.u64Base,
                                          16, 2+16, 0, RTSTR_F_SPECIAL | RTSTR_F_ZEROPAD);
             AssertReturn(cch > 0, VERR_DBGF_REG_IPE_1);
-            pszTmp[cch++] = ':';
-            cch += RTStrFormatU64(&pszTmp[cch], cbTmp - cch, pValue->dtr.u32Limit,
+            pszBuf[cch++] = ':';
+            cch += RTStrFormatU64(&pszBuf[cch], cbBuf - cch, pValue->dtr.u32Limit,
                                   16, 4, 0, RTSTR_F_ZEROPAD | RTSTR_F_32BIT);
             return cch;
@@ -2162,5 +2162,5 @@
     }
 
-    RTStrPrintf(pszTmp, cbTmp, "!enmType=%d!", enmType);
+    RTStrPrintf(pszBuf, cbBuf, "!enmType=%d!", enmType);
     return VERR_DBGF_REG_IPE_2;
 }
Index: /trunk/src/VBox/VMM/VMMR3/EMHM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/EMHM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/EMHM.cpp	(revision 58126)
@@ -166,5 +166,5 @@
  *                      instruction and prefix the log output with this text.
  */
-#ifdef LOG_ENABLED
+#if defined(LOG_ENABLED) || defined(DOXYGEN_RUNNING)
 static int emR3HmExecuteInstructionWorker(PVM pVM, PVMCPU pVCpu, int rcRC, const char *pszPrefix)
 #else
Index: /trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/EMRaw.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/EMRaw.cpp	(revision 58126)
@@ -79,5 +79,5 @@
  * Just a braindead function to keep track of cli addresses.
  * @param   pVM         The cross context VM structure.
- * @param   pVMCPU      Pointer to the VMCPU.
+ * @param   pVCpu       The cross context virtual CPU structure.
  * @param   GCPtrInstr  The EIP of the cli instruction.
  */
@@ -266,5 +266,5 @@
  *                      instruction and prefix the log output with this text.
  */
-#ifdef LOG_ENABLED
+#if defined(LOG_ENABLED) || defined(DOXYGEN_RUNNING)
 static int emR3RawExecuteInstructionWorker(PVM pVM, PVMCPU pVCpu, int rcGC, const char *pszPrefix)
 #else
Index: /trunk/src/VBox/VMM/VMMR3/FTM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/FTM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/FTM.cpp	(revision 58126)
@@ -232,5 +232,5 @@
  * @returns VBox status code.
  *
- * @param   pState      The teleporter state structure.
+ * @param   pVM         The cross context VM structure.
  * @param   pszBuf      The output buffer.
  * @param   cchBuf      The size of the output buffer.
@@ -344,5 +344,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnWrite
+ * @interface_method_impl{SSMSTRMOPS,pfnWrite}
  */
 static DECLCALLBACK(int) ftmR3TcpOpWrite(void *pvUser, uint64_t offStream, const void *pvBuf, size_t cbToWrite)
@@ -388,5 +388,5 @@
  * @returns VBox status code.
  *
- * @param   pState          The teleporter state data.
+ * @param   pVM         The cross context VM structure.
  */
 static int ftmR3TcpReadSelect(PVM pVM)
@@ -413,5 +413,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnRead
+ * @interface_method_impl{SSMSTRMOPS,pfnRead}
  */
 static DECLCALLBACK(int) ftmR3TcpOpRead(void *pvUser, uint64_t offStream, void *pvBuf, size_t cbToRead, size_t *pcbRead)
@@ -514,5 +514,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnSeek
+ * @interface_method_impl{SSMSTRMOPS,pfnSeek}
  */
 static DECLCALLBACK(int) ftmR3TcpOpSeek(void *pvUser, int64_t offSeek, unsigned uMethod, uint64_t *poffActual)
@@ -524,5 +524,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnTell
+ * @interface_method_impl{SSMSTRMOPS,pfnTell}
  */
 static DECLCALLBACK(uint64_t) ftmR3TcpOpTell(void *pvUser)
@@ -534,5 +534,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnSize
+ * @interface_method_impl{SSMSTRMOPS,pfnSize}
  */
 static DECLCALLBACK(int) ftmR3TcpOpSize(void *pvUser, uint64_t *pcb)
@@ -544,5 +544,5 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnIsOk
+ * @interface_method_impl{SSMSTRMOPS,pfnIsOk}
  */
 static DECLCALLBACK(int) ftmR3TcpOpIsOk(void *pvUser)
@@ -572,7 +572,7 @@
 
 /**
- * @copydoc SSMSTRMOPS::pfnClose
- */
-static DECLCALLBACK(int) ftmR3TcpOpClose(void *pvUser, bool fCanceled)
+ * @interface_method_impl{SSMSTRMOPS,pfnClose}
+ */
+static DECLCALLBACK(int) ftmR3TcpOpClose(void *pvUser, bool fCancelled)
 {
     PVM pVM = (PVM)pvUser;
@@ -582,5 +582,5 @@
         FTMTCPHDR EofHdr;
         EofHdr.u32Magic = FTMTCPHDR_MAGIC;
-        EofHdr.cb       = fCanceled ? UINT32_MAX : 0;
+        EofHdr.cb       = fCancelled ? UINT32_MAX : 0;
         int rc = RTTcpWrite(pVM->ftm.s.hSocket, &EofHdr, sizeof(EofHdr));
         if (RT_FAILURE(rc))
@@ -981,18 +981,18 @@
  * @returns VINF_SUCCESS or VERR_TCP_SERVER_STOP.
  */
-static DECLCALLBACK(int) ftmR3StandbyServeConnection(RTSOCKET Sock, void *pvUser)
+static DECLCALLBACK(int) ftmR3StandbyServeConnection(RTSOCKET hSocket, void *pvUser)
 {
     PVM pVM = (PVM)pvUser;
 
-    pVM->ftm.s.hSocket = Sock;
+    pVM->ftm.s.hSocket = hSocket;
 
     /*
      * Disable Nagle.
      */
-    int rc = RTTcpSetSendCoalescing(Sock, false /*fEnable*/);
+    int rc = RTTcpSetSendCoalescing(hSocket, false /*fEnable*/);
     AssertRC(rc);
 
     /* Send the welcome message to the master node. */
-    rc = RTTcpWrite(Sock, g_szWelcome, sizeof(g_szWelcome) - 1);
+    rc = RTTcpWrite(hSocket, g_szWelcome, sizeof(g_szWelcome) - 1);
     if (RT_FAILURE(rc))
     {
@@ -1011,5 +1011,5 @@
         {
             char ch;
-            rc = RTTcpRead(Sock, &ch, sizeof(ch), NULL);
+            rc = RTTcpRead(hSocket, &ch, sizeof(ch), NULL);
             if (    RT_FAILURE(rc)
                 ||  pszPassword[off] != ch)
Index: /trunk/src/VBox/VMM/VMMR3/GIM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/GIM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/GIM.cpp	(revision 58126)
@@ -70,6 +70,6 @@
 *   Internal Functions                                                                                                           *
 *********************************************************************************************************************************/
-static DECLCALLBACK(int) gimR3Save(PVM pVM, PSSMHANDLE pSSM);
-static DECLCALLBACK(int) gimR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion, uint32_t uPass);
+static FNSSMINTSAVEEXEC  gimR3Save;
+static FNSSMINTLOADEXEC  gimR3Load;
 static FNPGMPHYSHANDLER  gimR3Mmio2WriteHandler;
 
@@ -164,5 +164,4 @@
  * @returns VBox status code.
  * @param   pVM                 The cross context VM structure.
- * @param   enmWhat             What has been completed.
  * @thread  EMT(0)
  */
@@ -238,11 +237,7 @@
 
 /**
- * Executes state-save operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
- */
-DECLCALLBACK(int) gimR3Save(PVM pVM, PSSMHANDLE pSSM)
+ * @callback_method_impl{FNSSMINTSAVEEXEC}
+ */
+static DECLCALLBACK(int) gimR3Save(PVM pVM, PSSMHANDLE pSSM)
 {
     AssertReturn(pVM,  VERR_INVALID_PARAMETER);
@@ -289,17 +284,11 @@
 
 /**
- * Execute state load operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
- * @param   uVersion        Data layout version.
- * @param   uPass           The data pass.
- */
-DECLCALLBACK(int) gimR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uSSMVersion, uint32_t uPass)
+ * @callback_method_impl{FNSSMINTLOADEXEC}
+ */
+static DECLCALLBACK(int) gimR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass)
 {
     if (uPass != SSM_PASS_FINAL)
         return VINF_SUCCESS;
-    if (uSSMVersion != GIM_SAVED_STATE_VERSION)
+    if (uVersion != GIM_SAVED_STATE_VERSION)
         return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION;
 
@@ -339,10 +328,10 @@
     {
         case GIMPROVIDERID_HYPERV:
-            rc = gimR3HvLoad(pVM, pSSM, uSSMVersion);
+            rc = gimR3HvLoad(pVM, pSSM, uVersion);
             AssertRCReturn(rc, rc);
             break;
 
         case GIMPROVIDERID_KVM:
-            rc = gimR3KvmLoad(pVM, pSSM, uSSMVersion);
+            rc = gimR3KvmLoad(pVM, pSSM, uVersion);
             AssertRCReturn(rc, rc);
             break;
@@ -411,12 +400,12 @@
  *
  * @param   pVM             The cross context VM structure.
- * @param   pDevInsR3       Pointer to the GIM device instance.
+ * @param   pDevIns         Pointer to the GIM device instance.
  * @param   pDebugStream    Pointer to the GIM device debug connection, can be
  *                          NULL.
  */
-VMMR3DECL(void) GIMR3GimDeviceRegister(PVM pVM, PPDMDEVINS pDevInsR3, PPDMISTREAM pDebugStreamR3)
-{
-    pVM->gim.s.pDevInsR3 = pDevInsR3;
-    pVM->gim.s.pDebugStreamR3 = pDebugStreamR3;
+VMMR3DECL(void) GIMR3GimDeviceRegister(PVM pVM, PPDMDEVINS pDevIns, PPDMISTREAM pDebugStream)
+{
+    pVM->gim.s.pDevInsR3 = pDevIns;
+    pVM->gim.s.pDebugStreamR3 = pDebugStream;
 }
 
Index: /trunk/src/VBox/VMM/VMMR3/GIMHv.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/GIMHv.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/GIMHv.cpp	(revision 58126)
@@ -93,5 +93,4 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   uVersion    The interface version this VM should use.
  */
 VMMR3_INT_DECL(int) gimR3HvInit(PVM pVM)
Index: /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp	(revision 58126)
@@ -88,5 +88,4 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   uVersion    The interface version this VM should use.
  */
 VMMR3_INT_DECL(int) gimR3KvmInit(PVM pVM)
@@ -560,5 +559,4 @@
  * @param   pVM                The cross context VM structure.
  * @param   GCPhysWallClock    Where the guest wall-clock structure is located.
- * @param   uVersion           The version (sequence number) value to use.
  *
  * @remarks Don't do any release assertions here, these can be triggered by
Index: /trunk/src/VBox/VMM/VMMR3/GMM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/GMM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/GMM.cpp	(revision 58126)
@@ -95,4 +95,5 @@
 /**
  * Performs a GMMR0AllocatePages request.
+ *
  * This will call VMSetError on failure.
  *
Index: /trunk/src/VBox/VMM/VMMR3/HM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 58126)
@@ -462,5 +462,5 @@
     /** @cfgm{/HM/SvmPauseFilterCount, uint16_t, 0}
      * A counter that is decrement each time a PAUSE instruction is executed by the
-     * guest. When the counter is 0, a #VMEXIT is triggered.
+     * guest. When the counter is 0, a \#VMEXIT is triggered.
      */
     rc = CFGMR3QueryU16Def(pCfgHm, "SvmPauseFilter", &pVM->hm.s.svm.cPauseFilter, 0);
@@ -2349,5 +2349,5 @@
  *        false.
  * @param   pSel        Pointer to the selector to check (CS).
- *          uStackDpl   The CPL, aka the DPL of the stack segment.
+ * @param   uStackDpl   The CPL, aka the DPL of the stack segment.
  */
 static bool hmR3IsCodeSelectorOkForVmx(PCPUMSELREG pSel, unsigned uStackDpl)
@@ -2871,5 +2871,5 @@
  *
  * @returns true if an internal event is pending, otherwise false.
- * @param   pVM         The cross context VM structure.
+ * @param   pVCpu       The cross context virtual CPU structure.
  */
 VMMR3_INT_DECL(bool) HMR3IsEventPending(PVMCPU pVCpu)
Index: /trunk/src/VBox/VMM/VMMR3/IOM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/IOM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/IOM.cpp	(revision 58126)
@@ -1348,4 +1348,5 @@
  * @param   pfnReadCallback     Pointer to function which is gonna handle Read operations.
  * @param   pfnFillCallback     Pointer to function which is gonna handle Fill/memset operations.
+ * @param   fFlags              Flags, see IOMMMIO_FLAGS_XXX.
  * @param   pszDesc             Pointer to description string. This must not be freed.
  */
Index: /trunk/src/VBox/VMM/VMMR3/MMUkHeap.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/MMUkHeap.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/MMUkHeap.cpp	(revision 58126)
@@ -378,4 +378,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pv          Pointer to the memory block to free.
+ * @param   enmTag      The allocation accounting tag.
  */
 VMMR3DECL(void) MMR3UkHeapFree(PVM pVM, void *pv, MMTAG enmTag)
Index: /trunk/src/VBox/VMM/VMMR3/PATM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PATM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PATM.cpp	(revision 58126)
@@ -2607,4 +2607,5 @@
  * @param   pPatch      Patch record
  * @param   pCacheRec   Guest translation lookup cache record
+ * @param   fAddFixup   Whether to add a fixup record.
  */
 static int patmGenJumpToPatch(PVM pVM, PPATCHINFO pPatch, PPATMP2GLOOKUPREC pCacheRec, bool fAddFixup = true)
@@ -2749,6 +2750,8 @@
  * @param   pVM         The cross context VM structure.
  * @param   pPatch      Patch record
- * @param   pInstrHC    HC address where to insert the jump
+ * @param   pTargetGC   The target of the fixup (i.e. the patch code we're
+ *                      calling into).
  * @param   pCacheRec   Guest translation cache record
+ * @param   fAddFixup   Whether to add a fixup record.
  */
 static int patmGenCallToPatch(PVM pVM, PPATCHINFO pPatch, RTRCPTR pTargetGC, PPATMP2GLOOKUPREC pCacheRec, bool fAddFixup = true)
@@ -4080,5 +4083,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context point to privileged instruction
+ * @param   pInstrGC    Guest context point to privileged instruction
  * @param   flags       Patch flags
  */
@@ -4097,5 +4100,6 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context point to privileged instruction (0:32 flat address)
+ * @param   pInstrGC    Guest context point to privileged instruction (0:32 flat
+ *                      address)
  * @param   flags       Patch flags
  *
@@ -5209,5 +5213,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context point to privileged instruction
+ * @param   pInstrGC    Guest context point to privileged instruction
  *
  * @note    returns failure if patching is not allowed or possible
@@ -5357,5 +5361,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context instruction pointer
+ * @param   pInstrGC    Guest context instruction pointer
  * @param   pConflictAddr  Guest context pointer which conflicts with specified patch
  * @param   pConflictPatch Conflicting patch
@@ -5456,5 +5460,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context point to privileged instruction
+ * @param   pInstrGC    Guest context point to privileged instruction
  *
  * @note    returns failure if patching is not allowed or possible
@@ -5836,7 +5840,7 @@
  * @returns Patch structure pointer if found; else NULL
  * @param   pVM           The cross context VM structure.
- * @param   pInstr        Guest context point to instruction that might lie within 5 bytes of an existing patch jump
+ * @param   pInstrGC      Guest context point to instruction that might lie
+ *                        within 5 bytes of an existing patch jump
  * @param   fIncludeHints Include hinted patches or not
- *
  */
 PPATCHINFO patmFindActivePatchByEntrypoint(PVM pVM, RTRCPTR pInstrGC, bool fIncludeHints)
@@ -5902,5 +5906,5 @@
  * @returns VBox status code.
  * @param   pVM         The cross context VM structure.
- * @param   pInstr      Guest context point to privileged instruction
+ * @param   pInstrGC    Guest context point to privileged instruction
  *
  * @note    returns failure if patching is not allowed or possible
Index: /trunk/src/VBox/VMM/VMMR3/PATMGuest.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PATMGuest.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PATMGuest.cpp	(revision 58126)
@@ -207,5 +207,4 @@
  * @param   pInstrGC    GC Instruction pointer for instruction
  * @param   pInstrHC    GC Instruction pointer for instruction
- * @param   pCallerGC   GC address of caller; CODE32_UNKNOWN_CALLER if unknown
  * @param   pPatchRec   Patch structure
  *
Index: /trunk/src/VBox/VMM/VMMR3/PATMPatch.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PATMPatch.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PATMPatch.cpp	(revision 58126)
@@ -1569,7 +1569,7 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
- * @param   pPatch      Patch record
- * @param   pTargetGC   Guest target jump
+ * @param   pVM                 The cross context VM structure.
+ * @param   pPatch              Patch record
+ * @param   pReturnAddrGC       Guest code target of the jump.
  * @param   fClearInhibitIRQs   Clear inhibit irq flag
  */
Index: /trunk/src/VBox/VMM/VMMR3/PATMPatch.h
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PATMPatch.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PATMPatch.h	(revision 58126)
@@ -80,8 +80,8 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
- * @param   pPatch      Patch record
- * @param   pTargetGC   Guest target jump
- * @param   fClearInhibitIRQs   Clear inhibit irq flag
+ * @param   pVM                 The cross context VM structure.
+ * @param   pPatch              Patch record.
+ * @param   pReturnAddrGC       Guest code target of the jump.
+ * @param   fClearInhibitIRQs   Clear inhibit irq flag.
  */
 int patmPatchGenJumpToGuest(PVM pVM, PPATCHINFO pPatch, RCPTRTYPE(uint8_t *) pReturnAddrGC, bool fClearInhibitIRQs = false);
Index: /trunk/src/VBox/VMM/VMMR3/PDM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDM.cpp	(revision 58126)
@@ -18,4 +18,6 @@
 
 /** @page   pg_pdm      PDM - The Pluggable Device & Driver Manager
+ *
+ * The PDM handles devices and their drivers in a flexible and dynamic manner.
  *
  * VirtualBox is designed to be very configurable, i.e. the ability to select
@@ -2473,5 +2475,5 @@
  * @param   pVM             The cross context VM structure.
  * @param   cbSize          Allocation size.
- * @param   pv              Ring-3 pointer. (out)
+ * @param   ppv             Ring-3 pointer. (out)
  */
 VMMR3_INT_DECL(int) PDMR3VmmDevHeapAlloc(PVM pVM, size_t cbSize, RTR3PTR *ppv)
Index: /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletion.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletion.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletion.cpp	(revision 58126)
@@ -159,6 +159,7 @@
  *
  * @returns VBox status.
- * @param   pVM           The cross context VM structure.
- * @param   ppTemplate    Where to store the template handle.
+ * @param   pVM             The cross context VM structure.
+ * @param   ppTemplate      Where to store the template handle.
+ * @param   enmType         Async completion template type (dev, drv, usb, int).
  */
 static int pdmR3AsyncCompletionTemplateCreate(PVM pVM, PPPDMASYNCCOMPLETIONTEMPLATE ppTemplate,
@@ -816,7 +817,7 @@
  *
  * @returns VBox status code.
- * @param   pVM        The cross context VM structure.
- * @param   pEpClass   Pointer to the endpoint class structure.
- * @param   pCfgHandle Pointer to the CFGM tree.
+ * @param   pVM         The cross context VM structure.
+ * @param   pEpClassOps Pointer to the endpoint class structure.
+ * @param   pCfgHandle  Pointer to the CFGM tree.
  */
 int pdmR3AsyncCompletionEpClassInit(PVM pVM, PCPDMASYNCCOMPLETIONEPCLASSOPS pEpClassOps, PCFGMNODE pCfgHandle)
Index: /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFile.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFile.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFile.cpp	(revision 58126)
@@ -509,5 +509,6 @@
  *
  * @returns nothing.
- * @param   pAioMgr    The async I/O manager to destroy.
+ * @param   pEpClassFile    Pointer to globals for the file endpoint class.
+ * @param   pAioMgr         The async I/O manager to destroy.
  */
 static void pdmacFileAioMgrDestroy(PPDMASYNCCOMPLETIONEPCLASSFILE pEpClassFile, PPDMACEPFILEMGR pAioMgr)
Index: /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp	(revision 58126)
@@ -434,6 +434,7 @@
  *
  * @returns VBox status code
- * @param   pAioMgr    The I/O manager the error occurred on.
- * @param   rc         The error code.
+ * @param   pAioMgr     The I/O manager the error occurred on.
+ * @param   rc          The error code.
+ * @param   SRC_POS     The source location of the error (use RT_SRC_POS).
  */
 static int pdmacFileAioMgrNormalErrorHandler(PPDMACEPFILEMGR pAioMgr, int rc, RT_SRC_POS_DECL)
Index: /trunk/src/VBox/VMM/VMMR3/PDMBlkCache.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMBlkCache.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMBlkCache.cpp	(revision 58126)
@@ -311,9 +311,11 @@
  * @param    cbData           The amount of the data to free.
  * @param    pListSrc         The source list to evict data from.
- * @param    pGhostListSrc    The ghost list removed entries should be moved to
- *                            NULL if the entry should be freed.
- * @param    fReuseBuffer     Flag whether a buffer should be reused if it has the same size
- * @param    ppbBuf           Where to store the address of the buffer if an entry with the
- *                            same size was found and fReuseBuffer is true.
+ * @param    pGhostListDst    Where the ghost list removed entries should be
+ *                            moved to, NULL if the entry should be freed.
+ * @param    fReuseBuffer     Flag whether a buffer should be reused if it has
+ *                            the same size
+ * @param    ppbBuffer        Where to store the address of the buffer if an
+ *                            entry with the same size was found and
+ *                            fReuseBuffer is true.
  *
  * @note    This function may return fewer bytes than requested because entries
@@ -593,14 +595,14 @@
 
 /**
- * Passthrough a part of a request directly to the I/O manager
- * handling the endpoint.
+ * Passthrough a part of a request directly to the I/O manager handling the
+ * endpoint.
  *
  * @returns VBox status code.
- * @param   pEndpoint          The endpoint.
- * @param   pTask              The task.
- * @param   pIoMemCtx          The I/O memory context to use.
- * @param   offStart           Offset to start transfer from.
- * @param   cbData             Amount of data to transfer.
- * @param   enmTransferType    The transfer type (read/write)
+ * @param   pBlkCache       The endpoint cache.
+ * @param   pReq            The request.
+ * @param   pSgBuf          The scatter/gather buffer.
+ * @param   offStart        Offset to start transfer from.
+ * @param   cbData          Amount of data to transfer.
+ * @param   enmXferDir      The transfer type (read/write)
  */
 static int pdmBlkCacheRequestPassthrough(PPDMBLKCACHE pBlkCache, PPDMBLKCACHEREQ pReq,
@@ -1417,5 +1419,5 @@
  *
  * @returns nothing.
- * @param    pEndpoint    The endpoint to the destroy.
+ * @param   pBlkCache       Block cache handle.
  */
 VMMR3DECL(void) PDMR3BlkCacheRelease(PPDMBLKCACHE pBlkCache)
@@ -1564,10 +1566,9 @@
  * @returns nothing.
  * @param   pBlkCache    The endpoint cache.
- * @param   off               The offset.
- * @param   pEntryAbove       Where to store the pointer to the best fit entry above the
- *                            the given offset. NULL if not required.
- */
-static void pdmBlkCacheGetCacheBestFitEntryByOffset(PPDMBLKCACHE pBlkCache, uint64_t off,
-                                                    PPDMBLKCACHEENTRY *ppEntryAbove)
+ * @param   off          The offset.
+ * @param   ppEntryAbove Where to store the pointer to the best fit entry above
+ *                       the the given offset. NULL if not required.
+ */
+static void pdmBlkCacheGetCacheBestFitEntryByOffset(PPDMBLKCACHE pBlkCache, uint64_t off, PPDMBLKCACHEENTRY *ppEntryAbove)
 {
     STAM_PROFILE_ADV_START(&pBlkCache->pCache->StatTreeGet, Cache);
@@ -1608,6 +1609,5 @@
  *                    The buffer needs to have the same size of the entry.
  */
-static PPDMBLKCACHEENTRY pdmBlkCacheEntryAlloc(PPDMBLKCACHE pBlkCache,
-                                               uint64_t off, size_t cbData, uint8_t *pbBuffer)
+static PPDMBLKCACHEENTRY pdmBlkCacheEntryAlloc(PPDMBLKCACHE pBlkCache, uint64_t off, size_t cbData, uint8_t *pbBuffer)
 {
     AssertReturn(cbData <= UINT32_MAX, NULL);
@@ -1681,6 +1681,6 @@
  *
  * @returns nothing.
- * @param   pEntry    The cache entry to add the segment to.
- * @param   pSeg      The segment to add.
+ * @param   pEntry      The cache entry to add the segment to.
+ * @param   pWaiter     The waiter entry to add.
  */
 DECLINLINE(void) pdmBlkCacheEntryAddWaiter(PPDMBLKCACHEENTRY pEntry,
@@ -1710,17 +1710,14 @@
  *
  * @returns VBox status code.
- * @param   pEntry    The entry to add the buffer to.
- * @param   pTask     Task associated with the buffer.
- * @param   pIoMemCtx The memory context to use.
- * @param   offDiff   Offset from the start of the buffer
- *                    in the entry.
- * @param   cbData    Amount of data to wait for onthis entry.
- * @param   fWrite    Flag whether the task waits because it wants to write
- *                    to the cache entry.
- */
-static int pdmBlkCacheEntryWaitersAdd(PPDMBLKCACHEENTRY pEntry,
-                                      PPDMBLKCACHEREQ pReq,
-                                      PRTSGBUF pSgBuf, uint64_t offDiff,
-                                      size_t cbData, bool fWrite)
+ * @param   pEntry      The entry to add the buffer to.
+ * @param   pReq        The request.
+ * @param   pSgBuf      The scatter/gather buffer. Will be advanced by cbData.
+ * @param   offDiff     Offset from the start of the buffer in the entry.
+ * @param   cbData      Amount of data to wait for onthis entry.
+ * @param   fWrite      Flag whether the task waits because it wants to write to
+ *                      the cache entry.
+ */
+static int pdmBlkCacheEntryWaitersAdd(PPDMBLKCACHEENTRY pEntry, PPDMBLKCACHEREQ pReq,
+                                      PRTSGBUF pSgBuf, uint64_t offDiff, size_t cbData, bool fWrite)
 {
     PPDMBLKCACHEWAITER pWaiter  = (PPDMBLKCACHEWAITER)RTMemAllocZ(sizeof(PDMBLKCACHEWAITER));
@@ -1747,5 +1744,4 @@
  * @returns The number of bytes the entry can hold of the requested amount
  *          of bytes.
- * @param   pEndpoint       The endpoint.
  * @param   pBlkCache       The endpoint cache.
  * @param   off             The start offset.
@@ -1805,15 +1801,13 @@
  * @returns Pointer to the new cache entry or NULL
  *          if not enough bytes could be evicted from the cache.
- * @param   pEndpoint         The endpoint.
- * @param   pBlkCache    The endpoint cache.
- * @param   off               The offset.
- * @param   cb                Number of bytes the cache entry should have.
- * @param   pcbData           Where to store the number of bytes the new
- *                            entry can hold. May be lower than actually requested
- *                            due to another entry intersecting the access range.
- */
-static PPDMBLKCACHEENTRY pdmBlkCacheEntryCreate(PPDMBLKCACHE pBlkCache,
-                                                uint64_t off, size_t cb,
-                                                size_t *pcbData)
+ * @param   pBlkCache       The endpoint cache.
+ * @param   off             The offset.
+ * @param   cb              Number of bytes the cache entry should have.
+ * @param   pcbData         Where to store the number of bytes the new
+ *                          entry can hold. May be lower than actually
+ *                          requested due to another entry intersecting the
+ *                          access range.
+ */
+static PPDMBLKCACHEENTRY pdmBlkCacheEntryCreate(PPDMBLKCACHE pBlkCache, uint64_t off, size_t cb, size_t *pcbData)
 {
     uint32_t cbEntry  = 0;
@@ -2559,10 +2553,9 @@
  *
  * @returns Next task segment handle.
- * @param   pTaskSeg          Task segment to complete.
+ * @param   pBlkCache         The endpoint block cache.
+ * @param   pWaiter           Task segment to complete.
  * @param   rc                Status code to set.
  */
-static PPDMBLKCACHEWAITER pdmBlkCacheWaiterComplete(PPDMBLKCACHE pBlkCache,
-                                                    PPDMBLKCACHEWAITER pWaiter,
-                                                    int rc)
+static PPDMBLKCACHEWAITER pdmBlkCacheWaiterComplete(PPDMBLKCACHE pBlkCache, PPDMBLKCACHEWAITER pWaiter, int rc)
 {
     PPDMBLKCACHEWAITER pNext = pWaiter->pNext;
Index: /trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp	(revision 58126)
@@ -95,5 +95,5 @@
  * @returns VBox status.
  *          First error code, rest is lost.
- * @param   pVMU        The user mode VM handle.
+ * @param   pVM             The cross context VM structure.
  * @remark  Don't confuse this with PDMR3CritSectDelete.
  */
@@ -133,5 +133,4 @@
  * @param   pvKey           The owner key.
  * @param   SRC_POS         The source position.
- * @param   pszName         The name of the critical section (for statistics).
  * @param   pszNameFmt      Format string for naming the critical section.  For
  *                          statistics and lock validation.
@@ -220,5 +219,4 @@
  * @param   pvKey           The owner key.
  * @param   SRC_POS         The source position.
- * @param   pszName         The name of the critical section (for statistics).
  * @param   pszNameFmt      Format string for naming the critical section.  For
  *                          statistics and lock validation.
@@ -323,5 +321,4 @@
  * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
- * @param   pDevIns         Device instance.
  * @param   pCritSect       Pointer to the critical section.
  * @param   SRC_POS         Use RT_SRC_POS.
@@ -353,5 +350,4 @@
  * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
- * @param   pDevIns         Device instance.
  * @param   pCritSect       Pointer to the read/write critical section.
  * @param   SRC_POS         Use RT_SRC_POS.
@@ -421,4 +417,7 @@
  * @param   SRC_POS         The source position.  Optional.
  * @param   pCritSect       Pointer to the critical section.
+ * @param   pszNameFmt      Format string for naming the critical section.  For
+ *                          statistics and lock validation.
+ * @param   ...             Arguments for the format string.
  */
 int pdmR3CritSectInitDeviceAuto(PVM pVM, PPDMDEVINS pDevIns, PPDMCRITSECT pCritSect, RT_SRC_POS_DECL,
@@ -487,4 +486,5 @@
  *
  * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM handle.
  * @param   pCritSect   The critical section.
  * @param   pPrev       The previous critical section in the list.
@@ -544,4 +544,5 @@
  *
  * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM handle.
  * @param   pCritSect   The read/write critical section.
  * @param   pPrev       The previous critical section in the list.
Index: /trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp	(revision 58126)
@@ -1403,5 +1403,5 @@
 
 
-/** @interface_method_impl{PDMDEVHLPR3,pfnPCIPhysRead} */
+/** @interface_method_impl{PDMDEVHLPR3,pfnPCIPhysWrite} */
 static DECLCALLBACK(int) pdmR3DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
 {
@@ -1638,9 +1638,9 @@
 /** @interface_method_impl{PDMDEVHLPR3,pfnQueueCreate} */
 static DECLCALLBACK(int) pdmR3DevHlp_QueueCreate(PPDMDEVINS pDevIns, size_t cbItem, uint32_t cItems, uint32_t cMilliesInterval,
-                                                 PFNPDMQUEUEDEV pfnCallback, bool fGCEnabled, const char *pszName, PPDMQUEUE *ppQueue)
-{
-    PDMDEV_ASSERT_DEVINS(pDevIns);
-    LogFlow(("pdmR3DevHlp_QueueCreate: caller='%s'/%d: cbItem=%#x cItems=%#x cMilliesInterval=%u pfnCallback=%p fGCEnabled=%RTbool pszName=%p:{%s} ppQueue=%p\n",
-             pDevIns->pReg->szName, pDevIns->iInstance, cbItem, cItems, cMilliesInterval, pfnCallback, fGCEnabled, pszName, pszName, ppQueue));
+                                                 PFNPDMQUEUEDEV pfnCallback, bool fRZEnabled, const char *pszName, PPDMQUEUE *ppQueue)
+{
+    PDMDEV_ASSERT_DEVINS(pDevIns);
+    LogFlow(("pdmR3DevHlp_QueueCreate: caller='%s'/%d: cbItem=%#x cItems=%#x cMilliesInterval=%u pfnCallback=%p fRZEnabled=%RTbool pszName=%p:{%s} ppQueue=%p\n",
+             pDevIns->pReg->szName, pDevIns->iInstance, cbItem, cItems, cMilliesInterval, pfnCallback, fRZEnabled, pszName, pszName, ppQueue));
 
     PVM pVM = pDevIns->Internal.s.pVMR3;
@@ -1653,5 +1653,5 @@
     }
 
-    int rc = PDMR3QueueCreateDevice(pVM, pDevIns, cbItem, cItems, cMilliesInterval, pfnCallback, fGCEnabled, pszName, ppQueue);
+    int rc = PDMR3QueueCreateDevice(pVM, pDevIns, cbItem, cItems, cMilliesInterval, pfnCallback, fRZEnabled, pszName, ppQueue);
 
     LogFlow(("pdmR3DevHlp_QueueCreate: caller='%s'/%d: returns %Rrc *ppQueue=%p\n", pDevIns->pReg->szName, pDevIns->iInstance, rc, *ppQueue));
Index: /trunk/src/VBox/VMM/VMMR3/PDMLdr.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMLdr.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMLdr.cpp	(revision 58126)
@@ -92,6 +92,5 @@
  *
  * @returns VBox status code.
- * @param   pUVM        Pointer to the user mode VM structure.
- * @param   pvVMMR0Mod  The opaque returned by PDMR3LdrLoadVMMR0.
+ * @param   pUVM        The user mode VM structure.
  */
 int pdmR3LdrInitU(PUVM pUVM)
@@ -118,5 +117,5 @@
  * This will unload and free all modules.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  *
  * @remarks This is normally called twice during termination.
Index: /trunk/src/VBox/VMM/VMMR3/PDMNetShaper.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMNetShaper.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMNetShaper.cpp	(revision 58126)
@@ -295,8 +295,8 @@
  *
  * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pDrvIns         The driver instance.
- * @param   pszBwGroup     Name of the bandwidth group to attach to.
- * @param   pFilter         Pointer to the filter we attach.
+ * @param   pUVM        The user mode VM structure.
+ * @param   pDrvIns     The driver instance.
+ * @param   pszBwGroup  Name of the bandwidth group to attach to.
+ * @param   pFilter     Pointer to the filter we attach.
  */
 VMMR3_INT_DECL(int) PDMR3NsAttach(PUVM pUVM, PPDMDRVINS pDrvIns, const char *pszBwGroup, PPDMNSFILTER pFilter)
Index: /trunk/src/VBox/VMM/VMMR3/PDMThread.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMThread.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMThread.cpp	(revision 58126)
@@ -20,5 +20,5 @@
 *   Header Files                                                                                                                 *
 *********************************************************************************************************************************/
-///@todo #define LOG_GROUP LOG_GROUP_PDM_THREAD
+///@todo \#define LOG_GROUP LOG_GROUP_PDM_THREAD
 #include "PDMInternal.h"
 #include <VBox/vmm/pdm.h>
Index: /trunk/src/VBox/VMM/VMMR3/PDMUsb.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PDMUsb.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PDMUsb.cpp	(revision 58126)
@@ -488,4 +488,5 @@
  * @returns VBox status code.
  * @param   pVM                 The cross context VM structure.
+ * @param   pHub                The USB hub it'll be attached to.
  * @param   pUsbDev             The USB device emulation.
  * @param   iInstance           -1 if not called by pdmR3UsbInstantiateDevices().
@@ -1292,5 +1293,5 @@
  * @param   pUVM            The user mode VM handle.
  * @param   pszDevice       Device name.
- * @param   iInstance       Device instance.
+ * @param   iDevIns         Device instance.
  * @param   iLun            The Logical Unit to obtain the interface of.
  * @param   fFlags          Flags, combination of the PDM_TACH_FLAGS_* \#defines.
@@ -1591,10 +1592,11 @@
 
 /** @interface_method_impl{PDMUSBHLP,pfnDBGFStopV} */
-static DECLCALLBACK(int) pdmR3UsbHlp_DBGFStopV(PPDMUSBINS pUsbIns, const char *pszFile, unsigned iLine, const char *pszFunction, const char *pszFormat, va_list args)
+static DECLCALLBACK(int) pdmR3UsbHlp_DBGFStopV(PPDMUSBINS pUsbIns, const char *pszFile, unsigned iLine, const char *pszFunction,
+                                               const char *pszFormat, va_list va)
 {
     PDMUSB_ASSERT_USBINS(pUsbIns);
 #ifdef LOG_ENABLED
     va_list va2;
-    va_copy(va2, args);
+    va_copy(va2, va);
     LogFlow(("pdmR3UsbHlp_DBGFStopV: caller='%s'/%d: pszFile=%p:{%s} iLine=%d pszFunction=%p:{%s} pszFormat=%p:{%s} (%N)\n",
              pUsbIns->pReg->szName, pUsbIns->iInstance, pszFile, pszFile, iLine, pszFunction, pszFunction, pszFormat, pszFormat, pszFormat, &va2));
@@ -1604,5 +1606,5 @@
     PVM pVM = pUsbIns->Internal.s.pVM;
     VM_ASSERT_EMT(pVM);
-    int rc = DBGFR3EventSrcV(pVM, DBGFEVENT_DEV_STOP, pszFile, iLine, pszFunction, pszFormat, args);
+    int rc = DBGFR3EventSrcV(pVM, DBGFEVENT_DEV_STOP, pszFile, iLine, pszFunction, pszFormat, va);
     if (rc == VERR_DBGF_NOT_ATTACHED)
         rc = VINF_SUCCESS;
@@ -1709,5 +1711,5 @@
 /** @interface_method_impl{PDMUSBHLP,pfnSTAMRegisterV} */
 static DECLCALLBACK(void) pdmR3UsbHlp_STAMRegisterV(PPDMUSBINS pUsbIns, void *pvSample, STAMTYPE enmType, STAMVISIBILITY enmVisibility,
-                                                    STAMUNIT enmUnit, const char *pszDesc, const char *pszName, va_list args)
+                                                    STAMUNIT enmUnit, const char *pszDesc, const char *pszName, va_list va)
 {
     PDMUSB_ASSERT_USBINS(pUsbIns);
@@ -1715,5 +1717,5 @@
     VM_ASSERT_EMT(pVM);
 
-    int rc = STAMR3RegisterV(pVM, pvSample, enmType, enmVisibility, enmUnit, pszDesc, pszName, args);
+    int rc = STAMR3RegisterV(pVM, pvSample, enmType, enmVisibility, enmUnit, pszDesc, pszName, va);
     AssertRC(rc);
 
Index: /trunk/src/VBox/VMM/VMMR3/PGM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGM.cpp	(revision 58126)
@@ -552,7 +552,7 @@
  * The ring-0 will be tied to the page allocator since it will operate on the
  * memory objects it contains. It will therefore require the first ring-0 mutex
- * discussed in @ref subsec_pgmPhys_Serializing. We
- * some double house keeping wrt to who has mapped what I think, since both
- * VMMR0.r0 and RTR0MemObj will keep track of mapping relations
+ * discussed in @ref sec_pgmPhys_Serializing.  We some double house keeping wrt
+ * to who has mapped what I think, since both VMMR0.r0 and RTR0MemObj will keep
+ * track of mapping relations
  *
  * The ring-3 part will be protected by the pgm critsect. For simplicity, we'll
Index: /trunk/src/VBox/VMM/VMMR3/PGMBth.h
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMBth.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMBth.h	(revision 58126)
@@ -41,4 +41,5 @@
  * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
+ * @param   pModeData       The pointer table to initialize.
  * @param   fResolveGCAndR0 Indicate whether or not GC and Ring-0 symbols can be resolved now.
  *                          This is used early in the init process to avoid trouble with PDM
@@ -118,5 +119,4 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   GCPhysCR3   The physical address from the CR3 register.
@@ -203,5 +203,4 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
  * @param   pVCpu       The cross context virtual CPU structure.
  * @param   offDelta    The relocation offset.
Index: /trunk/src/VBox/VMM/VMMR3/PGMDbg.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMDbg.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMDbg.cpp	(revision 58126)
@@ -217,5 +217,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pvDst       Where to store what's read.
- * @param   GCPhysDst   Where to start reading from.
+ * @param   GCPhysSrc   Where to start reading from.
  * @param   cb          The number of bytes to attempt reading.
  * @param   fFlags      Flags, MBZ.
@@ -319,5 +319,5 @@
  * @param   pVM         The cross context VM structure.
  * @param   pvDst       Where to store what's read.
- * @param   GCPtrDst    Where to start reading from.
+ * @param   GCPtrSrc    Where to start reading from.
  * @param   cb          The number of bytes to attempt reading.
  * @param   fFlags      Flags, MBZ.
@@ -489,4 +489,6 @@
  * @param   pabNeedle       The byte string to search for.
  * @param   cbNeedle        The length of the byte string.
+ * @param   pfnFixedMemScan Pointer to assembly scan function, if available for
+ *                          the given needle and alignment combination.
  * @param   pabPrev         The buffer that keeps track of a partial match that we
  *                          bring over from the previous page. This buffer must be
@@ -1471,5 +1473,5 @@
  *
  * @returns VBox status code (VINF_SUCCESS).
- * @param   pVM         The cross context VM structure.
+ * @param   pState      The dumper state.
  * @param   HCPhys      The physical address of the table.
  * @param   cMaxDepth   The maximum depth.
@@ -1548,6 +1550,6 @@
  *
  * @returns VBox status code (VINF_SUCCESS).
- * @param   pVM         The cross context VM structure.
- * @param   pPT         Pointer to the page table.
+ * @param   pState      The dumper state.
+ * @param   HCPhys      The physical address of the table.
  * @param   fMapping    Set if it's a guest mapping.
  */
@@ -2144,5 +2146,5 @@
  *
  * @returns VBox status code (VINF_SUCCESS).
- * @param   pVM         The cross context VM structure.
+ * @param   pState      The dumper state.
  * @param   GCPhys      The physical address of the table.
  * @param   cMaxDepth   The maximum depth.
Index: /trunk/src/VBox/VMM/VMMR3/PGMGst.h
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMGst.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMGst.h	(revision 58126)
@@ -39,4 +39,5 @@
  * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
+ * @param   pModeData       The pointer table to initialize (our members only).
  * @param   fResolveGCAndR0 Indicate whether or not GC and Ring-0 symbols can be resolved now.
  *                          This is used early in the init process to avoid trouble with PDM
Index: /trunk/src/VBox/VMM/VMMR3/PGMHandler.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMHandler.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMHandler.cpp	(revision 58126)
@@ -142,8 +142,12 @@
  * @param   pszModR0        The name of the ring-0 module, NULL is an alias for
  *                          the main ring-0 module.
+ * @param   pszHandlerR0    The name of the ring-0 handler, NULL if the ring-3
+ *                          handler should be called.
  * @param   pszPfHandlerR0  The name of the ring-0 \#PF handler, NULL if the
  *                          ring-3 handler should be called.
  * @param   pszModRC        The name of the raw-mode context module, NULL is an
  *                          alias for the main RC module.
+ * @param   pszHandlerRC    The name of the raw-mode context handler, NULL if
+ *                          the ring-3 handler should be called.
  * @param   pszPfHandlerRC  The name of the raw-mode context \#PF handler, NULL
  *                          if the ring-3 handler should be called.
@@ -696,4 +700,5 @@
  * Info callback for 'pgmhandlers'.
  *
+ * @param   pVM         The cross context VM structure.
  * @param   pHlp        The output helpers.
  * @param   pszArgs     The arguments. phys or virt.
Index: /trunk/src/VBox/VMM/VMMR3/PGMMap.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMMap.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMMap.cpp	(revision 58126)
@@ -1410,4 +1410,5 @@
  * Info callback for 'pgmhandlers'.
  *
+ * @param   pVM         The cross context VM structure.
  * @param   pHlp        The output helpers.
  * @param   pszArgs     The arguments. phys or virt.
Index: /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp	(revision 58126)
@@ -621,6 +621,5 @@
  *
  * @param   ppRam           Pointer to the iterator variable.
- * @param   iHeight         The hight about normal leaf nodes.  Inserts a leaf
- *                          node if 0.
+ * @param   iDepth          The current depth.  Inserts a leaf node if 0.
  */
 static PPGMRAMRANGE pgmR3PhysRebuildRamRangeSearchTreesRecursively(PPGMRAMRANGE *ppRam, int iDepth)
@@ -1328,4 +1327,5 @@
  * @param   pGCPhysLast     Where to return the address of the last byte in the
  *                          range. Optional.
+ * @param   ppszDesc        Where to return the range description. Optional.
  * @param   pfIsMmio        Where to indicate that this is a pure MMIO range.
  *                          Optional.
@@ -1501,7 +1501,8 @@
  * Relocate a floating RAM range.
  *
- * @copydoc FNPGMRELOCATE.
- */
-static DECLCALLBACK(bool) pgmR3PhysRamRangeRelocate(PVM pVM, RTGCPTR GCPtrOld, RTGCPTR GCPtrNew, PGMRELOCATECALL enmMode, void *pvUser)
+ * @copydoc FNPGMRELOCATE
+ */
+static DECLCALLBACK(bool) pgmR3PhysRamRangeRelocate(PVM pVM, RTGCPTR GCPtrOld, RTGCPTR GCPtrNew,
+                                                    PGMRELOCATECALL enmMode, void *pvUser)
 {
     PPGMRAMRANGE pRam = (PPGMRAMRANGE)pvUser;
Index: /trunk/src/VBox/VMM/VMMR3/PGMPool.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMPool.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMPool.cpp	(revision 58126)
@@ -162,5 +162,5 @@
         cMaxPages = (uint16_t)u64MaxPages;
 
-    /** @cfgm{/PGM/Pool/MaxPages, uint16_t, #pages, 16, 0x3fff, F(ram-size)}
+    /** @cfgm{/PGM/Pool/MaxPages, uint16_t, \#pages, 16, 0x3fff, F(ram-size)}
      * The max size of the shadow page pool in pages. The pool will grow dynamically
      * up to this limit.
@@ -187,5 +187,5 @@
      */
 
-    /** @cfgm{/PGM/Pool/MaxUsers, uint16_t, #users, MaxUsers, 32K, MaxPages*2}
+    /** @cfgm{/PGM/Pool/MaxUsers, uint16_t, \#users, MaxUsers, 32K, MaxPages*2}
      * The max number of shadow page user tracking records. Each shadow page has
      * zero of other shadow pages (or CR3s) that references it, or uses it if you
@@ -199,5 +199,5 @@
                           ("cMaxUsers=%u (%#x)\n", cMaxUsers, cMaxUsers), VERR_INVALID_PARAMETER);
 
-    /** @cfgm{/PGM/Pool/MaxPhysExts, uint16_t, #extents, 16, MaxPages * 2, MIN(MaxPages*2,8192)}
+    /** @cfgm{/PGM/Pool/MaxPhysExts, uint16_t, \#extents, 16, MaxPages * 2, MIN(MaxPages*2\,8192)}
      * The max number of extents for tracking aliased guest pages.
      */
@@ -504,5 +504,5 @@
  *
  */
-DECLCALLBACK(VBOXSTRICTRC) pgmR3PoolClearAllRendezvous(PVM pVM, PVMCPU pVCpu, void *fpvFlushRemTbl)
+DECLCALLBACK(VBOXSTRICTRC) pgmR3PoolClearAllRendezvous(PVM pVM, PVMCPU pVCpu, void *fpvFlushRemTlb)
 {
     PPGMPOOL pPool = pVM->pgm.s.CTX_SUFF(pPool);
@@ -511,5 +511,5 @@
 
     pgmLock(pVM);
-    Log(("pgmR3PoolClearAllRendezvous: cUsedPages=%d fpvFlushRemTbl=%RTbool\n", pPool->cUsedPages, !!fpvFlushRemTbl));
+    Log(("pgmR3PoolClearAllRendezvous: cUsedPages=%d fpvFlushRemTlb=%RTbool\n", pPool->cUsedPages, !!fpvFlushRemTlb));
 
     /*
@@ -732,5 +732,5 @@
     PGM_INVL_ALL_VCPU_TLBS(pVM);
 
-    if (fpvFlushRemTbl)
+    if (fpvFlushRemTlb)
         for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
             CPUMSetChangedFlags(&pVM->aCpus[idCpu], CPUM_CHANGED_GLOBAL_TLB_FLUSH);
Index: /trunk/src/VBox/VMM/VMMR3/PGMSavedState.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMSavedState.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMSavedState.cpp	(revision 58126)
@@ -1826,10 +1826,5 @@
 
 /**
- * Execute a live save pass.
- *
- * @returns VBox status code.
- *
- * @param   pVM         The cross context VM structure.
- * @param   pSSM        The SSM handle.
+ * @callback_method_impl{FNSSMINTLIVEEXEC}
  */
 static DECLCALLBACK(int) pgmR3LiveExec(PVM pVM, PSSMHANDLE pSSM, uint32_t uPass)
@@ -1890,11 +1885,5 @@
 
 /**
- * Votes on whether the live save phase is done or not.
- *
- * @returns VBox status code.
- *
- * @param   pVM         The cross context VM structure.
- * @param   pSSM        The SSM handle.
- * @param   uPass       The data pass.
+ * @callback_method_impl{FNSSMINTLIVEVOTE}
  */
 static DECLCALLBACK(int)  pgmR3LiveVote(PVM pVM, PSSMHANDLE pSSM, uint32_t uPass)
@@ -1999,14 +1988,9 @@
 
 /**
- * Prepare for a live save operation.
+ * @callback_method_impl{FNSSMINTLIVEPREP}
  *
  * This will attempt to allocate and initialize the tracking structures.  It
  * will also prepare for write monitoring of pages and initialize PGM::LiveSave.
  * pgmR3SaveDone will do the cleanups.
- *
- * @returns VBox status code.
- *
- * @param   pVM         The cross context VM structure.
- * @param   pSSM        The SSM handle.
  */
 static DECLCALLBACK(int) pgmR3LivePrep(PVM pVM, PSSMHANDLE pSSM)
@@ -2058,9 +2042,5 @@
 
 /**
- * Execute state save operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
+ * @callback_method_impl{FNSSMINTSAVEEXEC}
  */
 static DECLCALLBACK(int) pgmR3SaveExec(PVM pVM, PSSMHANDLE pSSM)
@@ -2128,9 +2108,5 @@
 
 /**
- * Cleans up after an save state operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
+ * @callback_method_impl{FNSSMINTSAVEDONE}
  */
 static DECLCALLBACK(int) pgmR3SaveDone(PVM pVM, PSSMHANDLE pSSM)
@@ -2162,9 +2138,5 @@
 
 /**
- * Prepare state load operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
+ * @callback_method_impl{FNSSMINTLOADPREP}
  */
 static DECLCALLBACK(int) pgmR3LoadPrep(PVM pVM, PSSMHANDLE pSSM)
@@ -3145,11 +3117,5 @@
 
 /**
- * Execute state load operation.
- *
- * @returns VBox status code.
- * @param   pVM             The cross context VM structure.
- * @param   pSSM            SSM operation handle.
- * @param   uVersion        Data layout version.
- * @param   uPass           The data pass.
+ * @callback_method_impl{FNSSMINTLOADEXEC}
  */
 static DECLCALLBACK(int) pgmR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass)
Index: /trunk/src/VBox/VMM/VMMR3/PGMSharedPage.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMSharedPage.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMSharedPage.cpp	(revision 58126)
@@ -245,5 +245,5 @@
  *
  * @param   pVM         The cross context VM structure.
- * @param   VMCPUID     VCPU id
+ * @param   idCpu       VCPU id.
  */
 static DECLCALLBACK(void) pgmR3CheckSharedModulesHelper(PVM pVM, VMCPUID idCpu)
Index: /trunk/src/VBox/VMM/VMMR3/PGMShw.h
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMShw.h	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/PGMShw.h	(revision 58126)
@@ -127,4 +127,5 @@
  * @returns VBox status code.
  * @param   pVM             The cross context VM structure.
+ * @param   pModeData       The pointer table to initialize (our members only).
  * @param   fResolveGCAndR0 Indicate whether or not GC and Ring-0 symbols can be resolved now.
  *                          This is used early in the init process to avoid trouble with PDM
Index: /trunk/src/VBox/VMM/VMMR3/SSM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/SSM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/SSM.cpp	(revision 58126)
@@ -1798,5 +1798,5 @@
  *
  * @returns VBox status.
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM            The user mode VM structure.
  * @param   pszName         Data unit name.
  * @remark  Only for dynamic data units.
@@ -2187,5 +2187,6 @@
  * Puts a buffer onto the queue.
  *
- * @param   pBuf        The buffer.
+ * @param   pStrm           The stream handle.
+ * @param   pBuf            The stream buffer to put.
  *
  * @thread  The producer.
@@ -2232,5 +2233,5 @@
  *
  * @returns Pointer to the buffer on success. NULL if we're terminating.
- * @param   pBuf        The buffer.
+ * @param   pStrm           The stream handle.
  *
  * @thread  The consumer.
@@ -5727,4 +5728,5 @@
  * @param   pfnProgress     Progress callback. Optional.
  * @param   pvProgressUser  User argument for the progress callback.
+ * @param   ppSSM           Where to return the saved state handle on success.
  *
  * @thread  EMT0
@@ -5988,5 +5990,5 @@
  * @param   pSSM            The saved state handle.
  * @param   pvBuf           Where to put the bits
- * @param   cbBuf           How many bytes to read.
+ * @param   cbToRead        How many bytes to read.
  */
 DECLINLINE(int) ssmR3DataReadV2Raw(PSSMHANDLE pSSM, void *pvBuf, size_t cbToRead)
@@ -6046,5 +6048,5 @@
  *
  * @returns VBox status code. Sets pSSM->rc on error.
- * @param   SSM             The saved state handle.
+ * @param   pSSM            The saved state handle.
  * @param   pvDst           Pointer to the output buffer.
  * @param   cbDecompr       The size of the decompressed data.
@@ -6096,5 +6098,5 @@
  * @returns VBox status code. Sets pSSM->rc on error.
  * @param   pSSM            The saved state handle..
- * @param   pcbDecompr      Where to store the size of the zero data.
+ * @param   pcbZero         Where to store the size of the zero data.
  */
 DECLINLINE(int) ssmR3DataReadV2RawZeroHdr(PSSMHANDLE pSSM, uint32_t *pcbZero)
@@ -7733,5 +7735,4 @@
  *                              the stream instead of up front. If not possible,
  *                              verify the checksum up front.
- * @param   pHdr                Where to store the file header.
  */
 static int ssmR3HeaderAndValidate(PSSMHANDLE pSSM, bool fChecksumIt, bool fChecksumOnRead)
@@ -9060,5 +9061,5 @@
  * @param   SRC_POS             The error location, use RT_SRC_POS.
  * @param   pszFormat           The message format string.
- * @param   va                  Variable argument list.
+ * @param   ...                 Variable argument list.
  */
 VMMR3DECL(int) SSMR3SetCfgError(PSSMHANDLE pSSM, RT_SRC_POS_DECL, const char *pszFormat, ...)
Index: /trunk/src/VBox/VMM/VMMR3/STAM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/STAM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/STAM.cpp	(revision 58126)
@@ -270,5 +270,5 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  */
 VMMR3DECL(int) STAMR3InitUVM(PUVM pUVM)
@@ -481,5 +481,5 @@
  *
  * @returns VBox status.
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  * @param   pvSample    Pointer to the sample.
  * @param   enmType     Sample type. This indicates what pvSample is pointing at.
@@ -1248,12 +1248,12 @@
  * @param   enmType     Sample type. This indicates what pvSample is pointing at.
  * @param   enmVisibility  Visibility type specifying whether unused statistics should be visible or not.
+ * @param   pszName     The sample name format string.
  * @param   enmUnit     Sample unit.
  * @param   pszDesc     Sample description.
- * @param   pszName     The sample name format string.
- * @param   args        Arguments to the format string.
  * @remark  There is currently no device or driver variant of this API. Add one if it should become necessary!
  */
 static int stamR3RegisterU(PUVM pUVM, void *pvSample, PFNSTAMR3CALLBACKRESET pfnReset, PFNSTAMR3CALLBACKPRINT pfnPrint,
-                           STAMTYPE enmType, STAMVISIBILITY enmVisibility, const char *pszName, STAMUNIT enmUnit, const char *pszDesc)
+                           STAMTYPE enmType, STAMVISIBILITY enmVisibility,
+                           const char *pszName, STAMUNIT enmUnit, const char *pszDesc)
 {
     AssertReturn(pszName[0] == '/', VERR_INVALID_NAME);
@@ -2426,5 +2426,5 @@
  * @param   pszPat          The pattern to split.
  * @param   pcExpressions   The number of array elements.
- * @param   pszCopy         The pattern copy to free using RTStrFree.
+ * @param   ppszCopy        The pattern copy to free using RTStrFree.
  */
 static char **stamR3SplitPattern(const char *pszPat, unsigned *pcExpressions, char **ppszCopy)
@@ -2644,6 +2644,7 @@
  * copied when needed.
  *
- * @param   pUVM        Pointer to the user mode VM structure.
- * @param   pszPat      The pattern (for knowing when to skip).
+ * @param   pUVM                Pointer to the user mode VM structure.
+ * @param   papszExpressions    The patterns (for knowing when to skip).
+ * @param   cExpressions        Number of patterns.
  */
 static void stamR3Ring0StatsUpdateMultiU(PUVM pUVM, const char * const *papszExpressions, unsigned cExpressions)
Index: /trunk/src/VBox/VMM/VMMR3/TM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/TM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/TM.cpp	(revision 58126)
@@ -2857,5 +2857,5 @@
  *
  * @returns VBox status code.
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  * @param   u32Percent  The new percentage. 100 means normal operation.
  */
@@ -2916,5 +2916,5 @@
  *
  * @returns The warp drive percent.
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  */
 VMMR3DECL(uint32_t) TMR3GetWarpDrive(PUVM pUVM)
@@ -3003,13 +3003,10 @@
  * Helper for tmR3CpuLoadTimer.
  * @returns
- * @param   pState              The state to update.
- * @param   cNsTotalDelta       Total time.
- * @param   cNsExecutingDelta   Time executing.
- * @param   cNsHaltedDelta      Time halted.
- */
-DECLINLINE(void) tmR3CpuLoadTimerMakeUpdate(PTMCPULOADSTATE pState,
-                                            uint64_t cNsTotal,
-                                            uint64_t cNsExecuting,
-                                            uint64_t cNsHalted)
+ * @param   pState          The state to update.
+ * @param   cNsTotal        Total time.
+ * @param   cNsExecuting    Time executing.
+ * @param   cNsHalted       Time halted.
+ */
+DECLINLINE(void) tmR3CpuLoadTimerMakeUpdate(PTMCPULOADSTATE pState, uint64_t cNsTotal, uint64_t cNsExecuting, uint64_t cNsHalted)
 {
     /* Calc deltas */
@@ -3442,5 +3439,5 @@
  *
  * @returns The name.
- * @param   pVM      The cross context VM structure.
+ * @param   enmMode             The mode to name.
  */
 static const char *tmR3GetTSCModeNameEx(TMTSCMODE enmMode)
Index: /trunk/src/VBox/VMM/VMMR3/VM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/VM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/VM.cpp	(revision 58126)
@@ -1917,6 +1917,4 @@
  * @param   pUVM                The VM which state should be saved.
  * @param   pszFilename         The name of the save state file.
- * @param   pStreamOps          The stream methods.
- * @param   pvStreamOpsUser     The user argument to the stream methods.
  * @param   fContinueAfterwards Whether continue execution afterwards or not.
  *                              When in doubt, set this to true.
@@ -1930,5 +1928,6 @@
  *              RunningLS+SuspendingLS+SuspendedLS+Saving+Suspended.
  */
-VMMR3DECL(int) VMR3Save(PUVM pUVM, const char *pszFilename, bool fContinueAfterwards, PFNVMPROGRESS pfnProgress, void *pvUser, bool *pfSuspended)
+VMMR3DECL(int) VMR3Save(PUVM pUVM, const char *pszFilename, bool fContinueAfterwards, PFNVMPROGRESS pfnProgress, void *pvUser,
+                        bool *pfSuspended)
 {
     LogFlow(("VMR3Save: pUVM=%p pszFilename=%p:{%s} fContinueAfterwards=%RTbool pfnProgress=%p pvUser=%p pfSuspended=%p\n",
@@ -2063,5 +2062,5 @@
  * @param   pvStreamOpsUser     The user argument to the stream methods.
  * @param   pfnProgress         Progress callback. Optional.
- * @param   pvUser              User argument for the progress callback.
+ * @param   pvProgressUser      User argument for the progress callback.
  * @param   fTeleporting        Indicates whether we're teleporting or not.
  * @param   fSkipStateChanges   Set if we're supposed to skip state changes (FTM delta case)
@@ -2138,5 +2137,5 @@
  * @returns VBox status code.
  *
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM            The user mode VM structure.
  * @param   pszFilename     The name of the save state file.
  * @param   pfnProgress     Progress callback. Optional.
@@ -2217,6 +2216,4 @@
  * @param   pStreamOps      The stream methods.
  * @param   pvStreamOpsUser The user argument to the stream methods.
- * @param   pfnProgress     Progress callback. Optional.
- * @param   pvProgressUser  User argument for the progress callback.
  *
  * @thread      Any thread.
@@ -2568,5 +2565,5 @@
  * in case of a creation failure.
  *
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM            The user mode VM structure.
  * @param   cMilliesEMTWait The number of milliseconds to wait for the emulation
  *                          threads.
@@ -3962,5 +3959,5 @@
  *
  * @returns VBox status code.
- * @param   pVM                 The cross context VM structure.
+ * @param   pUVM                The user mode VM structure.
  * @param   pfnAtRuntimeError   Pointer to callback.
  * @param   pvUser              User argument.
@@ -4335,5 +4332,5 @@
  *
  * @returns Handle if this is an EMT thread; NIL_RTNATIVETHREAD otherwise
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  * @thread  EMT
  */
@@ -4480,5 +4477,5 @@
  *
  * @returns VBox status code.
- * @param   pVM                 The cross context VM structure.
+ * @param   pUVM                The user mode VM structure.
  * @param   uCpuExecutionCap    New CPU execution cap in precent, 1-100. Where
  *                              100 is max performance (default).
Index: /trunk/src/VBox/VMM/VMMR3/VMEmt.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/VMEmt.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/VMEmt.cpp	(revision 58126)
@@ -405,5 +405,5 @@
  *
  * @return VBox status code. Failure on invalid CFGM data.
- * @param   pVM     The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  */
 static int vmR3HaltMethod12ReadConfigU(PUVM pUVM)
@@ -838,5 +838,5 @@
  *
  * @returns VBox status code.
- * @param   pUVMCPU            Pointer to the user mode VMCPU structure.
+ * @param   pUVCpu      Pointer to the user mode VMCPU structure.
  */
 static DECLCALLBACK(int) vmR3BootstrapWait(PUVMCPU pUVCpu)
@@ -906,5 +906,5 @@
  *
  * @returns VBox status code.
- * @param   pUVMCPU            Pointer to the user mode VMCPU structure.
+ * @param   pUVCpu          Pointer to the user mode VMCPU structure.
  */
 static DECLCALLBACK(int) vmR3DefaultWait(PUVMCPU pUVCpu)
Index: /trunk/src/VBox/VMM/VMMR3/VMM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/VMM.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/VMM.cpp	(revision 58126)
@@ -46,5 +46,5 @@
  *
  *
- * @sections sec_vmm_limits     VMM Limits
+ * @section sec_vmm_limits     VMM Limits
  *
  * There are various resource limits imposed by the VMM and it's
Index: /trunk/src/VBox/VMM/VMMR3/VMReq.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/VMReq.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMR3/VMReq.cpp	(revision 58126)
@@ -92,5 +92,5 @@
  *          returned.
  *
- * @param   pVM             The cross context VM structure.
+ * @param   pUVM            The user mode VM structure.
  * @param   idDstCpu        The destination CPU(s). Either a specific CPU ID or
  *                          one of the following special values:
@@ -1187,5 +1187,5 @@
  * @returns VBox status code.
  *
- * @param   pVM         The cross context VM structure.
+ * @param   pUVM        The user mode VM structure.
  * @param   pReq        Request packet to process.
  */
Index: /trunk/src/VBox/VMM/VMMRC/PATMRC.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMRC/PATMRC.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMRC/PATMRC.cpp	(revision 58126)
@@ -52,8 +52,8 @@
  *          monitored.
  */
-DECLEXPORT(VBOXSTRICTRC) patmRCVirtPagePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+DECLEXPORT(VBOXSTRICTRC) patmRCVirtPagePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore,
                                                  RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
-    NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange);
+    NOREF(pVCpu); NOREF(uErrorCode); NOREF(pCtxCore); NOREF(pvFault); NOREF(pvRange); NOREF(offRange);
 
     Assert(pvUser);
@@ -71,16 +71,16 @@
  *
  * @returns Strict VBox status code.
- * @retval  VINF_SUCCESS if access interpreted (@a pRegFrame != NULL).
- * @retval  VINF_PGM_HANDLER_DO_DEFAULT (@a pRegFrame == NULL).
+ * @retval  VINF_SUCCESS if access interpreted (@a pCtxCore != NULL).
+ * @retval  VINF_PGM_HANDLER_DO_DEFAULT (@a pCtxCore == NULL).
  * @retval  VINF_EM_RAW_EMULATE_INSTR on needing to go to ring-3 to do this.
  * @retval  VERR_PATCH_NOT_FOUND if no patch was found.
  *
  * @param   pVM         The cross context VM structure.
- * @param   pRegFrame   CPU context if \#PF, NULL if other write..
+ * @param   pCtxCore   CPU context if \#PF, NULL if other write..
  * @param   GCPtr       GC pointer to write address.
  * @param   cbWrite     Number of bytes to write.
  *
  */
-VMMRC_INT_DECL(VBOXSTRICTRC) PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pRegFrame, RTRCPTR GCPtr, uint32_t cbWrite)
+VMMRC_INT_DECL(VBOXSTRICTRC) PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pCtxCore, RTRCPTR GCPtr, uint32_t cbWrite)
 {
     Assert(cbWrite > 0);
@@ -112,13 +112,13 @@
         {
             /* This part of the page was not patched; try to emulate the instruction / tell the caller to do so. */
-            if (!pRegFrame)
-            {
-                LogFlow(("PATMHandleWriteToPatchPage: Allow %#x writing %RRv LB %#x\n", pRegFrame->eip, GCPtr, cbWrite));
+            if (!pCtxCore)
+            {
+                LogFlow(("PATMHandleWriteToPatchPage: Allow %#x writing %RRv LB %#x\n", pCtxCore->eip, GCPtr, cbWrite));
                 STAM_COUNTER_INC(&pVM->patm.s.StatPatchWriteInterpreted);
                 STAM_PROFILE_ADV_STOP(&pVM->patm.s.StatPatchWriteDetect, a);
                 return VINF_PGM_HANDLER_DO_DEFAULT;
             }
-            LogFlow(("PATMHandleWriteToPatchPage: Interpret %#x accessing %RRv\n", pRegFrame->eip, GCPtr));
-            int rc = VBOXSTRICTRC_TODO(EMInterpretInstruction(VMMGetCpu0(pVM), pRegFrame, (RTGCPTR)(RTRCUINTPTR)GCPtr));
+            LogFlow(("PATMHandleWriteToPatchPage: Interpret %#x accessing %RRv\n", pCtxCore->eip, GCPtr));
+            int rc = VBOXSTRICTRC_TODO(EMInterpretInstruction(VMMGetCpu0(pVM), pCtxCore, (RTGCPTR)(RTRCUINTPTR)GCPtr));
             if (rc == VINF_SUCCESS)
             {
@@ -156,5 +156,5 @@
  * @param   pCtxCore    The relevant core context.
  */
-VMMRC_INT_DECL(int) PATMRCHandleIllegalInstrTrap(PVM pVM, PCPUMCTXCORE pRegFrame)
+VMMRC_INT_DECL(int) PATMRCHandleIllegalInstrTrap(PVM pVM, PCPUMCTXCORE pCtxCore)
 {
     PPATMPATCHREC pRec;
@@ -163,12 +163,12 @@
 
     /* Very important check -> otherwise we have a security leak. */
-    AssertReturn(!pRegFrame->eflags.Bits.u1VM && (pRegFrame->ss.Sel & X86_SEL_RPL) <= (EMIsRawRing1Enabled(pVM) ? 2U : 1U),
+    AssertReturn(!pCtxCore->eflags.Bits.u1VM && (pCtxCore->ss.Sel & X86_SEL_RPL) <= (EMIsRawRing1Enabled(pVM) ? 2U : 1U),
                  VERR_ACCESS_DENIED);
-    Assert(PATMIsPatchGCAddr(pVM, pRegFrame->eip));
+    Assert(PATMIsPatchGCAddr(pVM, pCtxCore->eip));
 
     /* OP_ILLUD2 in PATM generated code? */
     if (CTXSUFF(pVM->patm.s.pGCState)->uPendingAction)
     {
-        LogFlow(("PATMRC: Pending action %x at %x\n", CTXSUFF(pVM->patm.s.pGCState)->uPendingAction, pRegFrame->eip));
+        LogFlow(("PATMRC: Pending action %x at %x\n", CTXSUFF(pVM->patm.s.pGCState)->uPendingAction, pCtxCore->eip));
 
         /* Private PATM interface (@todo hack due to lack of anything generic). */
@@ -177,11 +177,11 @@
          *  ecx = PATM_ACTION_MAGIC
          */
-        if (    (pRegFrame->eax & CTXSUFF(pVM->patm.s.pGCState)->uPendingAction)
-            &&   pRegFrame->ecx == PATM_ACTION_MAGIC
+        if (    (pCtxCore->eax & CTXSUFF(pVM->patm.s.pGCState)->uPendingAction)
+            &&   pCtxCore->ecx == PATM_ACTION_MAGIC
            )
         {
             CTXSUFF(pVM->patm.s.pGCState)->uPendingAction = 0;
 
-            switch (pRegFrame->eax)
+            switch (pCtxCore->eax)
             {
             case PATM_ACTION_LOOKUP_ADDRESS:
@@ -191,9 +191,9 @@
                  *  edi = PATCHJUMPTABLE ptr
                  */
-                AssertMsg(!pRegFrame->edi || PATMIsPatchGCAddr(pVM, pRegFrame->edi), ("edi = %x\n", pRegFrame->edi));
-
-                Log(("PATMRC: lookup %x jump table=%x\n", pRegFrame->edx, pRegFrame->edi));
-
-                pRec = patmQueryFunctionPatch(pVM, (RTRCPTR)pRegFrame->edx);
+                AssertMsg(!pCtxCore->edi || PATMIsPatchGCAddr(pVM, pCtxCore->edi), ("edi = %x\n", pCtxCore->edi));
+
+                Log(("PATMRC: lookup %x jump table=%x\n", pCtxCore->edx, pCtxCore->edi));
+
+                pRec = patmQueryFunctionPatch(pVM, (RTRCPTR)pCtxCore->edx);
                 if (pRec)
                 {
@@ -201,5 +201,5 @@
                     {
                         RTGCUINTPTR pRelAddr = pRec->patch.pPatchBlockOffset;   /* make it relative */
-                        rc = patmAddBranchToLookupCache(pVM, (RTRCPTR)pRegFrame->edi, (RTRCPTR)pRegFrame->edx, pRelAddr);
+                        rc = patmAddBranchToLookupCache(pVM, (RTRCPTR)pCtxCore->edi, (RTRCPTR)pCtxCore->edx, pRelAddr);
                         if (rc == VINF_SUCCESS)
                         {
@@ -207,6 +207,6 @@
                             pRec->patch.flags |= PATMFL_CODE_REFERENCED;
 
-                            pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
-                            pRegFrame->eax = pRelAddr;
+                            pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
+                            pCtxCore->eax = pRelAddr;
                             STAM_COUNTER_INC(&pVM->patm.s.StatFunctionFound);
                             return VINF_SUCCESS;
@@ -216,6 +216,6 @@
                     else
                     {
-                        pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
-                        pRegFrame->eax = 0;     /* make it fault */
+                        pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
+                        pCtxCore->eax = 0;     /* make it fault */
                         STAM_COUNTER_INC(&pVM->patm.s.StatFunctionNotFound);
                         return VINF_SUCCESS;
@@ -227,6 +227,6 @@
                     if (pVM->patm.s.fOutOfMemory)
                     {
-                        pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
-                        pRegFrame->eax = 0;     /* make it fault */
+                        pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
+                        pCtxCore->eax = 0;     /* make it fault */
                         STAM_COUNTER_INC(&pVM->patm.s.StatFunctionNotFound);
                         return VINF_SUCCESS;
@@ -241,15 +241,15 @@
                  *  edi = GC address to jump to
                  */
-                Log(("PATMRC: Dispatch pending interrupt; eip=%x->%x\n", pRegFrame->eip, pRegFrame->edi));
+                Log(("PATMRC: Dispatch pending interrupt; eip=%x->%x\n", pCtxCore->eip, pCtxCore->edi));
 
                 /* Change EIP to the guest address the patch would normally jump to after setting IF. */
-                pRegFrame->eip = pRegFrame->edi;
+                pCtxCore->eip = pCtxCore->edi;
 
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags == (PATM_RESTORE_EAX|PATM_RESTORE_ECX|PATM_RESTORE_EDI));
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->fPIF == 0);
 
-                pRegFrame->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
-                pRegFrame->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
-                pRegFrame->edi = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEDI;
+                pCtxCore->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
+                pCtxCore->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
+                pCtxCore->edi = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEDI;
 
                 pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags = 0;
@@ -267,14 +267,14 @@
                  *  edi = GC address to jump to
                  */
-                Log(("PATMRC: Dispatch pending interrupt (iret); eip=%x->%x\n", pRegFrame->eip, pRegFrame->edi));
+                Log(("PATMRC: Dispatch pending interrupt (iret); eip=%x->%x\n", pCtxCore->eip, pCtxCore->edi));
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags == (PATM_RESTORE_EAX|PATM_RESTORE_ECX|PATM_RESTORE_EDI));
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->fPIF == 0);
 
                 /* Change EIP to the guest address of the iret. */
-                pRegFrame->eip = pRegFrame->edi;
-
-                pRegFrame->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
-                pRegFrame->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
-                pRegFrame->edi = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEDI;
+                pCtxCore->eip = pCtxCore->edi;
+
+                pCtxCore->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
+                pCtxCore->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
+                pCtxCore->edi = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEDI;
                 pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags = 0;
 
@@ -286,13 +286,13 @@
             case PATM_ACTION_DO_V86_IRET:
             {
-                Log(("PATMRC: Do iret to V86 code; eip=%x\n", pRegFrame->eip));
+                Log(("PATMRC: Do iret to V86 code; eip=%x\n", pCtxCore->eip));
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags == (PATM_RESTORE_EAX|PATM_RESTORE_ECX));
                 Assert(pVM->patm.s.CTXSUFF(pGCState)->fPIF == 0);
 
-                pRegFrame->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
-                pRegFrame->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
+                pCtxCore->eax = pVM->patm.s.CTXSUFF(pGCState)->Restore.uEAX;
+                pCtxCore->ecx = pVM->patm.s.CTXSUFF(pGCState)->Restore.uECX;
                 pVM->patm.s.CTXSUFF(pGCState)->Restore.uFlags = 0;
 
-                rc = EMInterpretIretV86ForPatm(pVM, pVCpu, pRegFrame);
+                rc = EMInterpretIretV86ForPatm(pVM, pVCpu, pCtxCore);
                 if (RT_SUCCESS(rc))
                 {
@@ -302,5 +302,5 @@
                     pVM->patm.s.CTXSUFF(pGCState)->fPIF = 1;
                     PGMRZDynMapReleaseAutoSet(pVCpu);
-                    CPUMGCCallV86Code(pRegFrame);
+                    CPUMGCCallV86Code(pCtxCore);
                     /* does not return */
                 }
@@ -312,36 +312,36 @@
 #ifdef DEBUG
             case PATM_ACTION_LOG_CLI:
-                Log(("PATMRC: CLI at %x (current IF=%d iopl=%d)\n", pRegFrame->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: CLI at %x (current IF=%d iopl=%d)\n", pCtxCore->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_STI:
-                Log(("PATMRC: STI at %x (current IF=%d iopl=%d)\n", pRegFrame->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: STI at %x (current IF=%d iopl=%d)\n", pCtxCore->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_POPF_IF1:
-                Log(("PATMRC: POPF setting IF at %x (current IF=%d iopl=%d)\n", pRegFrame->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: POPF setting IF at %x (current IF=%d iopl=%d)\n", pCtxCore->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_POPF_IF0:
-                Log(("PATMRC: POPF at %x (current IF=%d iopl=%d)\n", pRegFrame->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: POPF at %x (current IF=%d iopl=%d)\n", pCtxCore->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_PUSHF:
-                Log(("PATMRC: PUSHF at %x (current IF=%d iopl=%d)\n", pRegFrame->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: PUSHF at %x (current IF=%d iopl=%d)\n", pCtxCore->eip, !!(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags & X86_EFL_IF), X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags) ));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_IF1:
-                Log(("PATMRC: IF=1 escape from %x\n", pRegFrame->eip));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: IF=1 escape from %x\n", pCtxCore->eip));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_IRET:
             {
-                char    *pIretFrame = (char *)pRegFrame->edx;
+                char    *pIretFrame = (char *)pCtxCore->edx;
                 uint32_t eip, selCS, uEFlags;
 
@@ -378,6 +378,6 @@
                         Log(("PATMRC: IRET stack frame: return address %04X:%x eflags=%08x\n", selCS, eip, uEFlags));
                 }
-                Log(("PATMRC: IRET from %x (IF->1) current eflags=%x\n", pRegFrame->eip, pVM->patm.s.CTXSUFF(pGCState)->uVMFlags));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: IRET from %x (IF->1) current eflags=%x\n", pCtxCore->eip, pVM->patm.s.CTXSUFF(pGCState)->uVMFlags));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
             }
@@ -385,5 +385,5 @@
             case PATM_ACTION_LOG_GATE_ENTRY:
             {
-                char    *pIretFrame = (char *)pRegFrame->edx;
+                char    *pIretFrame = (char *)pCtxCore->edx;
                 uint32_t eip, selCS, uEFlags;
 
@@ -420,16 +420,16 @@
                         Log(("PATMRC: GATE stack frame: return address %04X:%x eflags=%08x\n", selCS, eip, uEFlags));
                 }
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
             }
 
             case PATM_ACTION_LOG_RET:
-                Log(("PATMRC: RET from %x to %x ESP=%x iopl=%d\n", pRegFrame->eip, pRegFrame->edx, pRegFrame->ebx, X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: RET from %x to %x ESP=%x iopl=%d\n", pCtxCore->eip, pCtxCore->edx, pCtxCore->ebx, X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 
             case PATM_ACTION_LOG_CALL:
-                Log(("PATMRC: CALL to %RRv return addr %RRv ESP=%x iopl=%d\n", pVM->patm.s.CTXSUFF(pGCState)->GCCallPatchTargetAddr, pVM->patm.s.CTXSUFF(pGCState)->GCCallReturnAddr, pRegFrame->edx, X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
-                pRegFrame->eip += PATM_ILLEGAL_INSTR_SIZE;
+                Log(("PATMRC: CALL to %RRv return addr %RRv ESP=%x iopl=%d\n", pVM->patm.s.CTXSUFF(pGCState)->GCCallPatchTargetAddr, pVM->patm.s.CTXSUFF(pGCState)->GCCallReturnAddr, pCtxCore->edx, X86_EFL_GET_IOPL(pVM->patm.s.CTXSUFF(pGCState)->uVMFlags)));
+                pCtxCore->eip += PATM_ILLEGAL_INSTR_SIZE;
                 return VINF_SUCCESS;
 #endif
@@ -443,5 +443,5 @@
         CTXSUFF(pVM->patm.s.pGCState)->uPendingAction = 0;
     }
-    AssertMsgFailed(("Unexpected OP_ILLUD2 in patch code at %x (pending action %x)!!!!\n", pRegFrame->eip, CTXSUFF(pVM->patm.s.pGCState)->uPendingAction));
+    AssertMsgFailed(("Unexpected OP_ILLUD2 in patch code at %x (pending action %x)!!!!\n", pCtxCore->eip, CTXSUFF(pVM->patm.s.pGCState)->uPendingAction));
     return VINF_EM_RAW_EMULATE_INSTR;
 }
@@ -459,23 +459,23 @@
  * @param   pCtxCore    The relevant core context.
  */
-VMMRC_INT_DECL(int) PATMRCHandleInt3PatchTrap(PVM pVM, PCPUMCTXCORE pRegFrame)
+VMMRC_INT_DECL(int) PATMRCHandleInt3PatchTrap(PVM pVM, PCPUMCTXCORE pCtxCore)
 {
     PPATMPATCHREC pRec;
     int rc;
 
-    AssertReturn(!pRegFrame->eflags.Bits.u1VM
-                 && (   (pRegFrame->ss.Sel & X86_SEL_RPL) == 1
-                     || (EMIsRawRing1Enabled(pVM) && (pRegFrame->ss.Sel & X86_SEL_RPL) == 2)), VERR_ACCESS_DENIED);
+    AssertReturn(!pCtxCore->eflags.Bits.u1VM
+                 && (   (pCtxCore->ss.Sel & X86_SEL_RPL) == 1
+                     || (EMIsRawRing1Enabled(pVM) && (pCtxCore->ss.Sel & X86_SEL_RPL) == 2)), VERR_ACCESS_DENIED);
 
     /* Int 3 in PATM generated code? (most common case) */
-    if (PATMIsPatchGCAddr(pVM, pRegFrame->eip))
+    if (PATMIsPatchGCAddr(pVM, pCtxCore->eip))
     {
         /* Note! Hardcoded assumption about it being a single byte int 3 instruction. */
-        pRegFrame->eip--;
+        pCtxCore->eip--;
         return VINF_PATM_PATCH_INT3;
     }
 
     /** @todo could use simple caching here to speed things up. */
-    pRec = (PPATMPATCHREC)RTAvloU32Get(&CTXSUFF(pVM->patm.s.PatchLookupTree)->PatchTree, (AVLOU32KEY)(pRegFrame->eip - 1));  /* eip is pointing to the instruction *after* 'int 3' already */
+    pRec = (PPATMPATCHREC)RTAvloU32Get(&CTXSUFF(pVM->patm.s.PatchLookupTree)->PatchTree, (AVLOU32KEY)(pCtxCore->eip - 1));  /* eip is pointing to the instruction *after* 'int 3' already */
     if (pRec && pRec->patch.uState == PATCH_ENABLED)
     {
@@ -484,5 +484,5 @@
             Assert(pRec->patch.opcode == OP_CLI);
             /* This is a special cli block that was turned into an int 3 patch. We jump to the generated code manually. */
-            pRegFrame->eip = (uint32_t)PATCHCODE_PTR_GC(&pRec->patch);
+            pCtxCore->eip = (uint32_t)PATCHCODE_PTR_GC(&pRec->patch);
             STAM_COUNTER_INC(&pVM->patm.s.StatInt3BlockRun);
             return VINF_SUCCESS;
@@ -491,9 +491,9 @@
         {
             /* eip is pointing to the instruction *after* 'int 3' already */
-            pRegFrame->eip = pRegFrame->eip - 1;
+            pCtxCore->eip = pCtxCore->eip - 1;
 
             PATM_STAT_RUN_INC(&pRec->patch);
 
-            Log(("PATMHandleInt3PatchTrap found int3 for %s at %x\n", patmGetInstructionString(pRec->patch.opcode, 0), pRegFrame->eip));
+            Log(("PATMHandleInt3PatchTrap found int3 for %s at %x\n", patmGetInstructionString(pRec->patch.opcode, 0), pCtxCore->eip));
 
             switch(pRec->patch.opcode)
@@ -534,5 +534,5 @@
 #ifdef VBOX_WITH_IEM
             VBOXSTRICTRC rcStrict;
-            rcStrict = IEMExecOneBypassWithPrefetchedByPC(pVCpu, pRegFrame, pRegFrame->rip,
+            rcStrict = IEMExecOneBypassWithPrefetchedByPC(pVCpu, pCtxCore, pCtxCore->rip,
                                                           pRec->patch.aPrivInstr, pRec->patch.cbPrivInstr);
             rc = VBOXSTRICTRC_TODO(rcStrict);
@@ -549,5 +549,5 @@
             }
 
-            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, &cpu, pRegFrame, 0 /* not relevant here */,
+            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, &cpu, pCtxCore, 0 /* not relevant here */,
                                                                     EMCODETYPE_SUPERVISOR));
 #endif
Index: /trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp	(revision 58125)
+++ /trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp	(revision 58126)
@@ -88,5 +88,5 @@
 
 
-/** @interface_method_impl{PDMDEVHLPRC,pfnPCIPhysRead} */
+/** @interface_method_impl{PDMDEVHLPRC,pfnPCIPhysWrite} */
 static DECLCALLBACK(int) pdmRCDevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
 {
@@ -282,5 +282,5 @@
 
 
-/** @interface_method_impl{PDMDEVHLPRC,pfnVMSetErrorV} */
+/** @interface_method_impl{PDMDEVHLPRC,pfnVMSetRuntimeErrorV} */
 static DECLCALLBACK(int) pdmRCDevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va)
 {
@@ -857,5 +857,5 @@
 
 
-/** @interface_method_impl{PDMDRVHLPRC,pfnVMSetErrorV} */
+/** @interface_method_impl{PDMDRVHLPRC,pfnVMSetRuntimeErrorV} */
 static DECLCALLBACK(int) pdmRCDrvHlp_VMSetRuntimeErrorV(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va)
 {
