Changeset 82311 in vbox for trunk/include
- Timestamp:
- Dec 1, 2019 1:45:02 AM (5 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/iom.h
r82094 r82311 507 507 * @deprecated 508 508 * @{ */ 509 VMMR3_INT_DECL(int) IOMR3IOPortRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts, RTHCPTR pvUser,510 R3PTRTYPE(PFNIOMIOPORTOUT) pfnOutCallback, R3PTRTYPE(PFNIOMIOPORTIN) pfnInCallback,511 R3PTRTYPE(PFNIOMIOPORTOUTSTRING) pfnOutStringCallback, R3PTRTYPE(PFNIOMIOPORTINSTRING) pfnInStringCallback,512 const char *pszDesc);513 #if 0514 VMMR3_INT_DECL(int) IOMR3IOPortRegisterRC(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts, RTRCPTR pvUser,515 RCPTRTYPE(PFNIOMIOPORTOUT) pfnOutCallback, RCPTRTYPE(PFNIOMIOPORTIN) pfnInCallback,516 RCPTRTYPE(PFNIOMIOPORTOUTSTRING) pfnOutStrCallback, RCPTRTYPE(PFNIOMIOPORTINSTRING) pfnInStrCallback,517 const char *pszDesc);518 #endif519 VMMR3_INT_DECL(int) IOMR3IOPortRegisterR0(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts, RTR0PTR pvUser,520 R0PTRTYPE(PFNIOMIOPORTOUT) pfnOutCallback, R0PTRTYPE(PFNIOMIOPORTIN) pfnInCallback,521 R0PTRTYPE(PFNIOMIOPORTOUTSTRING) pfnOutStrCallback, R0PTRTYPE(PFNIOMIOPORTINSTRING) pfnInStrCallback,522 const char *pszDesc);523 VMMR3_INT_DECL(int) IOMR3IOPortDeregister(PVM pVM, PPDMDEVINS pDevIns, RTIOPORT PortStart, RTUINT cPorts);524 525 509 VMMR3_INT_DECL(int) IOMR3MmioRegisterR3(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTGCPHYS cbRange, RTHCPTR pvUser, 526 510 R3PTRTYPE(PFNIOMMMIOWRITE) pfnWriteCallback, -
trunk/include/VBox/vmm/pdmdev.h
r82224 r82311 1975 1975 1976 1976 /** Current PDMDEVHLPR3 version number. */ 1977 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 3 8, 0)1977 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 39, 0) 1978 1978 1979 1979 /** … … 2061 2061 /** @} */ 2062 2062 2063 /**2064 * Register a number of I/O ports with a device.2065 *2066 * These callbacks are of course for the host context (HC).2067 * Register HC handlers before guest context (GC) handlers! There must be a2068 * HC handler for every GC handler!2069 *2070 * @returns VBox status.2071 * @param pDevIns The device instance to register the ports with.2072 * @param Port First port number in the range.2073 * @param cPorts Number of ports to register.2074 * @param pvUser User argument.2075 * @param pfnOut Pointer to function which is gonna handle OUT operations.2076 * @param pfnIn Pointer to function which is gonna handle IN operations.2077 * @param pfnOutStr Pointer to function which is gonna handle string OUT operations.2078 * @param pfnInStr Pointer to function which is gonna handle string IN operations.2079 * @param pszDesc Pointer to description string. This must not be freed.2080 * @remarks Caller enters the device critical section prior to invoking the2081 * registered callback methods.2082 * @deprecated2083 */2084 DECLR3CALLBACKMEMBER(int, pfnIOPortRegister,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTHCPTR pvUser,2085 PFNIOMIOPORTOUT pfnOut, PFNIOMIOPORTIN pfnIn,2086 PFNIOMIOPORTOUTSTRING pfnOutStr, PFNIOMIOPORTINSTRING pfnInStr, const char *pszDesc));2087 2088 /**2089 * Register a number of I/O ports with a device for RC.2090 *2091 * These callbacks are for the raw-mode context (RC). Register ring-3 context2092 * (R3) handlers before raw-mode context handlers! There must be a R3 handler2093 * for every RC handler!2094 *2095 * @returns VBox status.2096 * @param pDevIns The device instance to register the ports with2097 * and which RC module to resolve the names2098 * against.2099 * @param Port First port number in the range.2100 * @param cPorts Number of ports to register.2101 * @param pvUser User argument.2102 * @param pszOut Name of the RC function which is gonna handle OUT operations.2103 * @param pszIn Name of the RC function which is gonna handle IN operations.2104 * @param pszOutStr Name of the RC function which is gonna handle string OUT operations.2105 * @param pszInStr Name of the RC function which is gonna handle string IN operations.2106 * @param pszDesc Pointer to description string. This must not be freed.2107 * @remarks Caller enters the device critical section prior to invoking the2108 * registered callback methods.2109 * @deprecated2110 */2111 DECLR3CALLBACKMEMBER(int, pfnIOPortRegisterRC,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTRCPTR pvUser,2112 const char *pszOut, const char *pszIn,2113 const char *pszOutStr, const char *pszInStr, const char *pszDesc));2114 2115 /**2116 * Register a number of I/O ports with a device.2117 *2118 * These callbacks are of course for the ring-0 host context (R0).2119 * Register R3 (HC) handlers before R0 (R0) handlers! There must be a R3 (HC) handler for every R0 handler!2120 *2121 * @returns VBox status.2122 * @param pDevIns The device instance to register the ports with.2123 * @param Port First port number in the range.2124 * @param cPorts Number of ports to register.2125 * @param pvUser User argument. (if pointer, then it must be in locked memory!)2126 * @param pszOut Name of the R0 function which is gonna handle OUT operations.2127 * @param pszIn Name of the R0 function which is gonna handle IN operations.2128 * @param pszOutStr Name of the R0 function which is gonna handle string OUT operations.2129 * @param pszInStr Name of the R0 function which is gonna handle string IN operations.2130 * @param pszDesc Pointer to description string. This must not be freed.2131 * @remarks Caller enters the device critical section prior to invoking the2132 * registered callback methods.2133 * @deprecated2134 */2135 DECLR3CALLBACKMEMBER(int, pfnIOPortRegisterR0,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTR0PTR pvUser,2136 const char *pszOut, const char *pszIn,2137 const char *pszOutStr, const char *pszInStr, const char *pszDesc));2138 2139 /**2140 * Deregister I/O ports.2141 *2142 * This naturally affects both guest context (GC), ring-0 (R0) and ring-3 (R3/HC) handlers.2143 *2144 * @returns VBox status.2145 * @param pDevIns The device instance owning the ports.2146 * @param Port First port number in the range.2147 * @param cPorts Number of ports to deregister.2148 */2149 DECLR3CALLBACKMEMBER(int, pfnIOPortDeregister,(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts));2150 2151 2063 /** @name MMIO 2152 2064 * @{ */ … … 2437 2349 DECLR3CALLBACKMEMBER(int, pfnMmio2ChangeRegionNo,(PPDMDEVINS pDevIns, PGMMMIO2HANDLE hRegion, uint32_t iNewRegion)); 2438 2350 /** @} */ 2439 2440 /**2441 * Allocate and register a MMIO2 region.2442 *2443 * As mentioned elsewhere, MMIO2 is just RAM spelled differently. It's RAM2444 * associated with a device. It is also non-shared memory with a permanent2445 * ring-3 mapping and page backing (presently).2446 *2447 * @returns VBox status.2448 * @param pDevIns The device instance.2449 * @param pPciDev The PCI device the region is associated with, or2450 * NULL if no PCI device association.2451 * @param iRegion The region number. Use the PCI region number as2452 * this must be known to the PCI bus device too. If2453 * it's not associated with the PCI device, then2454 * any number up to UINT8_MAX is fine.2455 * @param cb The size (in bytes) of the region.2456 * @param fFlags Reserved for future use, must be zero.2457 * @param ppv Where to store the address of the ring-3 mapping2458 * of the memory.2459 * @param pszDesc Pointer to description string. This must not be2460 * freed.2461 * @thread EMT.2462 * @deprecated2463 */2464 DECLR3CALLBACKMEMBER(int, pfnMMIO2Register,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS cb,2465 uint32_t fFlags, void **ppv, const char *pszDesc));2466 2467 /**2468 * Deregisters and frees a MMIO or MMIO2 region.2469 *2470 * Any physical (and virtual) access handlers registered for the region must2471 * be deregistered before calling this function (MMIO2 only).2472 *2473 * @returns VBox status code.2474 * @param pDevIns The device instance.2475 * @param pPciDev The PCI device the region is associated with, or2476 * NULL if not associated with any.2477 * @param iRegion The region number used during registration.2478 * @thread EMT.2479 * @deprecated2480 */2481 DECLR3CALLBACKMEMBER(int, pfnMMIOExDeregister,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion));2482 2483 /**2484 * Maps a MMIO or MMIO2 region into the physical memory space.2485 *2486 * A MMIO2 range or a pre-registered MMIO range may overlap with base memory if2487 * a lot of RAM is configured for the VM, in which case we'll drop the base2488 * memory pages. Presently we will make no attempt to preserve anything that2489 * happens to be present in the base memory that is replaced, this is of course2490 * incorrect but it's too much effort.2491 *2492 * @returns VBox status code.2493 * @param pDevIns The device instance.2494 * @param pPciDev The PCI device the region is associated with, or2495 * NULL if not associated with any.2496 * @param iRegion The region number used during registration.2497 * @param GCPhys The physical address to map it at.2498 * @thread EMT.2499 * @deprecated for MMIO2500 */2501 DECLR3CALLBACKMEMBER(int, pfnMMIOExMap,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS GCPhys));2502 2503 /**2504 * Unmaps a MMIO or MMIO2 region previously mapped using pfnMMIOExMap.2505 *2506 * @returns VBox status code.2507 * @param pDevIns The device instance.2508 * @param pPciDev The PCI device the region is associated with, or2509 * NULL if not associated with any.2510 * @param iRegion The region number used during registration.2511 * @param GCPhys The physical address it's currently mapped at.2512 * @thread EMT.2513 * @deprecated for MMIO2514 */2515 DECLR3CALLBACKMEMBER(int, pfnMMIOExUnmap,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS GCPhys));2516 2517 /**2518 * Reduces the length of a MMIO2 or pre-registered MMIO range.2519 *2520 * This is for implementations of PDMPCIDEV::pfnRegionLoadChangeHookR3 and will2521 * only work during saved state restore. It will not call the PCI bus code, as2522 * that is expected to restore the saved resource configuration.2523 *2524 * It just adjusts the mapping length of the region so that when pfnMMIOExMap is2525 * called it will only map @a cbRegion bytes and not the value set during2526 * registration.2527 *2528 * @return VBox status code.2529 * @param pDevIns The device owning the range.2530 * @param pPciDev The PCI device the region is associated with, or2531 * NULL if not associated with any.2532 * @param iRegion The region.2533 * @param cbRegion The new size, must be smaller.2534 */2535 DECLR3CALLBACKMEMBER(int, pfnMMIOExReduce,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS cbRegion));2536 2537 /**2538 * Maps a portion of an MMIO2 region into the hypervisor region.2539 *2540 * Callers of this API must never deregister the MMIO2 region before the2541 * VM is powered off.2542 *2543 * @return VBox status code.2544 * @param pDevIns The device owning the MMIO2 memory.2545 * @param pPciDev The PCI device the region is associated with, or2546 * NULL if not associated with any.2547 * @param iRegion The region.2548 * @param off The offset into the region. Will be rounded down2549 * to closest page boundary.2550 * @param cb The number of bytes to map. Will be rounded up2551 * to the closest page boundary.2552 * @param pszDesc Mapping description.2553 * @param pRCPtr Where to store the RC address.2554 */2555 DECLR3CALLBACKMEMBER(int, pfnMMHyperMapMMIO2,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS off,2556 RTGCPHYS cb, const char *pszDesc, PRTRCPTR pRCPtr));2557 2558 /**2559 * Maps a portion of an MMIO2 region into kernel space (host).2560 *2561 * The kernel mapping will become invalid when the MMIO2 memory is deregistered2562 * or the VM is terminated.2563 *2564 * @return VBox status code.2565 * @param pDevIns The device owning the MMIO2 memory.2566 * @param pPciDev The PCI device the region is associated with, or2567 * NULL if not associated with any.2568 * @param iRegion The region.2569 * @param off The offset into the region. Must be page2570 * aligned.2571 * @param cb The number of bytes to map. Must be page2572 * aligned.2573 * @param pszDesc Mapping description.2574 * @param pR0Ptr Where to store the R0 address.2575 */2576 DECLR3CALLBACKMEMBER(int, pfnMMIO2MapKernel,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS off,2577 RTGCPHYS cb, const char *pszDesc, PRTR0PTR pR0Ptr));2578 2351 2579 2352 /** … … 3227 3000 * This must be kept in the instance data. 3228 3001 * The PCI configuration must be initialized before registration. 3229 * @param fFlags Reserved for future use, PDMPCIDEVREG_F_MBZ. 3002 * @param fFlags 0, PDMPCIDEVREG_F_PCI_BRIDGE or 3003 * PDMPCIDEVREG_F_NOT_MANDATORY_NO. 3230 3004 * @param uPciDevNo PDMPCIDEVREG_DEV_NO_FIRST_UNUSED, 3231 3005 * PDMPCIDEVREG_DEV_NO_SAME_AS_PREV, or a specific … … 4088 3862 DECLR3CALLBACKMEMBER(void, pfnPhysBulkReleasePageMappingLocks,(PPDMDEVINS pDevIns, uint32_t cPages, PPGMPAGEMAPLOCK paLocks)); 4089 3863 4090 /**4091 * Changes the number of an MMIO2 or pre-registered MMIO region.4092 *4093 * This should only be used to deal with saved state problems, so there is no4094 * convenience inline wrapper for this method.4095 *4096 * @returns VBox status code.4097 * @param pDevIns The device instance.4098 * @param pPciDev The PCI device the region is associated with, or4099 * NULL if not associated with any.4100 * @param iRegion The region.4101 * @param iNewRegion The new region index.4102 *4103 * @sa @bugref{9359}4104 */4105 DECLR3CALLBACKMEMBER(int, pfnMMIOExChangeRegionNo,(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion,4106 uint32_t iNewRegion));4107 4108 3864 /** Space reserved for future members. 4109 3865 * @{ */ … … 5727 5483 5728 5484 /** 5729 * @copydoc PDMDEVHLPR3::pfnIOPortRegister5730 */5731 DECLINLINE(int) PDMDevHlpIOPortRegister(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTHCPTR pvUser,5732 PFNIOMIOPORTOUT pfnOut, PFNIOMIOPORTIN pfnIn,5733 PFNIOMIOPORTOUTSTRING pfnOutStr, PFNIOMIOPORTINSTRING pfnInStr, const char *pszDesc)5734 {5735 return pDevIns->pHlpR3->pfnIOPortRegister(pDevIns, Port, cPorts, pvUser, pfnOut, pfnIn, pfnOutStr, pfnInStr, pszDesc);5736 }5737 5738 /**5739 * @copydoc PDMDEVHLPR3::pfnIOPortRegisterRC5740 */5741 DECLINLINE(int) PDMDevHlpIOPortRegisterRC(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTRCPTR pvUser,5742 const char *pszOut, const char *pszIn, const char *pszOutStr,5743 const char *pszInStr, const char *pszDesc)5744 {5745 return pDevIns->pHlpR3->pfnIOPortRegisterRC(pDevIns, Port, cPorts, pvUser, pszOut, pszIn, pszOutStr, pszInStr, pszDesc);5746 }5747 5748 /**5749 * @copydoc PDMDEVHLPR3::pfnIOPortRegisterR05750 */5751 DECLINLINE(int) PDMDevHlpIOPortRegisterR0(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTR0PTR pvUser,5752 const char *pszOut, const char *pszIn, const char *pszOutStr,5753 const char *pszInStr, const char *pszDesc)5754 {5755 return pDevIns->pHlpR3->pfnIOPortRegisterR0(pDevIns, Port, cPorts, pvUser, pszOut, pszIn, pszOutStr, pszInStr, pszDesc);5756 }5757 5758 /**5759 * @copydoc PDMDEVHLPR3::pfnIOPortDeregister5760 */5761 DECLINLINE(int) PDMDevHlpIOPortDeregister(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts)5762 {5763 return pDevIns->pHlpR3->pfnIOPortDeregister(pDevIns, Port, cPorts);5764 }5765 5766 /**5767 5485 * Combines PDMDevHlpIoPortCreate() & PDMDevHlpIoPortMap(). 5768 5486 */ … … 6174 5892 #endif /* !IN_RING3 || DOXYGEN_RUNNING */ 6175 5893 #ifdef IN_RING3 6176 6177 /**6178 * @copydoc PDMDEVHLPR3::pfnMMIO2Register6179 */6180 DECLINLINE(int) PDMDevHlpMMIO2Register(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS cb,6181 uint32_t fFlags, void **ppv, const char *pszDesc)6182 {6183 return pDevIns->pHlpR3->pfnMMIO2Register(pDevIns, pPciDev, iRegion, cb, fFlags, ppv, pszDesc);6184 }6185 6186 /**6187 * @copydoc PDMDEVHLPR3::pfnMMIOExDeregister6188 * @param pPciDev The PCI device the region is associated with, use6189 * NULL to indicate it is not associated with a device.6190 */6191 DECLINLINE(int) PDMDevHlpMMIOExDeregister(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion)6192 {6193 return pDevIns->pHlpR3->pfnMMIOExDeregister(pDevIns, pPciDev, iRegion);6194 }6195 6196 /**6197 * @copydoc PDMDEVHLPR3::pfnMMIOExMap6198 * @param pPciDev The PCI device the region is associated with, use6199 * NULL to indicate it is not associated with a device.6200 */6201 DECLINLINE(int) PDMDevHlpMMIOExMap(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS GCPhys)6202 {6203 return pDevIns->pHlpR3->pfnMMIOExMap(pDevIns, pPciDev, iRegion, GCPhys);6204 }6205 6206 /**6207 * @copydoc PDMDEVHLPR3::pfnMMIOExUnmap6208 * @param pPciDev The PCI device the region is associated with, use6209 * NULL to indicate it is not associated with a device.6210 */6211 DECLINLINE(int) PDMDevHlpMMIOExUnmap(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS GCPhys)6212 {6213 return pDevIns->pHlpR3->pfnMMIOExUnmap(pDevIns, pPciDev, iRegion, GCPhys);6214 }6215 6216 /**6217 * @copydoc PDMDEVHLPR3::pfnMMIOExReduce6218 */6219 DECLINLINE(int) PDMDevHlpMMIOExReduce(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS cbRegion)6220 {6221 return pDevIns->pHlpR3->pfnMMIOExReduce(pDevIns, pPciDev, iRegion, cbRegion);6222 }6223 6224 #ifdef VBOX_WITH_RAW_MODE_KEEP6225 /**6226 * @copydoc PDMDEVHLPR3::pfnMMHyperMapMMIO26227 */6228 DECLINLINE(int) PDMDevHlpMMHyperMapMMIO2(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb,6229 const char *pszDesc, PRTRCPTR pRCPtr)6230 {6231 return pDevIns->pHlpR3->pfnMMHyperMapMMIO2(pDevIns, pPciDev, iRegion, off, cb, pszDesc, pRCPtr);6232 }6233 #endif6234 6235 /**6236 * @copydoc PDMDEVHLPR3::pfnMMIO2MapKernel6237 */6238 DECLINLINE(int) PDMDevHlpMMIO2MapKernel(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS off, RTGCPHYS cb,6239 const char *pszDesc, PRTR0PTR pR0Ptr)6240 {6241 return pDevIns->pHlpR3->pfnMMIO2MapKernel(pDevIns, pPciDev, iRegion, off, cb, pszDesc, pR0Ptr);6242 }6243 5894 6244 5895 /** … … 6831 6482 6832 6483 /** 6833 * Registers a I/O region (memory mapped or I/O ports) for the default PCI6834 * device.6835 *6836 * @returns VBox status code.6837 * @param pDevIns The device instance.6838 * @param iRegion The region number.6839 * @param cbRegion Size of the region.6840 * @param enmType PCI_ADDRESS_SPACE_MEM, PCI_ADDRESS_SPACE_IO or PCI_ADDRESS_SPACE_MEM_PREFETCH.6841 * @param pfnMapUnmap Callback for doing the mapping.6842 * @remarks The callback will be invoked holding the PDM lock. The device lock6843 * is NOT take because that is very likely be a lock order violation.6844 * @remarks Old callback style, won't get unmap calls.6845 */6846 DECLINLINE(int) PDMDevHlpPCIIORegionRegister(PPDMDEVINS pDevIns, uint32_t iRegion, RTGCPHYS cbRegion,6847 PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnMapUnmap)6848 {6849 return pDevIns->pHlpR3->pfnPCIIORegionRegister(pDevIns, NULL, iRegion, cbRegion, enmType,6850 PDMPCIDEV_IORGN_F_NO_HANDLE, UINT64_MAX, pfnMapUnmap);6851 }6852 6853 /**6854 * @sa PDMDEVHLPR3::pfnPCIIORegionRegister6855 * @remarks Old callback style, won't get unmap calls.6856 */6857 DECLINLINE(int) PDMDevHlpPCIIORegionRegisterEx(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, uint32_t iRegion, RTGCPHYS cbRegion,6858 PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnMapUnmap)6859 {6860 return pDevIns->pHlpR3->pfnPCIIORegionRegister(pDevIns, pPciDev, iRegion, cbRegion, enmType,6861 PDMPCIDEV_IORGN_F_NO_HANDLE, UINT64_MAX, pfnMapUnmap);6862 }6863 6864 /**6865 6484 * Registers a I/O port region for the default PCI device. 6866 6485 * … … 7062 6681 if (RT_SUCCESS(rc)) 7063 6682 rc = pDevIns->pHlpR3->pfnPCIIORegionRegister(pDevIns, pDevIns->apPciDevs[0], iPciRegion, cbRegion, enmType, 7064 PDMPCIDEV_IORGN_F_MMIO2_HANDLE, *phRegion, NULL /*pfnCallback*/); 6683 PDMPCIDEV_IORGN_F_MMIO2_HANDLE | PDMPCIDEV_IORGN_F_NEW_STYLE, 6684 *phRegion, NULL /*pfnCallback*/); 7065 6685 return rc; 7066 6686 } … … 7097 6717 if (RT_SUCCESS(rc)) 7098 6718 rc = pDevIns->pHlpR3->pfnPCIIORegionRegister(pDevIns, pDevIns->apPciDevs[0], iPciRegion, cbRegion, enmType, 7099 PDMPCIDEV_IORGN_F_MMIO2_HANDLE, *phRegion, pfnMapUnmap); 6719 PDMPCIDEV_IORGN_F_MMIO2_HANDLE | PDMPCIDEV_IORGN_F_NEW_STYLE, 6720 *phRegion, pfnMapUnmap); 7100 6721 return rc; 7101 6722 }
Note:
See TracChangeset
for help on using the changeset viewer.