Index: trunk/include/VBox/vmm/pdmdev.h
===================================================================
--- trunk/include/VBox/vmm/pdmdev.h	(revision 39046)
+++ trunk/include/VBox/vmm/pdmdev.h	(revision 39060)
@@ -76,7 +76,7 @@
  *
  * @returns VBox status.
- * @param   pDevIns     The device instance data. 
- *  
- * @remarks The device critical section is not entered.  The routine may delete 
+ * @param   pDevIns     The device instance data.
+ *
+ * @remarks The device critical section is not entered.  The routine may delete
  *          the critical section, so the caller cannot exit it.
  */
@@ -100,6 +100,6 @@
  *
  * @remarks A relocation CANNOT fail.
- *  
- * @remarks The device critical section is not entered.  The relocations should 
+ *
+ * @remarks The device critical section is not entered.  The relocations should
  *          not normally require any locking.
  */
@@ -123,5 +123,5 @@
  * @param   cbOut       Size of output data.
  * @param   pcbOut      Where to store the actual size of the output data.
- *  
+ *
  * @remarks Not used.
  */
@@ -137,5 +137,5 @@
  * @returns VBox status.
  * @param   pDevIns     The device instance data.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -149,5 +149,5 @@
  * @returns VBox status.
  * @param   pDevIns     The device instance data.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -162,5 +162,5 @@
  * @param   pDevIns     The device instance data.
  * @thread  EMT(0)
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -174,5 +174,5 @@
  * @returns VBox status.
  * @param   pDevIns     The device instance data.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -190,5 +190,5 @@
  * @param   pDevIns     The device instance data.
  * @thread  EMT(0)
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -210,5 +210,5 @@
  * @param   iLUN        The logical unit which is being detached.
  * @param   fFlags      Flags, combination of the PDM_TACH_FLAGS_* \#defines.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -229,5 +229,5 @@
  * @param   iLUN        The logical unit which is being detached.
  * @param   fFlags      Flags, combination of the PDMDEVATT_FLAGS_* \#defines.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -243,5 +243,5 @@
  * @param   iLUN        The logicial unit to query.
  * @param   ppBase      Where to store the pointer to the base interface of the LUN.
- *  
+ *
  * @remarks The device critical section is not entered.
  */
@@ -257,5 +257,5 @@
  * @returns VBOX status code.
  * @param   pDevIns     The device instance.
- *  
+ *
  * @remarks Caller enters the device critical section.
  */
@@ -303,5 +303,5 @@
     PFNPDMDEVDESTRUCT   pfnDestruct;
     /** Relocation command - optional.
-     * Critical section NOT entered. */ 
+     * Critical section NOT entered. */
     PFNPDMDEVRELOCATE   pfnRelocate;
     /** I/O Control interface - optional.
@@ -309,29 +309,29 @@
     PFNPDMDEVIOCTL      pfnIOCtl;
     /** Power on notification - optional.
-     * Critical section is entered. */ 
+     * Critical section is entered. */
     PFNPDMDEVPOWERON    pfnPowerOn;
-    /** Reset notification - optional. 
-     * Critical section is entered. */ 
+    /** Reset notification - optional.
+     * Critical section is entered. */
     PFNPDMDEVRESET      pfnReset;
-    /** Suspend notification  - optional. 
-     * Critical section is entered. */ 
+    /** Suspend notification  - optional.
+     * Critical section is entered. */
     PFNPDMDEVSUSPEND    pfnSuspend;
-    /** Resume notification - optional. 
-     * Critical section is entered. */ 
+    /** Resume notification - optional.
+     * Critical section is entered. */
     PFNPDMDEVRESUME     pfnResume;
-    /** Attach command - optional. 
-     * Critical section is entered. */ 
+    /** Attach command - optional.
+     * Critical section is entered. */
     PFNPDMDEVATTACH     pfnAttach;
-    /** Detach notification - optional. 
-     * Critical section is entered. */ 
+    /** Detach notification - optional.
+     * Critical section is entered. */
     PFNPDMDEVDETACH     pfnDetach;
     /** Query a LUN base interface - optional.
-     * Critical section is NOT entered. */ 
+     * Critical section is NOT entered. */
     PFNPDMDEVQUERYINTERFACE pfnQueryInterface;
-    /** Init complete notification - optional. 
-     * Critical section is entered. */ 
+    /** Init complete notification - optional.
+     * Critical section is entered. */
     PFNPDMDEVINITCOMPLETE   pfnInitComplete;
-    /** Power off notification - optional. 
-     * Critical section is entered. */ 
+    /** Power off notification - optional.
+     * Critical section is entered. */
     PFNPDMDEVPOWEROFF   pfnPowerOff;
     /** @todo */
@@ -1133,4 +1133,7 @@
      * @param   u32Reg          MSR to read.
      * @param   pu64Value       Where to return the read value.
+     *
+     * @remarks Unlike the other callbacks, the PDM lock is not taken before
+     *          calling this method.
      */
     DECLR3CALLBACKMEMBER(int, pfnReadMSRR3, (PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t u32Reg, uint64_t *pu64Value));
@@ -3901,7 +3904,7 @@
     /** The critical section for the device.
      *
-     * TM and IOM will enter this critical section before calling into the device 
-     * code.  PDM will when doing power on, power off, reset, suspend and resume 
-     * notifications.  SSM will currently not, but this will be changed later on. 
+     * TM and IOM will enter this critical section before calling into the device
+     * code.  PDM will when doing power on, power off, reset, suspend and resume
+     * notifications.  SSM will currently not, but this will be changed later on.
      *
      * The device gets a critical section automatically assigned to it before
