idx                68 kernel/virtio.h   uint16 idx;       // driver will write ring[idx] next
idx                82 kernel/virtio.h   uint16 idx;   // device increments when it adds a ring[] entry
idx               202 kernel/virtio_disk.c alloc3_desc(int *idx)
idx               205 kernel/virtio_disk.c     idx[i] = alloc_desc();
idx               206 kernel/virtio_disk.c     if (idx[i] < 0) {
idx               208 kernel/virtio_disk.c         free_desc(idx[j]);
idx               227 kernel/virtio_disk.c   int idx[3];
idx               229 kernel/virtio_disk.c     if (alloc3_desc(idx) == 0) {
idx               241 kernel/virtio_disk.c   struct virtio_blk_req *buf0 = &disk.ops[idx[0]];
idx               250 kernel/virtio_disk.c   disk.desc[idx[0]].addr = (uint64)buf0;
idx               251 kernel/virtio_disk.c   disk.desc[idx[0]].len = sizeof(struct virtio_blk_req);
idx               252 kernel/virtio_disk.c   disk.desc[idx[0]].flags = VRING_DESC_F_NEXT;
idx               253 kernel/virtio_disk.c   disk.desc[idx[0]].next = idx[1];
idx               255 kernel/virtio_disk.c   disk.desc[idx[1]].addr = (uint64)b->data;
idx               256 kernel/virtio_disk.c   disk.desc[idx[1]].len = BSIZE;
idx               258 kernel/virtio_disk.c     disk.desc[idx[1]].flags = 0; // device reads b->data
idx               260 kernel/virtio_disk.c     disk.desc[idx[1]].flags = VRING_DESC_F_WRITE; // device writes b->data
idx               261 kernel/virtio_disk.c   disk.desc[idx[1]].flags |= VRING_DESC_F_NEXT;
idx               262 kernel/virtio_disk.c   disk.desc[idx[1]].next = idx[2];
idx               264 kernel/virtio_disk.c   disk.info[idx[0]].status = 0xff; // device writes 0 on success
idx               265 kernel/virtio_disk.c   disk.desc[idx[2]].addr = (uint64)&disk.info[idx[0]].status;
idx               266 kernel/virtio_disk.c   disk.desc[idx[2]].len = 1;
idx               267 kernel/virtio_disk.c   disk.desc[idx[2]].flags = VRING_DESC_F_WRITE; // device writes the status
idx               268 kernel/virtio_disk.c   disk.desc[idx[2]].next = 0;
idx               272 kernel/virtio_disk.c   disk.info[idx[0]].b = b;
idx               275 kernel/virtio_disk.c   disk.avail->ring[disk.avail->idx % NUM] = idx[0];
idx               280 kernel/virtio_disk.c   disk.avail->idx += 1; // not % NUM ...
idx               294 kernel/virtio_disk.c   disk.info[idx[0]].b = 0;
idx               295 kernel/virtio_disk.c   free_chain(idx[0]);
idx               318 kernel/virtio_disk.c   while (disk.used_idx != disk.used->idx) {