Changeset 35959 in vbox
- Timestamp:
- Feb 14, 2011 2:30:03 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/rawpci.h
r35946 r35959 48 48 { 49 49 /* in */ 50 RT HCPHYS StartAddress;50 RTGCPHYS StartAddress; 51 51 uint64_t iRegionSize; 52 52 uint32_t fFlags; … … 130 130 } PCIRAWREQPCICFGREAD; 131 131 132 133 /** 134 * Handle for the raw PCI device. 135 */ 136 typedef RTR0PTR PCIRAWDEVHANDLE; 137 132 138 /** 133 139 * Request buffer use for communication with the driver. … … 144 150 int32_t iRequest; 145 151 /** Host device request targetted to. */ 146 uint32_tTargetDevice;152 PCIRAWDEVHANDLE TargetDevice; 147 153 /** Call parameters. */ 148 154 union … … 160 166 } PCIRAWSENDREQ; 161 167 typedef PCIRAWSENDREQ *PPCIRAWSENDREQ; 162 163 168 164 169 /** … … 222 227 */ 223 228 DECLR0CALLBACKMEMBER(void, pfnRelease,(PRAWPCIDEVPORT pPort)); 229 230 /** 231 * Init device. 232 * 233 * @param pPort Pointer to this structure. 234 * @param fFlags Initialization flags. 235 */ 236 DECLR0CALLBACKMEMBER(int, pfnInit,(PRAWPCIDEVPORT pPort, 237 uint32_t fFlags)); 224 238 239 240 225 241 /** Structure version number. (RAWPCIDEVPORT_VERSION) */ 226 242 uint32_t u32VersionEnd; … … 267 283 } RAWPCIFACTORY; 268 284 269 270 285 #define RAWPCIFACTORY_UUID_STR "c0268f49-e1e4-402b-b7e0-eb8d09659a9b" 271 286 -
trunk/src/VBox/HostDrivers/VBoxPci/VBoxPci.c
r35946 r35959 85 85 } 86 86 87 /** 88 * @copydoc RAWPCIDEVPORT:: pfnRelease 89 */ 90 DECLHIDDEN(int) vboxPciDevInit(PRAWPCIDEVPORT pThis, uint32_t fFlags) 91 { 92 return VINF_SUCCESS; 93 } 94 87 95 88 96 /** … … 113 121 pNew->DevPort.pfnRetain = vboxPciDevRetain; 114 122 pNew->DevPort.pfnRelease = vboxPciDevRelease; 123 pNew->DevPort.pfnInit = vboxPciDevInit; 115 124 pNew->DevPort.u32VersionEnd = RAWPCIDEVPORT_VERSION; 116 125 117 126 rc = RTSpinlockCreate(&pNew->hSpinlock); 118 if (RT_SUCCESS(rc)) 119 { 120 *ppDevPort = &pNew->DevPort; 127 128 if (RT_SUCCESS(rc)) 129 { 130 rc = pNew->DevPort.pfnInit(&pNew->DevPort, fFlags); 131 if (RT_SUCCESS(rc)) 132 { 133 *ppDevPort = &pNew->DevPort; 134 } 135 else 136 { 137 RTSpinlockDestroy(pNew->hSpinlock); 138 RTMemFree(pNew); 139 } 121 140 return rc; 122 141 } -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r35902 r35959 1179 1179 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PPCIRAWSENDREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1180 1180 return VERR_INVALID_PARAMETER; 1181 return PciRawR0ProcessReq(pSession, (PPCIRAWSENDREQ)pReqHdr);1181 return PciRawR0ProcessReq(pSession, pVM, (PPCIRAWSENDREQ)pReqHdr); 1182 1182 #endif 1183 1183 /* … … 1553 1553 RTAssertMsg2V(pszFormat, va); 1554 1554 } 1555
Note:
See TracChangeset
for help on using the changeset viewer.