VirtualBox

Changeset 63682 in vbox


Ignore:
Timestamp:
Sep 2, 2016 9:22:00 AM (8 years ago)
Author:
vboxsync
Message:

PDM,IOM: MMIO range length is now a RTGCPHYS instead of uint32_t.

Location:
trunk
Files:
5 edited

Legend:

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

    r62476 r63682  
    336336VMMR3_INT_DECL(int)  IOMR3IOPortDeregister(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts);
    337337
    338 VMMR3_INT_DECL(int)  IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
     338VMMR3_INT_DECL(int)  IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
    339339                                         R3PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
    340340                                         R3PTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
    341341                                         R3PTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback,
    342342                                         uint32_t fFlags, const char *pszDesc);
    343 VMMR3_INT_DECL(int)  IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
     343VMMR3_INT_DECL(int)  IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
    344344                                         R0PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
    345345                                         R0PTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
    346346                                         R0PTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback);
    347 VMMR3_INT_DECL(int)  IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTGCPTR pvUser,
     347VMMR3_INT_DECL(int)  IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTGCPTR pvUser,
    348348                                         RCPTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
    349349                                         RCPTRTYPE(PFNIOMMMIOREAD)  pfnReadCallback,
    350350                                         RCPTRTYPE(PFNIOMMMIOFILL)  pfnFillCallback);
    351 VMMR3_INT_DECL(int)  IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange);
     351VMMR3_INT_DECL(int)  IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange);
    352352VMMR3_INT_DECL(VBOXSTRICTRC) IOMR3ProcessForceFlag(PVM pVM, PVMCPU pVCpu, VBOXSTRICTRC rcStrict);
    353353
  • trunk/include/VBox/vmm/pdmdev.h

    r61776 r63682  
    24402440     *          registered callback methods.
    24412441     */
    2442     DECLR3CALLBACKMEMBER(int, pfnMMIORegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
     2442    DECLR3CALLBACKMEMBER(int, pfnMMIORegister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
    24432443                                               PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead, PFNIOMMMIOFILL pfnFill,
    24442444                                               uint32_t fFlags, const char *pszDesc));
     
    24622462     *          registered callback methods.
    24632463     */
    2464     DECLR3CALLBACKMEMBER(int, pfnMMIORegisterRC,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
     2464    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterRC,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
    24652465                                                 const char *pszWrite, const char *pszRead, const char *pszFill));
    24662466
     
    24832483     *          registered callback methods.
    24842484     */
    2485     DECLR3CALLBACKMEMBER(int, pfnMMIORegisterR0,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
     2485    DECLR3CALLBACKMEMBER(int, pfnMMIORegisterR0,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
    24862486                                                 const char *pszWrite, const char *pszRead, const char *pszFill));
    24872487
     
    24962496     * @param   cbRange             The size of the range (in bytes).
    24972497     */
    2498     DECLR3CALLBACKMEMBER(int, pfnMMIODeregister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange));
     2498    DECLR3CALLBACKMEMBER(int, pfnMMIODeregister,(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange));
    24992499
    25002500    /**
     
    25192519     * @thread  EMT.
    25202520     */
    2521     DECLR3CALLBACKMEMBER(int, pfnMMIO2Register,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS cb, uint32_t fFlags, void **ppv, const char *pszDesc));
     2521    DECLR3CALLBACKMEMBER(int, pfnMMIO2Register,(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS cb, uint32_t fFlags,
     2522                                                void **ppv, const char *pszDesc));
    25222523
    25232524    /**
     
    38143815
    38153816/** Current PDMDEVHLPR3 version number. */
    3816 #define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 16, 0)
     3817#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE(0xffe7, 17, 0)
    38173818
    38183819
  • trunk/src/VBox/VMM/VMMR3/IOM.cpp

    r62643 r63682  
    13601360 */
    13611361VMMR3_INT_DECL(int)
    1362 IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
     1362IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
    13631363                    R3PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback, R3PTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
    13641364                    R3PTRTYPE(PFNIOMMMIOFILL) pfnFillCallback, uint32_t fFlags, const char *pszDesc)
    13651365{
    1366     LogFlow(("IOMR3MmioRegisterR3: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x fFlags=%#x pszDesc=%s\n",
     1366    LogFlow(("IOMR3MmioRegisterR3: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x fFlags=%#x pszDesc=%s\n",
    13671367             pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback, fFlags, pszDesc));
    13681368    int rc;
     
    13711371     * Validate input.
    13721372     */
    1373     AssertMsgReturn(GCPhysStart + (cbRange - 1) >= GCPhysStart,("Wrapped! %RGp %#x bytes\n", GCPhysStart, cbRange),
     1373    AssertMsgReturn(GCPhysStart + (cbRange - 1) >= GCPhysStart,("Wrapped! %RGp LB %RGp\n", GCPhysStart, cbRange),
    13741374                    VERR_IOM_INVALID_MMIO_RANGE);
    13751375    AssertMsgReturn(   !(fFlags & ~IOMMMIO_FLAGS_VALID_MASK)
     
    14631463 */
    14641464VMMR3_INT_DECL(int)
    1465 IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTGCPTR pvUser,
     1465IOMR3MmioRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTGCPTR pvUser,
    14661466                    RCPTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback, RCPTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
    14671467                    RCPTRTYPE(PFNIOMMMIOFILL) pfnFillCallback)
    14681468{
    1469     LogFlow(("IOMR3MmioRegisterRC: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RGv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
     1469    LogFlow(("IOMR3MmioRegisterRC: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RGv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
    14701470             pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback));
    14711471    AssertReturn(!HMIsEnabled(pVM), VERR_IOM_HM_IPE);
     
    14761476    if (!pfnWriteCallback && !pfnReadCallback)
    14771477    {
    1478         AssertMsgFailed(("No callbacks! %RGp LB%#x\n", GCPhysStart, cbRange));
     1478        AssertMsgFailed(("No callbacks! %RGp LB %RGp\n", GCPhysStart, cbRange));
    14791479        return VERR_INVALID_PARAMETER;
    14801480    }
     
    15221522 */
    15231523VMMR3_INT_DECL(int)
    1524 IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
     1524IOMR3MmioRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
    15251525                    R0PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback,
    15261526                    R0PTRTYPE(PFNIOMMMIOREAD) pfnReadCallback,
    15271527                    R0PTRTYPE(PFNIOMMMIOFILL) pfnFillCallback)
    15281528{
    1529     LogFlow(("IOMR3MmioRegisterR0: pDevIns=%p GCPhysStart=%RGp cbRange=%#x pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
     1529    LogFlow(("IOMR3MmioRegisterR0: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp pvUser=%RHv pfnWriteCallback=%#x pfnReadCallback=%#x pfnFillCallback=%#x\n",
    15301530             pDevIns, GCPhysStart, cbRange, pvUser, pfnWriteCallback, pfnReadCallback, pfnFillCallback));
    15311531
     
    15351535    if (!pfnWriteCallback && !pfnReadCallback)
    15361536    {
    1537         AssertMsgFailed(("No callbacks! %RGp LB%#x\n", GCPhysStart, cbRange));
     1537        AssertMsgFailed(("No callbacks! %RGp LB %RGp\n", GCPhysStart, cbRange));
    15381538        return VERR_INVALID_PARAMETER;
    15391539    }
     
    15761576 *          all the checks you might expect it to do.
    15771577 */
    1578 VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange)
    1579 {
    1580     LogFlow(("IOMR3MmioDeregister: pDevIns=%p GCPhysStart=%RGp cbRange=%#x\n", pDevIns, GCPhysStart, cbRange));
     1578VMMR3_INT_DECL(int) IOMR3MmioDeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange)
     1579{
     1580    LogFlow(("IOMR3MmioDeregister: pDevIns=%p GCPhysStart=%RGp cbRange=%RGp\n", pDevIns, GCPhysStart, cbRange));
    15811581
    15821582    /*
     
    15861586    if (GCPhysLast < GCPhysStart)
    15871587    {
    1588         AssertMsgFailed(("Wrapped! %#x LB%#x\n", GCPhysStart, cbRange));
     1588        AssertMsgFailed(("Wrapped! %#x LB %RGp\n", GCPhysStart, cbRange));
    15891589        return VERR_IOM_INVALID_MMIO_RANGE;
    15901590    }
     
    16061606        }
    16071607        AssertMsgReturnStmt(pRange->pDevInsR3 == pDevIns,
    1608                             ("Not owner! GCPhys=%RGp %RGp LB%#x %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
     1608                            ("Not owner! GCPhys=%RGp %RGp LB %RGp %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
    16091609                            IOM_UNLOCK_EXCL(pVM),
    16101610                            VERR_IOM_NOT_MMIO_RANGE_OWNER);
    16111611        AssertMsgReturnStmt(pRange->Core.KeyLast <= GCPhysLast,
    1612                             ("Incomplete R3 range! GCPhys=%RGp %RGp LB%#x %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
     1612                            ("Incomplete R3 range! GCPhys=%RGp %RGp LB %RGp %s\n", GCPhys, GCPhysStart, cbRange, pRange->pszDesc),
    16131613                            IOM_UNLOCK_EXCL(pVM),
    16141614                            VERR_IOM_INCOMPLETE_MMIO_RANGE);
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r62643 r63682  
    274274
    275275/** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegister} */
    276 static DECLCALLBACK(int) pdmR3DevHlp_MMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTHCPTR pvUser,
     276static DECLCALLBACK(int) pdmR3DevHlp_MMIORegister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser,
    277277                                                  PFNIOMMMIOWRITE pfnWrite, PFNIOMMMIOREAD pfnRead, PFNIOMMMIOFILL pfnFill,
    278278                                                  uint32_t fFlags, const char *pszDesc)
     
    281281    PVM pVM = pDevIns->Internal.s.pVMR3;
    282282    VM_ASSERT_EMT(pVM);
    283     LogFlow(("pdmR3DevHlp_MMIORegister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pfnWrite=%p pfnRead=%p pfnFill=%p fFlags=%#x pszDesc=%p:{%s}\n",
     283    LogFlow(("pdmR3DevHlp_MMIORegister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pfnWrite=%p pfnRead=%p pfnFill=%p fFlags=%#x pszDesc=%p:{%s}\n",
    284284             pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pfnWrite, pfnRead, pfnFill, pszDesc, fFlags, pszDesc));
    285285
     
    300300
    301301/** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegisterRC} */
    302 static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTRCPTR pvUser,
     302static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterRC(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTRCPTR pvUser,
    303303                                                    const char *pszWrite, const char *pszRead, const char *pszFill)
    304304{
     
    306306    PVM pVM = pDevIns->Internal.s.pVMR3;
    307307    VM_ASSERT_EMT(pVM);
    308     LogFlow(("pdmR3DevHlp_MMIORegisterRC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
     308    LogFlow(("pdmR3DevHlp_MMIORegisterRC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
    309309             pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pszWrite, pszWrite, pszRead, pszRead, pszFill, pszFill));
    310310
     
    357357
    358358/** @interface_method_impl{PDMDEVHLPR3,pfnMMIORegisterR0} */
    359 static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange, RTR0PTR pvUser,
     359static DECLCALLBACK(int) pdmR3DevHlp_MMIORegisterR0(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTR0PTR pvUser,
    360360                                                    const char *pszWrite, const char *pszRead, const char *pszFill)
    361361{
    362362    PDMDEV_ASSERT_DEVINS(pDevIns);
    363363    VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3);
    364     LogFlow(("pdmR3DevHlp_MMIORegisterHC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
     364    LogFlow(("pdmR3DevHlp_MMIORegisterHC: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp pvUser=%p pszWrite=%p:{%s} pszRead=%p:{%s} pszFill=%p:{%s}\n",
    365365             pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange, pvUser, pszWrite, pszWrite, pszRead, pszRead, pszFill, pszFill));
    366366
     
    385385            rc3 = pdmR3DevGetSymbolR0Lazy(pDevIns, pszFill, &pfnR0PtrFill);
    386386        if (RT_SUCCESS(rc) && RT_SUCCESS(rc2) && RT_SUCCESS(rc3))
    387             rc = IOMR3MmioRegisterR0(pDevIns->Internal.s.pVMR3, pDevIns, GCPhysStart, cbRange, pvUser, pfnR0PtrWrite, pfnR0PtrRead, pfnR0PtrFill);
     387            rc = IOMR3MmioRegisterR0(pDevIns->Internal.s.pVMR3, pDevIns, GCPhysStart, cbRange, pvUser,
     388                                     pfnR0PtrWrite, pfnR0PtrRead, pfnR0PtrFill);
    388389        else
    389390        {
     
    409410
    410411/** @interface_method_impl{PDMDEVHLPR3,pfnMMIODeregister} */
    411 static DECLCALLBACK(int) pdmR3DevHlp_MMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, uint32_t cbRange)
     412static DECLCALLBACK(int) pdmR3DevHlp_MMIODeregister(PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange)
    412413{
    413414    PDMDEV_ASSERT_DEVINS(pDevIns);
    414415    VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3);
    415     LogFlow(("pdmR3DevHlp_MMIODeregister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%#x\n",
     416    LogFlow(("pdmR3DevHlp_MMIODeregister: caller='%s'/%d: GCPhysStart=%RGp cbRange=%RGp\n",
    416417             pDevIns->pReg->szName, pDevIns->iInstance, GCPhysStart, cbRange));
    417418
  • trunk/src/VBox/VMM/include/IOMInternal.h

    r63226 r63682  
    5252    RTGCPHYS                    GCPhys;
    5353    /** Size of the range. */
    54     uint32_t                    cb;
     54    RTGCPHYS                    cb;
    5555    /** The reference counter. */
    5656    uint32_t volatile           cRefs;
     57    /** Flags, see IOMMMIO_FLAGS_XXX. */
     58    uint32_t                    fFlags;
    5759
    5860    /** Pointer to user argument - R0. */
     
    6769    R0PTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackR0;
    6870
    69     /** Flags, see IOMMMIO_FLAGS_XXX. */ /* (Placed here for alignment reasons.) */
    70     uint32_t                    fFlags;
     71    /** Pointer to user argument - R3. */
     72    RTR3PTR                     pvUserR3;
     73    /** Pointer to device instance - R3. */
     74    PPDMDEVINSR3                pDevInsR3;
     75    /** Pointer to write callback function - R3. */
     76    R3PTRTYPE(PFNIOMMMIOWRITE)  pfnWriteCallbackR3;
     77    /** Pointer to read callback function - R3. */
     78    R3PTRTYPE(PFNIOMMMIOREAD)   pfnReadCallbackR3;
     79    /** Pointer to fill (memset) callback function - R3. */
     80    R3PTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackR3;
     81
     82    /** Description / Name. For easing debugging. */
     83    R3PTRTYPE(const char *)     pszDesc;
    7184
    7285    /** Pointer to user argument - RC. */
     
    8093    /** Pointer to fill (memset) callback function - RC. */
    8194    RCPTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackRC;
    82 
    83     /** Pointer to user argument - R3. */
    84     RTR3PTR                     pvUserR3;
    85     /** Pointer to device instance - R3. */
    86     PPDMDEVINSR3                pDevInsR3;
    87     /** Pointer to write callback function - R3. */
    88     R3PTRTYPE(PFNIOMMMIOWRITE)  pfnWriteCallbackR3;
    89     /** Pointer to read callback function - R3. */
    90     R3PTRTYPE(PFNIOMMMIOREAD)   pfnReadCallbackR3;
    91     /** Pointer to fill (memset) callback function - R3. */
    92     R3PTRTYPE(PFNIOMMMIOFILL)   pfnFillCallbackR3;
    93 
    94     /** Description / Name. For easing debugging. */
    95     R3PTRTYPE(const char *)     pszDesc;
     95#if HC_ARCH_BITS == 64
     96    /** Padding structure length to multiple of 8 bytes. */
     97    RTRCPTR                     RCPtrPadding;
     98#endif
    9699} IOMMMIORANGE;
    97100/** Pointer to a MMIO range descriptor, R3 version. */
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