an virtualization@, many virtio developers live there.
you mean virtualization@xxxxxxxxxxxxxx ?
2. should start with a patch to the virtio-pci spec to document what
you're doing
Where can I find that spec?
+ /* Transfer data */
+ if (virtqueue_add_buf(vq, sg_list, o_page, i_page, (void *)1)>= 0) {
+ virtqueue_kick(vq);
+ /* Chill out until it's done with the buffer. */
+ while (!virtqueue_get_buf(vq,&count))
+ cpu_relax();
+ }
+
This is pretty gross, and will burn lots of cpu if the hypervisor
processes the queue asynchronously.
It doesnt, at present... It could be changed fairly easily ithout breaking anything if that happens though.