idx                65 kernel/virtio.h   uint16 idx;   // driver will write ring[idx] next
idx                79 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               238 kernel/virtio_disk.c   struct virtio_blk_req *buf0 = &disk.ops[idx[0]];
idx               247 kernel/virtio_disk.c   disk.desc[idx[0]].addr = (uint64) buf0;
idx               248 kernel/virtio_disk.c   disk.desc[idx[0]].len = sizeof(struct virtio_blk_req);
idx               249 kernel/virtio_disk.c   disk.desc[idx[0]].flags = VRING_DESC_F_NEXT;
idx               250 kernel/virtio_disk.c   disk.desc[idx[0]].next = idx[1];
idx               252 kernel/virtio_disk.c   disk.desc[idx[1]].addr = (uint64) b->data;
idx               253 kernel/virtio_disk.c   disk.desc[idx[1]].len = BSIZE;
idx               255 kernel/virtio_disk.c     disk.desc[idx[1]].flags = 0; // device reads b->data
idx               257 kernel/virtio_disk.c     disk.desc[idx[1]].flags = VRING_DESC_F_WRITE; // device writes b->data
idx               258 kernel/virtio_disk.c   disk.desc[idx[1]].flags |= VRING_DESC_F_NEXT;
idx               259 kernel/virtio_disk.c   disk.desc[idx[1]].next = idx[2];
idx               261 kernel/virtio_disk.c   disk.info[idx[0]].status = 0xff; // device writes 0 on success
idx               262 kernel/virtio_disk.c   disk.desc[idx[2]].addr = (uint64) &disk.info[idx[0]].status;
idx               263 kernel/virtio_disk.c   disk.desc[idx[2]].len = 1;
idx               264 kernel/virtio_disk.c   disk.desc[idx[2]].flags = VRING_DESC_F_WRITE; // device writes the status
idx               265 kernel/virtio_disk.c   disk.desc[idx[2]].next = 0;
idx               269 kernel/virtio_disk.c   disk.info[idx[0]].b = b;
idx               272 kernel/virtio_disk.c   disk.avail->ring[disk.avail->idx % NUM] = idx[0];
idx               277 kernel/virtio_disk.c   disk.avail->idx += 1; // not % NUM ...
idx               288 kernel/virtio_disk.c   disk.info[idx[0]].b = 0;
idx               289 kernel/virtio_disk.c   free_chain(idx[0]);
idx               312 kernel/virtio_disk.c   while(disk.used_idx != disk.used->idx){