Virtio 1.0: Paravirtualized I/O For KVM and Beyond
Virtio 1.0: Paravirtualized I/O For KVM and Beyond
Virtio 1.0: Paravirtualized I/O For KVM and Beyond
0
Paravirtualized I/O for KVM and beyond
Select
... Reset features
Check device
Driver accepted features Features
Failed
OK OK
void
virtqueue_add_sgs(struct virtqueue *vq,
struct scatterlist sg[],
unsigned int out_sgs,
unsigned int in_sgs,
void *data, gfp_t gfp);
void *virtqueue_get_buf(
struct virtqueue *vq,
unsigned int *len);
Descriptor table
Index Addr Len Flags Next
0
1
...
Device Driver
Driver Device
11 INTERNAL ONLY | PRESENTER NAME
Adding buffers to the vring
Driver puts scatter-gather list into descriptor table, adds head
index to available ring, and then kicks device.
Descriptor table
Index Addr Len Flags Next
0 0x8000000000000000 4096 NEXT 1
1 0x8000000000040000 128 WRITE 0
...
Descriptor table
Index Addr Len Flags Next
0 0x8000000000000000 4096 NEXT 1
1 0x8000000000040000 128 WRITE 0
...
My blog: http://blog.vmsplice.net/
My email: [email protected]