VirtualBox

Changeset 18927 in vbox for trunk/src/VBox/VMM/PDMDevHlp.cpp


Ignore:
Timestamp:
Apr 16, 2009 11:41:38 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
46003
Message:

Big step to separate VMM data structures for guest SMP. (pgm, em)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PDMDevHlp.cpp

    r18791 r18927  
    12521252}
    12531253
     1254/** @copydoc PDMDEVHLPR3::pfnGetVMCPU */
     1255static DECLCALLBACK(PVMCPU) pdmR3DevHlp_GetVMCPU(PPDMDEVINS pDevIns)
     1256{
     1257    PDMDEV_ASSERT_DEVINS(pDevIns);
     1258    LogFlow(("pdmR3DevHlp_GetVMCPU: caller='%s'/%d for CPU %d\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMMGetCpuId(pDevIns->Internal.s.pVMR3)));
     1259    return VMMGetCpu(pDevIns->Internal.s.pVMR3);
     1260}
    12541261
    12551262/** @copydoc PDMDEVHLPR3::pfnPCIBusRegister */
     
    21612168#endif
    21622169
    2163     int rc = PGMPhysSimpleReadGCPtr(pVM, pvDst, GCVirtSrc, cb);
     2170    int rc = PGMPhysSimpleReadGCPtr(VMMGetCpu(pVM), pvDst, GCVirtSrc, cb);
    21642171
    21652172    LogFlow(("pdmR3DevHlp_PhysReadGCVirt: caller='%s'/%d: returns %Rrc\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, rc));
     
    21842191#endif
    21852192
    2186     int rc = PGMPhysSimpleWriteGCPtr(pVM, GCVirtDst, pvSrc, cb);
     2193    int rc = PGMPhysSimpleWriteGCPtr(VMMGetCpu(pVM), GCVirtDst, pvSrc, cb);
    21872194
    21882195    LogFlow(("pdmR3DevHlp_PhysWriteGCVirt: caller='%s'/%d: returns %Rrc\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, rc));
     
    22072214#endif
    22082215
    2209     int rc = PGMPhysGCPtr2GCPhys(pVM, GCPtr, pGCPhys);
     2216    int rc = PGMPhysGCPtr2GCPhys(VMMGetCpu(pVM), GCPtr, pGCPhys);
    22102217
    22112218    LogFlow(("pdmR3DevHlp_PhysGCPtr2GCPhys: caller='%s'/%d: returns %Rrc *pGCPhys=%RGp\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, rc, *pGCPhys));
     
    22342241    VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3);
    22352242
    2236     bool fRc = PGMPhysIsA20Enabled(pDevIns->Internal.s.pVMR3);
     2243    bool fRc = PGMPhysIsA20Enabled(VMMGetCpu(pDevIns->Internal.s.pVMR3));
    22372244
    22382245    LogFlow(("pdmR3DevHlp_A20IsEnabled: caller='%s'/%d: returns %d\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, fRc));
     
    22482255    LogFlow(("pdmR3DevHlp_A20Set: caller='%s'/%d: fEnable=%d\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, fEnable));
    22492256    //Assert(*(unsigned *)&fEnable <= 1);
    2250     PGMR3PhysSetA20(pDevIns->Internal.s.pVMR3, fEnable);
     2257    PGMR3PhysSetA20(VMMGetCpu(pDevIns->Internal.s.pVMR3), fEnable);
    22512258}
    22522259
     
    27722779    pdmR3DevHlp_RegisterVMMDevHeap,
    27732780    pdmR3DevHlp_UnregisterVMMDevHeap,
     2781    pdmR3DevHlp_GetVMCPU,
    27742782    PDM_DEVHLP_VERSION /* the end */
    27752783};
     
    31593167    AssertReleaseMsgFailed(("Untrusted device called trusted helper! '%s'/%d\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance));
    31603168    return VERR_ACCESS_DENIED;
     3169}
     3170
     3171/** @copydoc PDMDEVHLPR3::pfnGetVMCPU */
     3172static DECLCALLBACK(PVMCPU) pdmR3DevHlp_Untrusted_GetVMCPU(PPDMDEVINS pDevIns)
     3173{
     3174    PDMDEV_ASSERT_DEVINS(pDevIns);
     3175    AssertReleaseMsgFailed(("Untrusted device called trusted helper! '%s'/%d\n", pDevIns->pDevReg->szDeviceName, pDevIns->iInstance));
     3176    return NULL;
    31613177}
    31623178
     
    32553271    pdmR3DevHlp_Untrusted_RegisterVMMDevHeap,
    32563272    pdmR3DevHlp_Untrusted_UnregisterVMMDevHeap,
     3273    pdmR3DevHlp_Untrusted_GetVMCPU,
    32573274    PDM_DEVHLP_VERSION /* the end */
    32583275};
Note: See TracChangeset for help on using the changeset viewer.

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