VirtualBox

Changeset 80308 in vbox for trunk/src/VBox/Devices/VirtIO


Ignore:
Timestamp:
Aug 15, 2019 7:48:27 PM (5 years ago)
Author:
vboxsync
Message:

Storage/DevVirtioSCSI.cpp: Some cleanup of r132764

Location:
trunk/src/VBox/Devices/VirtIO
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VirtIO/Virtio_1_0.cpp

    r80307 r80308  
    105105{
    106106    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    107     PVIRTQ_SHADOW_T pVirtqShadow = &(pVirtio->queueShadow[qIdx]);
     107    PVIRTQ_SHADOW_T pVirtqShadow = &(pVirtio->virtqShadow[qIdx]);
    108108    if (pVirtio->uQueueEnable[qIdx])
    109109    {
     
    120120const char *virtioQueueGetName(VIRTIOHANDLE hVirtio, uint16_t qIdx)
    121121{
    122     return (const char *)((PVIRTIOSTATE)hVirtio)->queueShadow[qIdx].pcszName;
     122    return (const char *)((PVIRTIOSTATE)hVirtio)->virtqShadow[qIdx].pcszName;
    123123}
    124124
     
    127127{
    128128    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    129     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     129    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    130130
    131131    if (virtioQueueIsEmpty(pVirtio, qIdx))
     
    141141{
    142142    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    143     return vqReadAvailDescIdx(pVirtio, qIdx) == pVirtio->queueShadow->uAvailIdx;
     143    return vqReadAvailDescIdx(pVirtio, qIdx) == pVirtio->virtqShadow->uAvailIdx;
    144144}
    145145
     
    157157
    158158    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    159     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     159    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    160160
    161161    if (!(pVirtio->uDeviceStatus & VIRTIO_STATUS_DRIVER_OK))
     
    243243{
    244244    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    245     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     245    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    246246
    247247    Log2Func(("%s: %s desc_idx=%u acb=%u\n",
     
    289289{
    290290    PVIRTIOSTATE pVirtio = (PVIRTIOSTATE)hVirtio;
    291     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     291    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    292292
    293293    uint16_t uDescIdx = vqReadUsedDescIdx(pVirtio, qIdx);
     
    296296
    297297    vqWriteUsedRingDescIdx(pVirtio, qIdx, pVirtqShadow->uUsedIdx);
    298     vqNotify(pVirtio, qIdx);
     298    vqNotifyDriver(pVirtio, qIdx);
    299299}
    300300
     
    302302 * This is called when MMIO handler detects guest write to a virtq's notification address
    303303 */
    304 static void vqNotified(PVIRTIOSTATE pVirtio, uint16_t qIdx, uint16_t uNotifyIdx)
     304static void vqDeviceNotified(PVIRTIOSTATE pVirtio, uint16_t qIdx, uint16_t uNotifyIdx)
    305305{
    306306    Assert(uNotifyIdx == qIdx);
    307     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     307    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    308308    Log2Func(("%s: %s notified\n", INSTANCE(pVirtio), pVirtqShadow->pcszName));
    309309
     
    318318 * See VirtIO 1.0 specification (see section 2.4.7).
    319319 */
    320 static void vqNotify(PVIRTIOSTATE pVirtio, uint16_t qIdx)
    321 {
    322     PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->queueShadow[qIdx];
     320static void vqNotifyDriver(PVIRTIOSTATE pVirtio, uint16_t qIdx)
     321{
     322    PVIRTQ_SHADOW_T pVirtqShadow = &pVirtio->virtqShadow[qIdx];
    323323
    324324    if (!(pVirtio->uDeviceStatus & VIRTIO_STATUS_DRIVER_OK))
     
    417417static void vqReset(PVIRTIOSTATE pVirtio, uint16_t qIdx)
    418418{
    419     PVIRTQ_SHADOW_T pVirtQ = &pVirtio->queueShadow[qIdx];
     419    PVIRTQ_SHADOW_T pVirtQ = &pVirtio->virtqShadow[qIdx];
    420420    pVirtQ->uAvailIdx = 0;
    421421    pVirtQ->uUsedIdx  = 0;
     
    782782        uint16_t qIdx = uNotifyBaseOffset / VIRTIO_NOTIFY_OFFSET_MULTIPLIER;
    783783        uint16_t uNotifiedIdx = *(uint16_t *)pv;
    784         vqNotified(pVirtio, qIdx, uNotifiedIdx);
     784        vqDeviceNotified(pVirtio, qIdx, uNotifiedIdx);
    785785    }
    786786    else
     
    12591259            {
    12601260                Log2Func(("%s queue:\n",
    1261                           "  queueShadow[%u].uAvailIdx   = %u\n"
    1262                           "  queueShadow[%u].uUsedIdx    = %u\n"
     1261                          "  virtqShadow[%u].uAvailIdx   = %u\n"
     1262                          "  virtqShadow[%u].uUsedIdx    = %u\n"
    12631263                          "  uQueueSize[%u]              = %u\n"
    12641264                          "  uQueueNotifyOff[%u]         = %04x\n"
     
    12681268                          "  pGcPhysQueueAvail[%u]       = %RGp\n"
    12691269                          "  pGcPhysQueueUsed[%u]        = %RGp\n",
    1270                                 i, pVirtio->queueShadow[i].pcszName,
    1271                                 i, pVirtio->queueShadow[i].uAvailIdx,
    1272                                 i, pVirtio->queueShadow[i].uUsedIdx,
     1270                                i, pVirtio->virtqShadow[i].pcszName,
     1271                                i, pVirtio->virtqShadow[i].uAvailIdx,
     1272                                i, pVirtio->virtqShadow[i].uUsedIdx,
    12731273                                i, pVirtio->uQueueSize[i],
    12741274                                i, pVirtio->uQueueNotifyOff[i],
     
    13321332        rc = SSMR3PutU16(pSSM,      pVirtio->uQueueEnable[i]);
    13331333        rc = SSMR3PutU16(pSSM,      pVirtio->uQueueSize[i]);
    1334         rc = SSMR3PutU16(pSSM,      pVirtio->queueShadow[i].uAvailIdx);
    1335         rc = SSMR3PutU16(pSSM,      pVirtio->queueShadow[i].uUsedIdx);
    1336         rc = SSMR3PutMem(pSSM,      pVirtio->queueShadow[i].pcszName, 32);
     1334        rc = SSMR3PutU16(pSSM,      pVirtio->virtqShadow[i].uAvailIdx);
     1335        rc = SSMR3PutU16(pSSM,      pVirtio->virtqShadow[i].uUsedIdx);
     1336        rc = SSMR3PutMem(pSSM,      pVirtio->virtqShadow[i].pcszName, 32);
    13371337    }
    13381338
     
    13911391            rc = SSMR3GetU16(pSSM,      &pVirtio->uQueueEnable[i]);
    13921392            rc = SSMR3GetU16(pSSM,      &pVirtio->uQueueSize[i]);
    1393             rc = SSMR3GetU16(pSSM,      &pVirtio->queueShadow[i].uAvailIdx);
    1394             rc = SSMR3GetU16(pSSM,      &pVirtio->queueShadow[i].uUsedIdx);
    1395             rc = SSMR3GetMem(pSSM,      pVirtio->queueShadow[i].pcszName, 32);
     1393            rc = SSMR3GetU16(pSSM,      &pVirtio->virtqShadow[i].uAvailIdx);
     1394            rc = SSMR3GetU16(pSSM,      &pVirtio->virtqShadow[i].uUsedIdx);
     1395            rc = SSMR3GetMem(pSSM,      pVirtio->virtqShadow[i].pcszName, 32);
    13961396        }
    13971397    }
  • trunk/src/VBox/Devices/VirtIO/Virtio_1_0_impl.h

    r80306 r80308  
    177177    uint8_t                   uConfigGeneration;                 /**< (MMIO) Device config sequencer       HOST */
    178178
    179     VIRTQ_SHADOW_T            queueShadow[VIRTQ_MAX_CNT];       /**< Local impl-specific queue context         */
     179    VIRTQ_SHADOW_T            virtqShadow[VIRTQ_MAX_CNT];        /**< Local impl-specific queue context         */
    180180    VIRTIOCALLBACKS           virtioCallbacks;                   /**< Callback vectors to client                */
    181181
     
    356356DECLINLINE(bool) vqIsEmpty(PVIRTIOSTATE pVirtio, uint16_t qIdx)
    357357{
    358     return vqReadAvailDescIdx(pVirtio, qIdx) == pVirtio->queueShadow->uAvailIdx;
     358    return vqReadAvailDescIdx(pVirtio, qIdx) == pVirtio->virtqShadow->uAvailIdx;
    359359}
    360360
     
    511511}
    512512
    513        void vqNotified              (PVIRTIOSTATE pVirtio, uint32_t qidx, uint16_t uDescIdx);
    514 static void vqNotify                (PVIRTIOSTATE pVirtio, uint16_t qIdx);
    515513static void vqReset                 (PVIRTIOSTATE pVirtio, uint16_t qIdx);
     514static void vqDeviceNotified        (PVIRTIOSTATE pVirtio, uint16_t qidx, uint16_t uDescIdx);
     515static void vqNotifyDriver          (PVIRTIOSTATE pVirtio, uint16_t qIdx);
    516516static int  virtioRaiseInterrupt    (PVIRTIOSTATE pVirtio, uint8_t uCause);
    517517static void virtioLowerInterrupt    (PVIRTIOSTATE pVirtio);
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