Changeset 80639 in vbox for trunk/src/VBox/Devices/VirtIO
- Timestamp:
- Sep 6, 2019 5:41:59 PM (5 years ago)
- Location:
- trunk/src/VBox/Devices/VirtIO
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/VirtIO/Virtio_1_0.cpp
r80615 r80639 35 35 #define INSTANCE(pVirtio) pVirtio->szInstance 36 36 #define QUEUENAME(qIdx) (pVirtio->virtqProxy[qIdx].szVirtqName) 37 #define CBQUEUENAME(qIdx) RTStrNLen(QUEUENAME(qIdx), sizeof(QUEUENAME(qIdx))) 38 /** 39 37 38 /** 40 39 * Formats the logging of a memory-mapped I/O input or output value 41 40 * -
trunk/src/VBox/Devices/VirtIO/Virtio_1_0.h
r80596 r80639 185 185 186 186 /** 187 * Removes descriptor [chain] from queue and converts it to scatter/gather data188 * 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) 189 189 * 190 190 * @param hVirtio - Handle for VirtIO framework … … 213 213 214 214 /** 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"). 218 221 * 219 222 * @param hVirtio - Handle for VirtIO framework … … 233 236 234 237 /** 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"). 241 246 * 242 247 * @param hVirtio - Handle for VirtIO framework … … 306 311 /** 307 312 * Log memory-mapped I/O input or output value. 313 * 308 314 * 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 VirtIO310 * client doing the device-specific implementation in order to log in a similar fashion311 * accesses to the device-specific MMIO configuration structure. Macros that leverage312 * th is function are in Virtio_1_0_impl.h and can be used as an example of how to use313 * 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. 314 320 * 315 321 * @param pszFunc - To avoid displaying this function's name via __FUNCTION__ or LogFunc()
Note:
See TracChangeset
for help on using the changeset viewer.