Lines Matching refs:ring
464 * VirtIO ring buffer wrapper.
466 * This class wraps a VirtIO ring buffer. The template parameter T
467 * is used to select the data type for the items in the ring (used
483 : header{0, 0}, ring(size), _proxy(proxy), _base(0) {}
486 * Set the base address of the VirtIO ring buffer.
492 /** Update the ring buffer header with data from the guest. */
511 /* Read and byte-swap the elements in the ring */
512 T temp[ring.size()];
514 temp, sizeof(T) * ring.size());
515 for (int i = 0; i < ring.size(); ++i)
516 ring[i] = vtoh_legacy(temp[i]);
521 /* Create a byte-swapped copy of the ring and write it to
523 T temp[ring.size()];
524 for (int i = 0; i < ring.size(); ++i)
525 temp[i] = htov_legacy(ring[i]);
527 temp, sizeof(T) * ring.size());
533 /** Elements in ring in host byte order */
534 std::vector<T> ring;
542 /** Guest physical base address of the ring buffer */
552 * ring */