> virtio makes things a bit trickier though. There's a shared ring queue > between the host and guest. The ring queue is lock-less and depends on > the ability to atomically increment ring queue indices to be SMP safe. > Using a copy-API wouldn't be a problem for QEMU since the host and guest > are always running in lock-step. A copy API is actually needed to deal > with differing host/guest alignment and endianness.
That seems a rather poor design choice, as many architectures don't have an atomic increment instruction. Oh well. Paul