VirtualBox

Changeset 81836 in vbox for trunk/src/VBox/Devices/Storage


Ignore:
Timestamp:
Nov 13, 2019 5:00:55 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
134627
Message:

DevATA: Operate SUPSemEvent* thru the device helpers. bugref:9218

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevATA.cpp

    r81802 r81836  
    526526    /** The event semaphore the thread is waiting on for requests. */
    527527    SUPSEMEVENT         hAsyncIOSem;
    528     /** The support driver session handle. */
    529     PSUPDRVSESSION      pSupDrvSession;
    530528    /** The request queue for the AIO thread. One element is always unused. */
    531529    ATARequest          aAsyncIORequests[4];
     
    847845    if (RT_FAILURE(rc))
    848846    {
    849         rc = SUPSemEventSignal(pCtl->pSupDrvSession, pCtl->hAsyncIOSem);
     847        rc = PDMDevHlpSUPSemEventSignal(pCtl->CTX_SUFF(pDevIns), pCtl->hAsyncIOSem);
    850848        AssertRC(rc);
    851849    }
     
    55015499    RT_NOREF1(hThreadSelf);
    55025500    const ATARequest *pReq;
    5503     uint64_t        u64TS = 0; /* shut up gcc */
     5501    uint64_t        u64TS   = 0; /* shut up gcc */
    55045502    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;
    55075506    ATADevState     *s;
    55085507
     
    55335532            if (pCtl->fSignalIdle)
    55345533                ataR3AsyncSignalIdle(pCtl);
    5535             rc = SUPSemEventWaitNoResume(pCtl->pSupDrvSession, pCtl->hAsyncIOSem, RT_INDEFINITE_WAIT);
     5534            rc = PDMDevHlpSUPSemEventWaitNoResume(pDevIns, pCtl->hAsyncIOSem, RT_INDEFINITE_WAIT);
    55365535            /* Continue if we got a signal by RTThreadPoke().
    55375536             * We will get notified if there is a request to process.
     
    59815980    RTThreadUserSignal(pCtl->AsyncIOThread);
    59825981    if (pCtl->fSignalIdle)
    5983         PDMDevHlpAsyncNotificationCompleted(pCtl->pDevInsR3);
     5982        PDMDevHlpAsyncNotificationCompleted(pDevIns);
    59845983
    59855984    /* Cleanup the state.  */
     
    74037402        {
    74047403            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);
    74067405            AssertRC(rc);
    74077406            rc = RTSemEventSignal(pThis->aCts[i].SuspendIOSem);
     
    74367435        if (pThis->aCts[i].hAsyncIOSem != NIL_SUPSEMEVENT)
    74377436        {
    7438             SUPSemEventClose(pThis->aCts[i].pSupDrvSession, pThis->aCts[i].hAsyncIOSem);
     7437            PDMDevHlpSUPSemEventClose(pDevIns, pThis->aCts[i].hAsyncIOSem);
    74397438            pThis->aCts[i].hAsyncIOSem = NIL_SUPSEMEVENT;
    74407439        }
     
    77547753         */
    77557754        pCtl->uAsyncIOState = ATA_AIO_NEW;
    7756         pCtl->pSupDrvSession = PDMDevHlpGetSupDrvSession(pDevIns);
    7757         rc = SUPSemEventCreate(pCtl->pSupDrvSession, &pCtl->hAsyncIOSem);
     7755        rc = PDMDevHlpSUPSemEventCreate(pDevIns, &pCtl->hAsyncIOSem);
    77587756        AssertLogRelRCReturn(rc, rc);
    77597757        rc = RTSemEventCreate(&pCtl->SuspendIOSem);
     
    79827980            if (pDevIns->fR0Enabled)
    79837981            {
    7984     #if 0
     7982#if 0
    79857983                rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1, 1, (RTR0PTR)i,
    79867984                                               "ataIOPortWrite1Data", "ataIOPortRead1Data", NULL, NULL, "ATA I/O Base 1 - Data");
    7987     #else
     7985#else
    79887986                rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1, 1, (RTR0PTR)i,
    79897987                                               "ataIOPortWrite1Data", "ataIOPortRead1Data",
    79907988                                               "ataIOPortWriteStr1Data", "ataIOPortReadStr1Data", "ATA I/O Base 1 - Data");
    7991     #endif
     7989#endif
    79927990                AssertLogRelRCReturn(rc, rc);
    79937991                rc = PDMDevHlpIOPortRegisterR0(pDevIns, pThis->aCts[i].IOPortBase1 + 1, 7, (RTR0PTR)i,
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