Index: trunk/src/VBox/Devices/Bus/DevPCI.cpp
===================================================================
--- trunk/src/VBox/Devices/Bus/DevPCI.cpp	(revision 11223)
+++ trunk/src/VBox/Devices/Bus/DevPCI.cpp	(revision 11224)
@@ -1483,12 +1483,12 @@
 
     PciBusReg.u32Version              = PDM_PCIBUSREG_VERSION;
-    PciBusReg.pfnRegisterHC           = pciRegister;
-    PciBusReg.pfnIORegionRegisterHC   = pciIORegionRegister;
-    PciBusReg.pfnSetConfigCallbacksHC = pciSetConfigCallbacks;
-    PciBusReg.pfnSetIrqHC             = pciSetIrq;
-    PciBusReg.pfnSaveExecHC           = pciGenericSaveExec;
-    PciBusReg.pfnLoadExecHC           = pciGenericLoadExec;
-    PciBusReg.pfnFakePCIBIOSHC        = pciFakePCIBIOS;
-    PciBusReg.pszSetIrqGC             = fGCEnabled ? "pciSetIrq" : NULL;
+    PciBusReg.pfnRegisterR3           = pciRegister;
+    PciBusReg.pfnIORegionRegisterR3   = pciIORegionRegister;
+    PciBusReg.pfnSetConfigCallbacksR3 = pciSetConfigCallbacks;
+    PciBusReg.pfnSetIrqR3             = pciSetIrq;
+    PciBusReg.pfnSaveExecR3           = pciGenericSaveExec;
+    PciBusReg.pfnLoadExecR3           = pciGenericLoadExec;
+    PciBusReg.pfnFakePCIBIOSR3        = pciFakePCIBIOS;
+    PciBusReg.pszSetIrqRC             = fGCEnabled ? "pciSetIrq" : NULL;
     PciBusReg.pszSetIrqR0             = fR0Enabled ? "pciSetIrq" : NULL;
     rc = pDevIns->pDevHlp->pfnPCIBusRegister(pDevIns, &PciBusReg, &pBus->pPciHlpR3);
Index: trunk/src/VBox/VMM/PDM.cpp
===================================================================
--- trunk/src/VBox/VMM/PDM.cpp	(revision 11223)
+++ trunk/src/VBox/VMM/PDM.cpp	(revision 11224)
@@ -300,8 +300,8 @@
     for (unsigned i = 0; i < ELEMENTS(pVM->pdm.s.aPciBuses); i++)
     {
-        if (pVM->pdm.s.aPciBuses[i].pDevInsGC)
-        {
-            pVM->pdm.s.aPciBuses[i].pDevInsGC   += offDelta;
-            pVM->pdm.s.aPciBuses[i].pfnSetIrqGC += offDelta;
+        if (pVM->pdm.s.aPciBuses[i].pDevInsRC)
+        {
+            pVM->pdm.s.aPciBuses[i].pDevInsRC   += offDelta;
+            pVM->pdm.s.aPciBuses[i].pfnSetIrqRC += offDelta;
         }
     }
Index: trunk/src/VBox/VMM/PDMDevice.cpp
===================================================================
--- trunk/src/VBox/VMM/PDMDevice.cpp	(revision 11223)
+++ trunk/src/VBox/VMM/PDMDevice.cpp	(revision 11224)
@@ -2355,9 +2355,9 @@
     PVM pVM = pDevIns->Internal.s.pVMHC;
     VM_ASSERT_EMT(pVM);
-    LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: pPciBusReg=%p:{.u32Version=%#x, .pfnRegisterHC=%p, .pfnIORegionRegisterHC=%p, .pfnSetIrqHC=%p, "
-             ".pfnSaveExecHC=%p, .pfnLoadExecHC=%p, .pfnFakePCIBIOSHC=%p, .pszSetIrqGC=%p:{%s}} ppPciHlpR3=%p\n",
-             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, pPciBusReg, pPciBusReg->u32Version, pPciBusReg->pfnRegisterHC,
-             pPciBusReg->pfnIORegionRegisterHC, pPciBusReg->pfnSetIrqHC, pPciBusReg->pfnSaveExecHC, pPciBusReg->pfnLoadExecHC,
-             pPciBusReg->pfnFakePCIBIOSHC, pPciBusReg->pszSetIrqGC, pPciBusReg->pszSetIrqGC, ppPciHlpR3));
+    LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: pPciBusReg=%p:{.u32Version=%#x, .pfnRegisterR3=%p, .pfnIORegionRegisterR3=%p, .pfnSetIrqR3=%p, "
+             ".pfnSaveExecR3=%p, .pfnLoadExecR3=%p, .pfnFakePCIBIOSR3=%p, .pszSetIrqRC=%p:{%s}, .pszSetIrqR0=%p:{%s}} ppPciHlpR3=%p\n",
+             pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, pPciBusReg, pPciBusReg->u32Version, pPciBusReg->pfnRegisterR3,
+             pPciBusReg->pfnIORegionRegisterR3, pPciBusReg->pfnSetIrqR3, pPciBusReg->pfnSaveExecR3, pPciBusReg->pfnLoadExecR3,
+             pPciBusReg->pfnFakePCIBIOSR3, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqR0, pPciBusReg->pszSetIrqR0, ppPciHlpR3));
 
     /*
@@ -2370,24 +2370,24 @@
         return VERR_INVALID_PARAMETER;
     }
-    if (    !pPciBusReg->pfnRegisterHC
-        ||  !pPciBusReg->pfnIORegionRegisterHC
-        ||  !pPciBusReg->pfnSetIrqHC
-        ||  !pPciBusReg->pfnSaveExecHC
-        ||  !pPciBusReg->pfnLoadExecHC
-        ||  !pPciBusReg->pfnFakePCIBIOSHC)
-    {
-        Assert(pPciBusReg->pfnRegisterHC);
-        Assert(pPciBusReg->pfnIORegionRegisterHC);
-        Assert(pPciBusReg->pfnSetIrqHC);
-        Assert(pPciBusReg->pfnSaveExecHC);
-        Assert(pPciBusReg->pfnLoadExecHC);
-        Assert(pPciBusReg->pfnFakePCIBIOSHC);
-        LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: returns %Vrc (HC callbacks)\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VERR_INVALID_PARAMETER));
+    if (    !pPciBusReg->pfnRegisterR3
+        ||  !pPciBusReg->pfnIORegionRegisterR3
+        ||  !pPciBusReg->pfnSetIrqR3
+        ||  !pPciBusReg->pfnSaveExecR3
+        ||  !pPciBusReg->pfnLoadExecR3
+        ||  !pPciBusReg->pfnFakePCIBIOSR3)
+    {
+        Assert(pPciBusReg->pfnRegisterR3);
+        Assert(pPciBusReg->pfnIORegionRegisterR3);
+        Assert(pPciBusReg->pfnSetIrqR3);
+        Assert(pPciBusReg->pfnSaveExecR3);
+        Assert(pPciBusReg->pfnLoadExecR3);
+        Assert(pPciBusReg->pfnFakePCIBIOSR3);
+        LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: returns %Vrc (R3 callbacks)\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VERR_INVALID_PARAMETER));
         return VERR_INVALID_PARAMETER;
     }
-    if (    pPciBusReg->pszSetIrqGC
-        &&  !VALID_PTR(pPciBusReg->pszSetIrqGC))
-    {
-        Assert(VALID_PTR(pPciBusReg->pszSetIrqGC));
+    if (    pPciBusReg->pszSetIrqRC
+        &&  !VALID_PTR(pPciBusReg->pszSetIrqRC))
+    {
+        Assert(VALID_PTR(pPciBusReg->pszSetIrqRC));
         LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: returns %Vrc (GC callbacks)\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VERR_INVALID_PARAMETER));
         return VERR_INVALID_PARAMETER;
@@ -2423,10 +2423,10 @@
 
     /*
-     * Resolve and init the GC bits.
-     */
-    if (pPciBusReg->pszSetIrqGC)
-    {
-        int rc = PDMR3GetSymbolGCLazy(pVM, pDevIns->pDevReg->szGCMod, pPciBusReg->pszSetIrqGC, &pPciBus->pfnSetIrqGC);
-        AssertMsgRC(rc, ("%s::%s rc=%Vrc\n", pDevIns->pDevReg->szGCMod, pPciBusReg->pszSetIrqGC, rc));
+     * Resolve and init the RC bits.
+     */
+    if (pPciBusReg->pszSetIrqRC)
+    {
+        int rc = PDMR3GetSymbolGCLazy(pVM, pDevIns->pDevReg->szGCMod, pPciBusReg->pszSetIrqRC, &pPciBus->pfnSetIrqRC);
+        AssertMsgRC(rc, ("%s::%s rc=%Vrc\n", pDevIns->pDevReg->szGCMod, pPciBusReg->pszSetIrqRC, rc));
         if (VBOX_FAILURE(rc))
         {
@@ -2434,10 +2434,10 @@
             return rc;
         }
-        pPciBus->pDevInsGC = PDMDEVINS_2_GCPTR(pDevIns);
+        pPciBus->pDevInsRC = PDMDEVINS_2_RCPTR(pDevIns);
     }
     else
     {
-        pPciBus->pfnSetIrqGC = 0;
-        pPciBus->pDevInsGC   = 0;
+        pPciBus->pfnSetIrqRC = 0;
+        pPciBus->pDevInsRC   = 0;
     }
 
@@ -2463,15 +2463,15 @@
 
     /*
-     * Init the HC bits.
+     * Init the R3 bits.
      */
     pPciBus->iBus                    = iBus;
     pPciBus->pDevInsR3               = pDevIns;
-    pPciBus->pfnRegisterR3           = pPciBusReg->pfnRegisterHC;
-    pPciBus->pfnIORegionRegisterR3   = pPciBusReg->pfnIORegionRegisterHC;
-    pPciBus->pfnSetConfigCallbacksR3 = pPciBusReg->pfnSetConfigCallbacksHC;
-    pPciBus->pfnSetIrqR3             = pPciBusReg->pfnSetIrqHC;
-    pPciBus->pfnSaveExecR3           = pPciBusReg->pfnSaveExecHC;
-    pPciBus->pfnLoadExecR3           = pPciBusReg->pfnLoadExecHC;
-    pPciBus->pfnFakePCIBIOSR3        = pPciBusReg->pfnFakePCIBIOSHC;
+    pPciBus->pfnRegisterR3           = pPciBusReg->pfnRegisterR3;
+    pPciBus->pfnIORegionRegisterR3   = pPciBusReg->pfnIORegionRegisterR3;
+    pPciBus->pfnSetConfigCallbacksR3 = pPciBusReg->pfnSetConfigCallbacksR3;
+    pPciBus->pfnSetIrqR3             = pPciBusReg->pfnSetIrqR3;
+    pPciBus->pfnSaveExecR3           = pPciBusReg->pfnSaveExecR3;
+    pPciBus->pfnLoadExecR3           = pPciBusReg->pfnLoadExecR3;
+    pPciBus->pfnFakePCIBIOSR3        = pPciBusReg->pfnFakePCIBIOSR3;
 
     Log(("PDM: Registered PCI bus device '%s'/%d pDevIns=%p\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, pDevIns));
Index: trunk/src/VBox/VMM/PDMInternal.h
===================================================================
--- trunk/src/VBox/VMM/PDMInternal.h	(revision 11223)
+++ trunk/src/VBox/VMM/PDMInternal.h	(revision 11224)
@@ -473,30 +473,30 @@
     /** Pointer to PCI Bus device instance. */
     PPDMDEVINSR3                    pDevInsR3;
-    /** @copydoc PDMPCIBUSREG::pfnSetIrqHC */
+    /** @copydoc PDMPCIBUSREG::pfnSetIrqR3 */
     DECLR3CALLBACKMEMBER(void,      pfnSetIrqR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel));
-    /** @copydoc PDMPCIBUSREG::pfnRegisterHC */
+    /** @copydoc PDMPCIBUSREG::pfnRegisterR3 */
     DECLR3CALLBACKMEMBER(int,       pfnRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev));
-    /** @copydoc PDMPCIBUSREG::pfnIORegionRegisterHC */
+    /** @copydoc PDMPCIBUSREG::pfnIORegionRegisterR3 */
     DECLR3CALLBACKMEMBER(int,       pfnIORegionRegisterR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion,
                                                            PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback));
-    /** @copydoc PDMPCIBUSREG::pfnSetConfigCallbacksHC */
+    /** @copydoc PDMPCIBUSREG::pfnSetConfigCallbacksR3 */
     DECLR3CALLBACKMEMBER(void,      pfnSetConfigCallbacksR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead,
                                                              PPFNPCICONFIGREAD ppfnReadOld, PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld));
-    /** @copydoc PDMPCIBUSREG::pfnSaveExecHC */
+    /** @copydoc PDMPCIBUSREG::pfnSaveExecR3 */
     DECLR3CALLBACKMEMBER(int,       pfnSaveExecR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSMHandle));
-    /** @copydoc PDMPCIBUSREG::pfnLoadExecHC */
+    /** @copydoc PDMPCIBUSREG::pfnLoadExecR3 */
     DECLR3CALLBACKMEMBER(int,       pfnLoadExecR3,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSMHandle));
-    /** @copydoc PDMPCIBUSREG::pfnFakePCIBIOSHC */
+    /** @copydoc PDMPCIBUSREG::pfnFakePCIBIOSR3 */
     DECLR3CALLBACKMEMBER(int,       pfnFakePCIBIOSR3,(PPDMDEVINS pDevIns));
 
     /** Pointer to the PIC device instance - R0. */
     R0PTRTYPE(PPDMDEVINS)           pDevInsR0;
-    /** @copydoc PDMPCIBUSREG::pfnSetIrqHC */
+    /** @copydoc PDMPCIBUSREG::pfnSetIrqR3 */
     DECLR0CALLBACKMEMBER(void,      pfnSetIrqR0,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel));
 
     /** Pointer to PCI Bus device instance. */
-    PPDMDEVINSGC                    pDevInsGC;
-    /** @copydoc PDMPCIBUSREG::pfnSetIrqHC */
-    DECLRCCALLBACKMEMBER(void,      pfnSetIrqGC,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel));
+    PPDMDEVINSGC                    pDevInsRC;
+    /** @copydoc PDMPCIBUSREG::pfnSetIrqR3 */
+    DECLRCCALLBACKMEMBER(void,      pfnSetIrqRC,(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iIrq, int iLevel));
 } PDMPCIBUS;
 
Index: trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp
===================================================================
--- trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp	(revision 11223)
+++ trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp	(revision 11224)
@@ -220,8 +220,8 @@
     if (    pPciDev
         &&  pPciBus
-        &&  pPciBus->pDevInsGC)
+        &&  pPciBus->pDevInsRC)
     {
         pdmLock(pVM);
-        pPciBus->pfnSetIrqGC(pPciBus->pDevInsGC, pPciDev, iIrq, iLevel);
+        pPciBus->pfnSetIrqRC(pPciBus->pDevInsRC, pPciDev, iIrq, iLevel);
         pdmUnlock(pVM);
     }
Index: trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp
===================================================================
--- trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp	(revision 11223)
+++ trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp	(revision 11224)
@@ -248,6 +248,6 @@
     GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsR0);
     GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqR0);
-    GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsGC);
-    GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqGC);
+    GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsRC);
+    GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqRC);
     GEN_CHECK_OFF(PDM, Pic);
     GEN_CHECK_OFF(PDM, Pic.pDevInsR3);
