VirtualBox

Changeset 81511 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Oct 24, 2019 9:19:15 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
134239
Message:

pdmdev.h: PDMDevHlpMmioCreateAndMap and PDMDevHlpMmioCreateExAndMap. bugref:9218

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmdev.h

    r81475 r81511  
    432432/** Requires the raw-mode component, ignore configuration values. */
    433433#define PDM_DEVREG_FLAGS_OPT_IN_RC                      UINT32_C(0x00000040)
     434
     435/** Convenience: PDM_DEVREG_FLAGS_R0 + PDM_DEVREG_FLAGS_RC  */
     436#define PDM_DEVREG_FLAGS_RZ                             (PDM_DEVREG_FLAGS_R0 | PDM_DEVREG_FLAGS_RC)
    434437
    435438/** @def PDM_DEVREG_FLAGS_HOST_BITS_DEFAULT
     
    58555858
    58565859/**
     5860 * @sa PDMDevHlpMmioCreate and PDMDevHlpMmioMap
     5861 */
     5862DECLINLINE(int) PDMDevHlpMmioCreateAndMap(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPHYS cbRegion,
     5863                                          PPDMPCIDEV pPciDev, uint32_t iPciRegion, PFNIOMMMIONEWWRITE pfnWrite,
     5864                                          PFNIOMMMIONEWREAD pfnRead, void *pvUser, const char *pszDesc, PIOMMMIOHANDLE phRegion)
     5865{
     5866    int rc = pDevIns->pHlpR3->pfnMmioCreateEx(pDevIns, cbRegion, 0, pPciDev, iPciRegion,
     5867                                              pfnWrite, pfnRead, NULL, pvUser, pszDesc, phRegion);
     5868    if (RT_SUCCESS(rc))
     5869        rc = pDevIns->pHlpR3->pfnMmioMap(pDevIns, *phRegion, GCPhys);
     5870    return rc;
     5871}
     5872
     5873/**
     5874 * @sa PDMDevHlpMmioCreateEx and PDMDevHlpMmioMap
     5875 */
     5876DECLINLINE(int) PDMDevHlpMmioCreateExAndMap(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, RTGCPHYS cbRegion, uint32_t fFlags,
     5877                                            PPDMPCIDEV pPciDev, uint32_t iPciRegion, PFNIOMMMIONEWWRITE pfnWrite,
     5878                                            PFNIOMMMIONEWREAD pfnRead, PFNIOMMMIONEWFILL pfnFill, void *pvUser,
     5879                                            const char *pszDesc, PIOMMMIOHANDLE phRegion)
     5880{
     5881    int rc = pDevIns->pHlpR3->pfnMmioCreateEx(pDevIns, cbRegion, fFlags, pPciDev, iPciRegion,
     5882                                              pfnWrite, pfnRead, pfnFill, pvUser, pszDesc, phRegion);
     5883    if (RT_SUCCESS(rc))
     5884        rc = pDevIns->pHlpR3->pfnMmioMap(pDevIns, *phRegion, GCPhys);
     5885    return rc;
     5886}
     5887
     5888/**
    58575889 * @copydoc PDMDEVHLPR3::pfnMmioMap
    58585890 */
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