desc 28 kernel/virtio_disk.c struct virtq_desc *desc; desc 121 kernel/virtio_disk.c disk.desc = kalloc(); desc 124 kernel/virtio_disk.c if(!disk.desc || !disk.avail || !disk.used) desc 126 kernel/virtio_disk.c memset(disk.desc, 0, PGSIZE); desc 134 kernel/virtio_disk.c *R(VIRTIO_MMIO_QUEUE_DESC_LOW) = (uint64)disk.desc; desc 135 kernel/virtio_disk.c *R(VIRTIO_MMIO_QUEUE_DESC_HIGH) = (uint64)disk.desc >> 32; desc 176 kernel/virtio_disk.c disk.desc[i].addr = 0; desc 177 kernel/virtio_disk.c disk.desc[i].len = 0; desc 178 kernel/virtio_disk.c disk.desc[i].flags = 0; desc 179 kernel/virtio_disk.c disk.desc[i].next = 0; desc 189 kernel/virtio_disk.c int flag = disk.desc[i].flags; desc 190 kernel/virtio_disk.c int nxt = disk.desc[i].next; desc 247 kernel/virtio_disk.c disk.desc[idx[0]].addr = (uint64) buf0; desc 248 kernel/virtio_disk.c disk.desc[idx[0]].len = sizeof(struct virtio_blk_req); desc 249 kernel/virtio_disk.c disk.desc[idx[0]].flags = VRING_DESC_F_NEXT; desc 250 kernel/virtio_disk.c disk.desc[idx[0]].next = idx[1]; desc 252 kernel/virtio_disk.c disk.desc[idx[1]].addr = (uint64) b->data; desc 253 kernel/virtio_disk.c disk.desc[idx[1]].len = BSIZE; desc 255 kernel/virtio_disk.c disk.desc[idx[1]].flags = 0; // device reads b->data desc 257 kernel/virtio_disk.c disk.desc[idx[1]].flags = VRING_DESC_F_WRITE; // device writes b->data desc 258 kernel/virtio_disk.c disk.desc[idx[1]].flags |= VRING_DESC_F_NEXT; desc 259 kernel/virtio_disk.c disk.desc[idx[1]].next = idx[2]; desc 262 kernel/virtio_disk.c disk.desc[idx[2]].addr = (uint64) &disk.info[idx[0]].status; desc 263 kernel/virtio_disk.c disk.desc[idx[2]].len = 1; desc 264 kernel/virtio_disk.c disk.desc[idx[2]].flags = VRING_DESC_F_WRITE; // device writes the status desc 265 kernel/virtio_disk.c disk.desc[idx[2]].next = 0;