VirtualBox

Changeset 91930 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Oct 21, 2021 10:12:30 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
147735
Message:

VMM,Devices: Eliminate direct calls to IOMMmioResetRegion and IOMMmioMapMmio2Page APIs and introduce callbacks in the device helper callback table, bugref:10074

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/PDMR0DevHlp.cpp

    r91928 r91930  
    13291329
    13301330    Log(("pdmR0DevHlp_PGMHandlerPhysicalPageTempOff: caller='%s'/%d: returns %Rrc\n",
     1331         pDevIns->pReg->szName, pDevIns->iInstance, rc));
     1332    return rc;
     1333}
     1334
     1335
     1336/** @interface_method_impl{PDMDEVHLPR0,pfnMmioMapMmio2Page} */
     1337static DECLCALLBACK(int) pdmR0DevHlp_MmioMapMmio2Page(PPDMDEVINS pDevIns, IOMMMIOHANDLE hRegion, RTGCPHYS offRegion,
     1338                                                      uint64_t hMmio2, RTGCPHYS offMmio2, uint64_t fPageFlags)
     1339{
     1340    PDMDEV_ASSERT_DEVINS(pDevIns);
     1341    LogFlow(("pdmR0DevHlp_MmioMapMmio2Page: caller='%s'/%d: hRegion=%RX64 offRegion=%RGp hMmio2=%RX64 offMmio2=%RGp fPageFlags=%RX64\n",
     1342             pDevIns->pReg->szName, pDevIns->iInstance, hRegion, offRegion, hMmio2, offMmio2, fPageFlags));
     1343
     1344    int rc = IOMMmioMapMmio2Page(pDevIns->Internal.s.pGVM, pDevIns, hRegion, offRegion, hMmio2, offMmio2, fPageFlags);
     1345
     1346    Log(("pdmR0DevHlp_MmioMapMmio2Page: caller='%s'/%d: returns %Rrc\n",
     1347         pDevIns->pReg->szName, pDevIns->iInstance, rc));
     1348    return rc;
     1349}
     1350
     1351
     1352/** @interface_method_impl{PDMDEVHLPR0,pfnMmioResetRegion} */
     1353static DECLCALLBACK(int) pdmR0DevHlp_MmioResetRegion(PPDMDEVINS pDevIns, IOMMMIOHANDLE hRegion)
     1354{
     1355    PDMDEV_ASSERT_DEVINS(pDevIns);
     1356    LogFlow(("pdmR0DevHlp_MmioResetRegion: caller='%s'/%d: hRegion=%RX64\n",
     1357             pDevIns->pReg->szName, pDevIns->iInstance, hRegion));
     1358
     1359    int rc = IOMMmioResetRegion(pDevIns->Internal.s.pGVM, pDevIns, hRegion);
     1360
     1361    Log(("pdmR0DevHlp_MmioResetRegion: caller='%s'/%d: returns %Rrc\n",
    13311362         pDevIns->pReg->szName, pDevIns->iInstance, rc));
    13321363    return rc;
     
    14271458    pdmR0DevHlp_HpetSetUpContext,
    14281459    pdmR0DevHlp_PGMHandlerPhysicalPageTempOff,
     1460    pdmR0DevHlp_MmioMapMmio2Page,
     1461    pdmR0DevHlp_MmioResetRegion,
    14291462    NULL /*pfnReserved1*/,
    14301463    NULL /*pfnReserved2*/,
     
    15351568    pdmR0DevHlp_HpetSetUpContext,
    15361569    pdmR0DevHlp_PGMHandlerPhysicalPageTempOff,
     1570    pdmR0DevHlp_MmioMapMmio2Page,
     1571    pdmR0DevHlp_MmioResetRegion,
    15371572    NULL /*pfnReserved1*/,
    15381573    NULL /*pfnReserved2*/,
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