VirtualBox

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


Ignore:
Timestamp:
Sep 6, 2019 5:41:59 PM (5 years ago)
Author:
vboxsync
Message:

Storage/DevVirtioSCSI.cpp: Start to fix/implement ejection notification. Improve interface header file API comments.

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

Legend:

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

    r80615 r80639  
    3535#define INSTANCE(pVirtio) pVirtio->szInstance
    3636#define QUEUENAME(qIdx) (pVirtio->virtqProxy[qIdx].szVirtqName)
    37 #define CBQUEUENAME(qIdx) RTStrNLen(QUEUENAME(qIdx), sizeof(QUEUENAME(qIdx)))
    38 /**
    39 
     37
     38/**
    4039 * Formats the logging of a memory-mapped I/O input or output value
    4140 *
  • trunk/src/VBox/Devices/VirtIO/Virtio_1_0.h

    r80596 r80639  
    185185
    186186/**
    187  * Removes descriptor [chain] from queue and converts it to scatter/gather data
    188  * in the vector whose pointer was returned from VirtioQueueAttach.
     187 * Removes descriptor chain from avail ring of indicated queue and converts it to
     188 * scatter/gather buffer (whose segments contain guest phys. data pointers)
    189189 *
    190190 * @param hVirtio   - Handle for VirtIO framework
     
    213213
    214214/**
    215  * Writes scatter/gather segment contained in queue's bufVec.aSegsIn[] array to
    216  * physical memory assigned by the guest driver. The data won't be seen by the
    217  * driver until the next virtioQueueSync() call.
     215 * Writes a scatter/gather buffer (whose segments point to virtual memory) to next
     216 * available descriptor chain (consisting of segments pointing to guest phys. memory),
     217 * for the indicated virtq. The data won't be seen by the guest until the next
     218 * client call to virtioQueueSync(), which puts aforementioned descriptor
     219 * chain's head index on the indicated virtq's used ring (see VirtIO 1.0
     220 * specification, Section 2.4 "Virtqueues").
    218221 *
    219222 * @param hVirtio   - Handle for VirtIO framework
     
    233236
    234237/**
    235  * Updates virtq's "used ring" descriptor index to match the current bufVec's
    236  * index, thus exposing the data added to the used ring by all virtioQueuePut()
    237  * calls since the last sync. This should be called after one or more virtQueuePut()
    238  * calls to inform the guest driver there is data in the queue. Explicit
    239  * notifications will be sent to the guest depending on VirtIO features negotiated
    240  * and conditions.
     238 * Updates the indicated virtq's "used ring" descriptor index to match the
     239 * current write-head index, thus exposing the data added to the used ring by all
     240 * virtioQueuePut() calls since the last sync. This should be called after one or
     241 * more virtQueuePut() calls to inform the guest driver there is data in the queue.
     242 * Explicit notifications (e.g. interrupt or MSI-X) will be sent to the guest,
     243 * depending on VirtIO features negotiated and conditions, otherwise the guest
     244 * will detect the update by polling. (see VirtIO 1.0
     245 * specification, Section 2.4 "Virtqueues").
    241246 *
    242247 * @param hVirtio   - Handle for VirtIO framework
     
    306311/**
    307312 * Log memory-mapped I/O input or output value.
     313 *
    308314 * This is designed to be invoked by macros that can make contextual assumptions
    309  * (e.g. implicitly derive some of the parameters). It is exposed for the VirtIO
    310  * client doing the device-specific implementation in order to log in a similar fashion
    311  * accesses to the device-specific MMIO configuration structure. Macros that leverage
    312  * this function are in Virtio_1_0_impl.h and can be used as an example of how to use
    313  * this effectively for the device-specific code.
     315 * (e.g. implicitly derive MACRO parameters from the invoking function). It is exposed
     316 * for the VirtIO client doing the device-specific implementation in order to log in a
     317 * similar fashion accesses to the device-specific MMIO configuration structure. Macros
     318 * that leverage this function are in Virtio_1_0_impl.h and can be used as an example
     319 * of how to use this effectively for the device-specific code.
    314320 *
    315321 * @param   pszFunc     - To avoid displaying this function's name via __FUNCTION__ or LogFunc()
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