VirtualBox

Changeset 12970 in vbox for trunk/src/VBox/VMM/VMMGC


Ignore:
Timestamp:
Oct 3, 2008 7:04:11 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37403
Message:

#1865: PDMINS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp

    r12799 r12970  
    4848# define PDMDEV_ASSERT_DEVINS(pDevIns)   do { Assert(VALID_PTR(pDevIns)); \
    4949                                              Assert(pDevIns->u32Version == PDM_DEVINS_VERSION); \
    50                                               Assert(pDevIns->pvInstanceDataGC == (void *)&pDevIns->achInstanceData[0]); \
     50                                              Assert(pDevIns->pvInstanceDataRC == (void *)&pDevIns->achInstanceData[0]); \
    5151                                         } while (0)
    5252#else
     
    5959*******************************************************************************/
    6060__BEGIN_DECLS
    61 extern DECLEXPORT(const PDMDEVHLPGC)    g_pdmGCDevHlp;
     61extern DECLEXPORT(const PDMDEVHLPRC)    g_pdmRCDevHlp;
    6262extern DECLEXPORT(const PDMPICHLPRC)    g_pdmRCPicHlp;
    6363extern DECLEXPORT(const PDMAPICHLPRC)   g_pdmRCApicHlp;
     
    136136 * The Guest Context Device Helper Callbacks.
    137137 */
    138 extern DECLEXPORT(const PDMDEVHLPGC) g_pdmGCDevHlp =
    139 {
    140     PDM_DEVHLPGC_VERSION,
     138extern DECLEXPORT(const PDMDEVHLPRC) g_pdmRCDevHlp =
     139{
     140    PDM_DEVHLPRC_VERSION,
    141141    pdmGCDevHlp_PCISetIrq,
    142142    pdmGCDevHlp_ISASetIrq,
     
    149149    pdmGCDevHlp_VMSetRuntimeErrorV,
    150150    pdmGCDevHlp_PATMSetMMIOPatchInfo,
    151     PDM_DEVHLPGC_VERSION
     151    PDM_DEVHLPRC_VERSION
    152152};
    153153
     
    211211
    212212
    213 /** @copydoc PDMDEVHLPGC::pfnPCISetIrq */
     213/** @copydoc PDMDEVHLPRC::pfnPCISetIrq */
    214214static DECLCALLBACK(void) pdmGCDevHlp_PCISetIrq(PPDMDEVINS pDevIns, int iIrq, int iLevel)
    215215{
     
    217217    LogFlow(("pdmGCDevHlp_PCISetIrq: caller=%p/%d: iIrq=%d iLevel=%d\n", pDevIns, pDevIns->iInstance, iIrq, iLevel));
    218218
    219     PVM         pVM     = pDevIns->Internal.s.pVMGC;
    220     PPCIDEVICE  pPciDev = pDevIns->Internal.s.pPciDeviceGC;
    221     PPDMPCIBUS  pPciBus = pDevIns->Internal.s.pPciBusGC;
     219    PVM         pVM     = pDevIns->Internal.s.pVMRC;
     220    PPCIDEVICE  pPciDev = pDevIns->Internal.s.pPciDeviceRC;
     221    PPDMPCIBUS  pPciBus = pDevIns->Internal.s.pPciBusRC;
    222222    if (    pPciDev
    223223        &&  pPciBus
     
    249249
    250250
    251 /** @copydoc PDMDEVHLPGC::pfnPCISetIrq */
     251/** @copydoc PDMDEVHLPRC::pfnPCISetIrq */
    252252static DECLCALLBACK(void) pdmGCDevHlp_ISASetIrq(PPDMDEVINS pDevIns, int iIrq, int iLevel)
    253253{
     
    255255    LogFlow(("pdmGCDevHlp_ISASetIrq: caller=%p/%d: iIrq=%d iLevel=%d\n", pDevIns, pDevIns->iInstance, iIrq, iLevel));
    256256
    257     pdmGCIsaSetIrq(pDevIns->Internal.s.pVMGC, iIrq, iLevel);
     257    pdmGCIsaSetIrq(pDevIns->Internal.s.pVMRC, iIrq, iLevel);
    258258
    259259    LogFlow(("pdmGCDevHlp_ISASetIrq: caller=%p/%d: returns void\n", pDevIns, pDevIns->iInstance));
     
    261261
    262262
    263 /** @copydoc PDMDEVHLPGC::pfnPhysRead */
     263/** @copydoc PDMDEVHLPRC::pfnPhysRead */
    264264static DECLCALLBACK(void) pdmGCDevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead)
    265265{
     
    268268             pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbRead));
    269269
    270     PGMPhysRead(pDevIns->Internal.s.pVMGC, GCPhys, pvBuf, cbRead);
     270    PGMPhysRead(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbRead);
    271271
    272272    Log(("pdmGCDevHlp_PhysRead: caller=%p/%d: returns void\n", pDevIns, pDevIns->iInstance));
     
    274274
    275275
    276 /** @copydoc PDMDEVHLPGC::pfnPhysWrite */
     276/** @copydoc PDMDEVHLPRC::pfnPhysWrite */
    277277static DECLCALLBACK(void) pdmGCDevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite)
    278278{
     
    281281             pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbWrite));
    282282
    283     PGMPhysWrite(pDevIns->Internal.s.pVMGC, GCPhys, pvBuf, cbWrite);
     283    PGMPhysWrite(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbWrite);
    284284
    285285    Log(("pdmGCDevHlp_PhysWrite: caller=%p/%d: returns void\n", pDevIns, pDevIns->iInstance));
     
    287287
    288288
    289 /** @copydoc PDMDEVHLPGC::pfnA20IsEnabled */
     289/** @copydoc PDMDEVHLPRC::pfnA20IsEnabled */
    290290static DECLCALLBACK(bool) pdmGCDevHlp_A20IsEnabled(PPDMDEVINS pDevIns)
    291291{
     
    293293    LogFlow(("pdmGCDevHlp_A20IsEnabled: caller=%p/%d:\n", pDevIns, pDevIns->iInstance));
    294294
    295     bool fEnabled = PGMPhysIsA20Enabled(pDevIns->Internal.s.pVMGC);
     295    bool fEnabled = PGMPhysIsA20Enabled(pDevIns->Internal.s.pVMRC);
    296296
    297297    Log(("pdmGCDevHlp_A20IsEnabled: caller=%p/%d: returns %RTbool\n", pDevIns, pDevIns->iInstance, fEnabled));
     
    300300
    301301
    302 /** @copydoc PDMDEVHLPGC::pfnVMSetError */
     302/** @copydoc PDMDEVHLPRC::pfnVMSetError */
    303303static DECLCALLBACK(int) pdmGCDevHlp_VMSetError(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...)
    304304{
     
    306306    va_list args;
    307307    va_start(args, pszFormat);
    308     int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMGC, rc, RT_SRC_POS_ARGS, pszFormat, args); Assert(rc2 == rc); NOREF(rc2);
     308    int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMRC, rc, RT_SRC_POS_ARGS, pszFormat, args); Assert(rc2 == rc); NOREF(rc2);
    309309    va_end(args);
    310310    return rc;
     
    312312
    313313
    314 /** @copydoc PDMDEVHLPGC::pfnVMSetErrorV */
     314/** @copydoc PDMDEVHLPRC::pfnVMSetErrorV */
    315315static DECLCALLBACK(int) pdmGCDevHlp_VMSetErrorV(PPDMDEVINS pDevIns, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va)
    316316{
    317317    PDMDEV_ASSERT_DEVINS(pDevIns);
    318     int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMGC, rc, RT_SRC_POS_ARGS, pszFormat, va); Assert(rc2 == rc); NOREF(rc2);
     318    int rc2 = VMSetErrorV(pDevIns->Internal.s.pVMRC, rc, RT_SRC_POS_ARGS, pszFormat, va); Assert(rc2 == rc); NOREF(rc2);
    319319    return rc;
    320320}
    321321
    322322
    323 /** @copydoc PDMDEVHLPGC::pfnVMSetRuntimeError */
     323/** @copydoc PDMDEVHLPRC::pfnVMSetRuntimeError */
    324324static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)
    325325{
     
    327327    va_list args;
    328328    va_start(args, pszFormat);
    329     int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMGC, fFatal, pszErrorID, pszFormat, args);
     329    int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMRC, fFatal, pszErrorID, pszFormat, args);
    330330    va_end(args);
    331331    return rc;
     
    333333
    334334
    335 /** @copydoc PDMDEVHLPGC::pfnVMSetErrorV */
     335/** @copydoc PDMDEVHLPRC::pfnVMSetErrorV */
    336336static DECLCALLBACK(int) pdmGCDevHlp_VMSetRuntimeErrorV(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va)
    337337{
    338338    PDMDEV_ASSERT_DEVINS(pDevIns);
    339     int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMGC, fFatal, pszErrorID, pszFormat, va);
     339    int rc = VMSetRuntimeErrorV(pDevIns->Internal.s.pVMRC, fFatal, pszErrorID, pszFormat, va);
    340340    return rc;
    341341}
    342342
    343343
    344 /** @copydoc PDMDEVHLPGC::pfnPATMSetMMIOPatchInfo */
     344/** @copydoc PDMDEVHLPRC::pfnPATMSetMMIOPatchInfo */
    345345static DECLCALLBACK(int) pdmGCDevHlp_PATMSetMMIOPatchInfo(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPTR pCachedData)
    346346{
     
    348348    LogFlow(("pdmGCDevHlp_PATMSetMMIOPatchInfo: caller=%p/%d:\n", pDevIns, pDevIns->iInstance));
    349349
    350     return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMGC, GCPhys, (RTRCPTR)pCachedData);
     350    return PATMSetMMIOPatchInfo(pDevIns->Internal.s.pVMRC, GCPhys, (RTRCPTR)pCachedData);
    351351}
    352352
     
    359359    PDMDEV_ASSERT_DEVINS(pDevIns);
    360360    LogFlow(("pdmRCPicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 1\n",
    361              pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC)));
     361             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMRC, 0, VM_FF_INTERRUPT_PIC)));
    362362    /* for PIC we always deliver to CPU 0, MP use APIC */
    363     VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC);
     363    VMCPU_FF_SET(pDevIns->Internal.s.pVMRC, 0, VM_FF_INTERRUPT_PIC);
    364364}
    365365
     
    370370    PDMDEV_ASSERT_DEVINS(pDevIns);
    371371    LogFlow(("pdmRCPicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT_PIC %d -> 0\n",
    372              pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC)));
     372             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMRC, 0, VM_FF_INTERRUPT_PIC)));
    373373    /* for PIC we always deliver to CPU 0, MP use APIC */
    374     VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, 0, VM_FF_INTERRUPT_PIC);
     374    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMRC, 0, VM_FF_INTERRUPT_PIC);
    375375}
    376376
     
    380380{
    381381    PDMDEV_ASSERT_DEVINS(pDevIns);
    382     return pdmLockEx(pDevIns->Internal.s.pVMGC, rc);
     382    return pdmLockEx(pDevIns->Internal.s.pVMRC, rc);
    383383}
    384384
     
    388388{
    389389    PDMDEV_ASSERT_DEVINS(pDevIns);
    390     pdmUnlock(pDevIns->Internal.s.pVMGC);
     390    pdmUnlock(pDevIns->Internal.s.pVMRC);
    391391}
    392392
     
    399399    PDMDEV_ASSERT_DEVINS(pDevIns);
    400400    LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n",
    401              pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC)));
    402     VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC);
     401             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMRC, idCpu, VM_FF_INTERRUPT_APIC)));
     402    VMCPU_FF_SET(pDevIns->Internal.s.pVMRC, idCpu, VM_FF_INTERRUPT_APIC);
    403403}
    404404
     
    409409    PDMDEV_ASSERT_DEVINS(pDevIns);
    410410    LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n",
    411              pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC)));
    412     VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC);
     411             pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMRC, idCpu, VM_FF_INTERRUPT_APIC)));
     412    VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMRC, idCpu, VM_FF_INTERRUPT_APIC);
    413413}
    414414
     
    420420    LogFlow(("pdmRCApicHlp_ChangeFeature: caller=%p/%d: fEnabled=%RTbool\n", pDevIns, pDevIns->iInstance, fEnabled));
    421421    if (fEnabled)
    422         CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMGC, CPUMCPUIDFEATURE_APIC);
     422        CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_APIC);
    423423    else
    424         CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMGC, CPUMCPUIDFEATURE_APIC);
     424        CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_APIC);
    425425}
    426426
     
    430430{
    431431    PDMDEV_ASSERT_DEVINS(pDevIns);
    432     return pdmLockEx(pDevIns->Internal.s.pVMGC, rc);
     432    return pdmLockEx(pDevIns->Internal.s.pVMRC, rc);
    433433}
    434434
     
    438438{
    439439    PDMDEV_ASSERT_DEVINS(pDevIns);
    440     pdmUnlock(pDevIns->Internal.s.pVMGC);
     440    pdmUnlock(pDevIns->Internal.s.pVMRC);
    441441}
    442442
     
    446446{
    447447    PDMDEV_ASSERT_DEVINS(pDevIns);
    448     return VMMGetCpuId(pDevIns->Internal.s.pVMGC);
     448    return VMMGetCpuId(pDevIns->Internal.s.pVMRC);
    449449}
    450450
     
    454454{
    455455    PDMDEV_ASSERT_DEVINS(pDevIns);
    456     PVM pVM = pDevIns->Internal.s.pVMGC;
     456    PVM pVM = pDevIns->Internal.s.pVMRC;
    457457    LogFlow(("pdmRCIoApicHlp_ApicBusDeliver: caller=%p/%d: u8Dest=%RX8 u8DestMode=%RX8 u8DeliveryMode=%RX8 iVector=%RX8 u8Polarity=%RX8 u8TriggerMode=%RX8\n",
    458458             pDevIns, pDevIns->iInstance, u8Dest, u8DestMode, u8DeliveryMode, iVector, u8Polarity, u8TriggerMode));
     
    466466{
    467467    PDMDEV_ASSERT_DEVINS(pDevIns);
    468     return pdmLockEx(pDevIns->Internal.s.pVMGC, rc);
     468    return pdmLockEx(pDevIns->Internal.s.pVMRC, rc);
    469469}
    470470
     
    474474{
    475475    PDMDEV_ASSERT_DEVINS(pDevIns);
    476     pdmUnlock(pDevIns->Internal.s.pVMGC);
     476    pdmUnlock(pDevIns->Internal.s.pVMRC);
    477477}
    478478
     
    485485    PDMDEV_ASSERT_DEVINS(pDevIns);
    486486    Log4(("pdmRCPciHlp_IsaSetIrq: iIrq=%d iLevel=%d\n", iIrq, iLevel));
    487     pdmGCIsaSetIrq(pDevIns->Internal.s.pVMGC, iIrq, iLevel);
     487    pdmGCIsaSetIrq(pDevIns->Internal.s.pVMRC, iIrq, iLevel);
    488488}
    489489
     
    494494    PDMDEV_ASSERT_DEVINS(pDevIns);
    495495    Log4(("pdmRCPciHlp_IsaSetIrq: iIrq=%d iLevel=%d\n", iIrq, iLevel));
    496     pdmGCIoApicSetIrq(pDevIns->Internal.s.pVMGC, iIrq, iLevel);
     496    pdmGCIoApicSetIrq(pDevIns->Internal.s.pVMRC, iIrq, iLevel);
    497497}
    498498
     
    502502{
    503503    PDMDEV_ASSERT_DEVINS(pDevIns);
    504     return pdmLockEx(pDevIns->Internal.s.pVMGC, rc);
     504    return pdmLockEx(pDevIns->Internal.s.pVMRC, rc);
    505505}
    506506
     
    510510{
    511511    PDMDEV_ASSERT_DEVINS(pDevIns);
    512     pdmUnlock(pDevIns->Internal.s.pVMGC);
     512    pdmUnlock(pDevIns->Internal.s.pVMRC);
    513513}
    514514
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette