Changeset 81836 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Nov 13, 2019 5:00:55 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 134627
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevATA.cpp
r81802 r81836 526 526 /** The event semaphore the thread is waiting on for requests. */ 527 527 SUPSEMEVENT hAsyncIOSem; 528 /** The support driver session handle. */529 PSUPDRVSESSION pSupDrvSession;530 528 /** The request queue for the AIO thread. One element is always unused. */ 531 529 ATARequest aAsyncIORequests[4]; … … 847 845 if (RT_FAILURE(rc)) 848 846 { 849 rc = SUPSemEventSignal(pCtl->pSupDrvSession, pCtl->hAsyncIOSem);847 rc = PDMDevHlpSUPSemEventSignal(pCtl->CTX_SUFF(pDevIns), pCtl->hAsyncIOSem); 850 848 AssertRC(rc); 851 849 } … … 5501 5499 RT_NOREF1(hThreadSelf); 5502 5500 const ATARequest *pReq; 5503 uint64_t u64TS = 0; /* shut up gcc */5501 uint64_t u64TS = 0; /* shut up gcc */ 5504 5502 uint64_t uWait; 5505 int rc = VINF_SUCCESS; 5506 PATACONTROLLER pCtl = (PATACONTROLLER)pvUser; 5503 PATACONTROLLER pCtl = (PATACONTROLLER)pvUser; 5504 PPDMDEVINSR3 pDevIns = pCtl->CTX_SUFF(pDevIns); 5505 int rc = VINF_SUCCESS; 5507 5506 ATADevState *s; 5508 5507 … … 5533 5532 if (pCtl->fSignalIdle) 5534 5533 ataR3AsyncSignalIdle(pCtl); 5535 rc = SUPSemEventWaitNoResume(pCtl->pSupDrvSession, pCtl->hAsyncIOSem, RT_INDEFINITE_WAIT);5534 rc = PDMDevHlpSUPSemEventWaitNoResume(pDevIns, pCtl->hAsyncIOSem, RT_INDEFINITE_WAIT); 5536 5535 /* Continue if we got a signal by RTThreadPoke(). 5537 5536 * We will get notified if there is a request to process. … … 5981 5980 RTThreadUserSignal(pCtl->AsyncIOThread); 5982 5981 if (pCtl->fSignalIdle) 5983 PDMDevHlpAsyncNotificationCompleted(p Ctl->pDevInsR3);5982 PDMDevHlpAsyncNotificationCompleted(pDevIns); 5984 5983 5985 5984 /* Cleanup the state. */ … … 7403 7402 { 7404 7403 ASMAtomicWriteU32(&pThis->aCts[i].fShutdown, true); 7405 rc = SUPSemEventSignal(pThis->aCts[i].pSupDrvSession, pThis->aCts[i].hAsyncIOSem);7404 rc = PDMDevHlpSUPSemEventSignal(pDevIns, pThis->aCts[i].hAsyncIOSem); 7406 7405 AssertRC(rc); 7407 7406 rc = RTSemEventSignal(pThis->aCts[i].SuspendIOSem); … … 7436 7435 if (pThis->aCts[i].hAsyncIOSem != NIL_SUPSEMEVENT) 7437 7436 { 7438 SUPSemEventClose(pThis->aCts[i].pSupDrvSession, pThis->aCts[i].hAsyncIOSem);7437 PDMDevHlpSUPSemEventClose(pDevIns, pThis->aCts[i].hAsyncIOSem); 7439 7438 pThis->aCts[i].hAsyncIOSem = NIL_SUPSEMEVENT; 7440 7439 } … … 7754 7753 */ 7755 7754 pCtl->uAsyncIOState = ATA_AIO_NEW; 7756 pCtl->pSupDrvSession = PDMDevHlpGetSupDrvSession(pDevIns); 7757 rc = SUPSemEventCreate(pCtl->pSupDrvSession, &pCtl->hAsyncIOSem); 7755 rc = PDMDevHlpSUPSemEventCreate(pDevIns, &pCtl->hAsyncIOSem); 7758 7756 AssertLogRelRCReturn(rc, rc); 7759 7757 rc = RTSemEventCreate(&pCtl->SuspendIOSem); … … 7982 7980 if (pDevIns->fR0Enabled) 7983 7981 { 7984 7982 #if 0 7985 7983 rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1, 1, (RTR0PTR)i, 7986 7984 "ataIOPortWrite1Data", "ataIOPortRead1Data", NULL, NULL, "ATA I/O Base 1 - Data"); 7987 7985 #else 7988 7986 rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1, 1, (RTR0PTR)i, 7989 7987 "ataIOPortWrite1Data", "ataIOPortRead1Data", 7990 7988 "ataIOPortWriteStr1Data", "ataIOPortReadStr1Data", "ATA I/O Base 1 - Data"); 7991 7989 #endif 7992 7990 AssertLogRelRCReturn(rc, rc); 7993 7991 rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1 + 1, 7, (RTR0PTR)i,
Note:
See TracChangeset
for help on using the changeset viewer.