<dec f='src/src/sys/dev/pci/virtioreg.h' l='187'/>
<doc f='src/src/sys/dev/pci/virtioreg.h' l='164'>/* The standard layout for the ring is a continuous chunk of memory which
 * looks like this.  We assume num is a power of 2.
 *
 * struct vring {
 *      // The actual descriptors (16 bytes each)
 *      struct vring_desc desc[num];
 *
 *      // A ring of available descriptor heads with free-running index.
 *      __u16 avail_flags;
 *      __u16 avail_idx;
 *      __u16 available[num];
 *
 *      // Padding to the next align boundary.
 *      char pad[];
 *
 *      // A ring of used descriptor heads with free-running index.
 *      __u16 used_flags;
 *      __u16 used_idx;
 *      struct vring_used_elem used[num];
 * };
 * Note: for virtio PCI, align is 4096.
 */</doc>
<use f='src/src/sys/dev/pci/viomb.c' l='67' u='c'/>
<use f='src/src/sys/dev/pci/viomb.c' l='281' u='c'/>
<use f='src/src/sys/dev/pci/viomb.c' l='295' u='c'/>
<use f='src/src/sys/dev/pci/viomb.c' l='389' u='c'/>
<use f='src/src/sys/dev/pci/viomb.c' l='401' u='c'/>
<use f='src/src/sys/dev/pci/viornd.c' l='160' u='c'/>
<use f='src/src/sys/dev/pci/virtio.c' l='492' u='c'/>
<use f='src/src/sys/dev/pci/virtio.c' l='849' u='c'/>
<use f='src/src/sys/dev/pci/virtio.c' l='886' u='c'/>
