Index: /trunk/include/VBox/pdm.h
===================================================================
--- /trunk/include/VBox/pdm.h	(revision 331)
+++ /trunk/include/VBox/pdm.h	(revision 332)
@@ -5689,4 +5689,12 @@
 
 /**
+ * @copydoc PDMDEVHLP::pfnGetVM
+ */
+DECLINLINE(PVM) PDMDevHlpGetVM(PPDMDEVINS pDevIns)
+{
+    return pDevIns->pDevHlp->pfnGetVM(pDevIns);
+}
+
+/**
  * @copydoc PDMDEVHLP::pfnPhysReadGCVirt
  */
Index: /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 332)
@@ -40,4 +40,5 @@
 
 #undef LOG_VOICES
+//#define USE_MIXER
 
 #define AC97_SSM_VERSION 1
@@ -580,6 +581,6 @@
 #ifdef USE_MIXER
     record_select (s, 0);
-    set_volume (s, AC97_Master_Volume_Mute, AUD_MIXER_VOLUME  , 0x8000);
-    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM    , 0x8808);
+    set_volume (s, AC97_Master_Volume_Mute,  AUD_MIXER_VOLUME,  0x8000);
+    set_volume (s, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM,     0x8808);
     set_volume (s, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
 #else
@@ -1473,5 +1474,5 @@
     record_select (s, mixer_load (s, AC97_Record_Select));
 #define V_(a, b) set_volume (s, a, b, mixer_load (s, a))
-    V_ (AC97_Master_Volume_Mute, AUD_MIXER_VOLUME);
+    V_ (AC97_Master_Volume_Mute,  AUD_MIXER_VOLUME);
     V_ (AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
     V_ (AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
@@ -1667,5 +1668,5 @@
     /** @todo r=bird: add a devhlp for this of course! */
     if (!pData->ac97.voice_pi || !pData->ac97.voice_po || !pData->ac97.voice_mc)
-        VMSetRuntimeError(pDevIns->pDevHlp->pfnGetVM(pDevIns), false,
+        VMSetRuntimeError(PDMDevHlpGetVM(pDevIns), false,
                           N_("Some audio devices could not be opened. Guest applications "
                              "generating audio output or depending on audio input may hang. "
Index: /trunk/src/VBox/Devices/Bus/DevPCI.cpp
===================================================================
--- /trunk/src/VBox/Devices/Bus/DevPCI.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/Bus/DevPCI.cpp	(revision 332)
@@ -1312,5 +1312,5 @@
     PPCIGLOBALS pGlobals = DEVINS2PCIGLOBALS(pDevIns);
     PPCIBUS     pBus = PDMINS2DATA(pDevIns, PPCIBUS);
-    PVM         pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM         pVM = PDMDevHlpGetVM(pDevIns);
     Assert(pVM);
 
Index: /trunk/src/VBox/Devices/Graphics/DevVGA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA.cpp	(revision 332)
@@ -3634,5 +3634,5 @@
     {
         PPDMDEVINS pDevIns = pData->pDevInsHC;
-        PGMHandlerPhysicalReset(pDevIns->pDevHlp->pfnGetVM(pDevIns), pData->GCPhysVRAM);
+        PGMHandlerPhysicalReset(PDMDevHlpGetVM(pDevIns), pData->GCPhysVRAM);
         pData->fHaveDirtyBits = false;
     }
@@ -4038,5 +4038,5 @@
     Assert(pDevIns);
 
-    pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    pVM = PDMDevHlpGetVM(pDevIns);
     Assert(pVM);
 
@@ -4134,5 +4134,5 @@
          * already registered before trying to do that all over again.
          */
-        PVM pVM = pPciDev->pDevIns->pDevHlp->pfnGetVM(pPciDev->pDevIns);
+        PVM pVM = PDMDevHlpGetVM(pPciDev->pDevIns);
         if (pData->GCPhysVRAM)
         {
@@ -4353,5 +4353,5 @@
         &&  pData->GCPhysVRAM)
     {
-        int rc = PGMHandlerPhysicalReset(pDevIns->pDevHlp->pfnGetVM(pDevIns), pData->GCPhysVRAM);
+        int rc = PGMHandlerPhysicalReset(PDMDevHlpGetVM(pDevIns), pData->GCPhysVRAM);
         AssertRC(rc);
     }
@@ -4504,5 +4504,5 @@
     unsigned i;
     PVGASTATE   pData = PDMINS2DATA(pDevIns, PVGASTATE);
-    PVM         pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM         pVM = PDMDevHlpGetVM(pDevIns);
 #ifdef VBE_NEW_DYN_LIST
     uint32_t    cCustomModes;
Index: /trunk/src/VBox/Devices/Network/DevPCNet.cpp
===================================================================
--- /trunk/src/VBox/Devices/Network/DevPCNet.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/Network/DevPCNet.cpp	(revision 332)
@@ -1200,5 +1200,5 @@
 #if 0
     if (pData->RDRAPhysOld != 0 && pData->GCRDRA != pData->RDRAPhysOld)
-        PGMHandlerPhysicalDeregister(pDevIns->pDevHlp->pfnGetVM(pDevIns),
+        PGMHandlerPhysicalDeregister(PDMDevHlpGetVM(pDevIns),
                                      pData->RDRAPhysOld & ~PAGE_OFFSET_MASK);
     if (   pData->TRDAPhysOld != 0 && pData->GCTDRA != pData->TRDAPhysOld
@@ -1209,5 +1209,5 @@
     {
         int rc;
-        rc = PGMR3HandlerPhysicalRegister(pDevIns->pDevHlp->pfnGetVM(pDevIns),
+        rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns),
                                           PGMPHYSHANDLERTYPE_PHYSICAL_WRITE,
                                           pData->GCRDRA & ~PAGE_OFFSET_MASK,
@@ -1228,10 +1228,10 @@
     {
         if (pData->TRDAPhysOld != 0)
-            PGMHandlerPhysicalDeregister(pDevIns->pDevHlp->pfnGetVM(pDevIns),
+            PGMHandlerPhysicalDeregister(PDMDevHlpVM(pDevIns),
                                          pData->TRDAPhysOld & ~PAGE_OFFSET_MASK);
 
         int rc;
 
-        rc = PGMR3HandlerPhysicalRegister(pDevIns->pDevHlp->pfnGetVM(pDevIns),
+        rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns),
                                           PGMPHYSHANDLERTYPE_PHYSICAL_WRITE,
                                           pData->GCTDRA & ~PAGE_OFFSET_MASK,
@@ -3942,5 +3942,5 @@
 
 #ifdef PCNET_NO_POLLING
-    rc = PDMR3GetSymbolR0Lazy(pDevIns->pDevHlp->pfnGetVM(pDevIns), NULL, "EMInterpretInstruction", (void **)&pData->pfnEMInterpretInstructionR0);
+    rc = PDMR3GetSymbolR0Lazy(PDMDevHlpGetVM(pDevIns), NULL, "EMInterpretInstruction", (void **)&pData->pfnEMInterpretInstructionR0);
     if (VBOX_SUCCESS(rc))
     {
@@ -3949,5 +3949,5 @@
          */
         RTGCPTR pfnHandlerGC;
-        rc = PDMR3GetSymbolGCLazy(pDevIns->pDevHlp->pfnGetVM(pDevIns), NULL, "EMInterpretInstruction", (RTGCPTR *)&pData->pfnEMInterpretInstructionGC);
+        rc = PDMR3GetSymbolGCLazy(PDMDevHlpGetVM(pDevIns), NULL, "EMInterpretInstruction", (RTGCPTR *)&pData->pfnEMInterpretInstructionGC);
     }
     if (VBOX_FAILURE(rc))
Index: /trunk/src/VBox/Devices/PC/DevPcBios.cpp
===================================================================
--- /trunk/src/VBox/Devices/PC/DevPcBios.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/PC/DevPcBios.cpp	(revision 332)
@@ -195,5 +195,5 @@
     AssertRC(rc);
 #else
-    PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM pVM = PDMDevHlpGetVM(pDevIns);
     IOMIOPortWrite(pVM, 0x70, off, 1);
     IOMIOPortWrite(pVM, 0x71, u32Val, 1);
@@ -276,5 +276,5 @@
     uint32_t        u32;
     unsigned        i;
-    PVM             pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM             pVM = PDMDevHlpGetVM(pDevIns);
     PPDMIBLOCKBIOS  apHDs[4] = {0};
     PPDMIBLOCKBIOS  apFDs[2] = {0};
@@ -533,5 +533,5 @@
             {
 #if 0
-                PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+                PVM pVM = PDMDevHlpGetVM(pDevIns);
                 AssertRelease(pVM);
                 VM_FF_SET(pVM, VM_FF_TERMINATE);
@@ -659,5 +659,5 @@
      * Paranoia: Check that the BIOS ROM hasn't changed.
      */
-    PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM pVM = PDMDevHlpGetVM(pDevIns);
     /* the low ROM mapping. */
     unsigned cb = RT_MIN(g_cbPcBiosBinary, 128 * _1K);
Index: /trunk/src/VBox/Devices/Storage/DevATA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DevATA.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/Storage/DevATA.cpp	(revision 332)
@@ -2391,5 +2391,5 @@
                         PPDMDEVINS pDevIns = ATADEVSTATE_2_DEVINS(s);
                         PVMREQ pReq;
-                        rc = VMR3ReqCall(pDevIns->pDevHlp->pfnGetVM(pDevIns), &pReq, RT_INDEFINITE_WAIT,
+                        rc = VMR3ReqCall(PDMDevHlpGetVM(pDevIns), &pReq, RT_INDEFINITE_WAIT,
                                          (PFNRT)s->pDrvMount->pfnUnmount, 1, s->pDrvMount);
                         AssertReleaseRC(rc);
@@ -4580,5 +4580,5 @@
             MMGCRamWriteNoTrapHandler((char *)GCDst + i, s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart + i, cb);
 #else /* !IN_GC */
-        rc = PGMPhysWriteGCPtrDirty(pDevIns->pDevHlp->pfnGetVM(pDevIns), GCDst, s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart, cbTransfer);
+        rc = PGMPhysWriteGCPtrDirty(PDMDevHlpGetVM(pDevIns), GCDst, s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart, cbTransfer);
         Assert(rc == VINF_SUCCESS);
 #endif /* IN_GC */
@@ -4637,5 +4637,5 @@
             MMGCRamReadNoTrapHandler(s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart + i, (char *)GCSrc + i, cb);
 #else /* !IN_GC */
-        rc = PGMPhysReadGCPtr(pDevIns->pDevHlp->pfnGetVM(pDevIns), s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart, GCSrc, cbTransfer);
+        rc = PGMPhysReadGCPtr(PDMDevHlpGetVM(pDevIns), s->CTXSUFF(pbIOBuffer) + s->iIOBufferPIODataStart, GCSrc, cbTransfer);
         Assert(rc == VINF_SUCCESS);
 #endif /* IN_GC */
@@ -4728,5 +4728,5 @@
      * can be either from ataPowerOff or ataSuspend), there is no other
      * reasonable solution. */
-    fVMLocked = VMMR3LockIsOwner(pDevIns->pDevHlp->pfnGetVM(pDevIns));
+    fVMLocked = VMMR3LockIsOwner(PDMDevHlpGetVM(pDevIns));
 
     if (fVMLocked)
@@ -4764,5 +4764,5 @@
 {
     if (s->pbIOBufferHC)
-        s->pbIOBufferGC = MMHyperHC2GC(pDevIns->pDevHlp->pfnGetVM(pDevIns), s->pbIOBufferHC);
+        s->pbIOBufferGC = MMHyperHC2GC(PDMDevHlpGetVM(pDevIns), s->pbIOBufferHC);
 }
 
@@ -4943,4 +4943,5 @@
      * Allocate I/O buffer.
      */
+    PVM pVM = PDMDevHlpGetVM(pDevIns);
     if (pIf->cbIOBuffer)
     {
@@ -4952,5 +4953,5 @@
             AssertRelease(pIf->cbIOBuffer == ATA_MAX_MULT_SECTORS * 512);
         Assert(pIf->pbIOBufferHC);
-        Assert(pIf->pbIOBufferGC == MMHyperHC2GC(pDevIns->pDevHlp->pfnGetVM(pDevIns), pIf->pbIOBufferHC));
+        Assert(pIf->pbIOBufferGC == MMHyperHC2GC(pVM, pIf->pbIOBufferHC));
     }
     else
@@ -4961,8 +4962,8 @@
             pIf->cbIOBuffer = ATA_MAX_MULT_SECTORS * 512;
         Assert(!pIf->pbIOBufferHC);
-        rc = MMHyperAlloc(pDevIns->pDevHlp->pfnGetVM(pDevIns), pIf->cbIOBuffer, 1, MM_TAG_PDM_DEVICE_USER, (void **)&pIf->pbIOBufferHC);
+        rc = MMHyperAlloc(pVM, pIf->cbIOBuffer, 1, MM_TAG_PDM_DEVICE_USER, (void **)&pIf->pbIOBufferHC);
         if (VBOX_FAILURE(rc))
             return VERR_NO_MEMORY;
-        pIf->pbIOBufferGC = MMHyperHC2GC(pDevIns->pDevHlp->pfnGetVM(pDevIns), pIf->pbIOBufferHC);
+        pIf->pbIOBufferGC = MMHyperHC2GC(pVM, pIf->pbIOBufferHC);
     }
 
@@ -5404,5 +5405,5 @@
             pData->aCts[i].aIfs[j].pDevInsGC = PDMDEVINS_2_GCPTR(pDevIns);
             pData->aCts[i].aIfs[j].pControllerHC = &pData->aCts[i];
-            pData->aCts[i].aIfs[j].pControllerGC = MMHyperHC2GC(pDevIns->pDevHlp->pfnGetVM(pDevIns), &pData->aCts[i]);
+            pData->aCts[i].aIfs[j].pControllerGC = MMHyperHC2GC(PDMDevHlpGetVM(pDevIns), &pData->aCts[i]);
             pData->aCts[i].aIfs[j].IBase.pfnQueryInterface = ataQueryInterface;
             pData->aCts[i].aIfs[j].IMountNotify.pfnMountNotify = ataMountNotify;
Index: /trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp	(revision 331)
+++ /trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp	(revision 332)
@@ -236,5 +236,5 @@
 {
     PPDMDEVINS pDevIns = VMMDEVSTATE_2_DEVINS(pVMMDevState);
-    PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+    PVM pVM = PDMDevHlpGetVM(pDevIns);
     int rc;
     PVMREQ pReq;
@@ -645,5 +645,5 @@
             {
                 VMMDevReqHypervisorInfo *hypervisorInfo = (VMMDevReqHypervisorInfo*)requestHeader;
-                PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+                PVM pVM = PDMDevHlpGetVM(pDevIns);
                 size_t hypervisorSize = 0;
                 requestHeader->rc = PGMR3MappingsSize(pVM, &hypervisorSize);
@@ -667,5 +667,5 @@
             {
                 VMMDevReqHypervisorInfo *hypervisorInfo = (VMMDevReqHypervisorInfo*)requestHeader;
-                PVM pVM = pDevIns->pDevHlp->pfnGetVM(pDevIns);
+                PVM pVM = PDMDevHlpGetVM(pDevIns);
                 if (hypervisorInfo->hypervisorStart == 0)
                 {
@@ -1184,5 +1184,5 @@
          * already registered before trying to do that all over again.
          */
-        PVM pVM = pPciDev->pDevIns->pDevHlp->pfnGetVM(pPciDev->pDevIns);
+        PVM pVM = PDMDevHlpGetVM(pPciDev->pDevIns);
 
         if (pData->GCPhysVMMDevRAM)
