[RFC] virtio testing framework

From: Emil Tsalapatis <emil_at_etsalapatis.com>
Date: Thu, 30 May 2024 20:12:38 UTC
Hi everyone,

    while developing a virtiofs kernel driver I have written a debug virtio
transport to test virtio drivers inside a VM without requiring nested
virtualization or support from the host. The transport allows paravirt
devices to be emulated in local userspace instead of a host, so we can
create paravirt devices and test them as necessary. For virtiofs in
particular, it allows us to reuse the existing FUSE tests since we can now
run both the virtiofs driver and the FUSE server (which is normally in the
host) in a single machine.

I have uploaded the WIP code [here <https://reviews.freebsd.org/D45370>],
and an overview of the design [here
<https://gist.github.com/etsal/4280b6f16c1815d64ffda7ecce0b66f5>]. The
patch has a ways to go, and currently only supports virtio-blk device
emulation as a PoC, but feedback is welcome and appreciated. Please also
let me know if there is interest in using this for testing other virtio
devices apart from virtiofs.

--Emil