Re: [RFC] virtio testing framework
- Reply: Mario Marietto : "Re: [RFC] virtio testing framework"
- In reply to: Mario Marietto : "Re: [RFC] virtio testing framework"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 31 May 2024 04:03:25 UTC
Not sure about the followup, but the patch I describe in the original post allows us to write and run tests for virtio drivers inside a VM. I originally wrote this because we have tests for the virtiofs paravirt device where we need to run both the paravirt driver and the device emulation in the same machine. The virtio stack is not designed for this - it expects the virtio driver to be running in the guest, and device emulation to be running in the host. This patchset introduces a way to emulate a virtio device in the guest for the purpose of running these virtiofs tests. The links in the original email describe the design in more detail, but just to reiterate, the code in this patch makes no functional changes to existing code. --Emil On Thu, May 30, 2024 at 6:19 PM Mario Marietto <marietto2008@gmail.com> wrote: > Can someone explain to me what the purpose of what you are talking about ? > > > On Thu, May 30, 2024 at 10:38 PM Tomek CEDRO <tomek@cedro.info> wrote: > >> Awesome!! Congrats :-) >> >> Here is some example of running NuttX RTOS on RV in a web browser using >> TinyEMU + VirtIO :-) >> >> https://github.com/lupyuen/nuttx-tinyemu >> >> -- >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >> >> On Thu, May 30, 2024, 22:16 Emil Tsalapatis <emil@etsalapatis.com> wrote: >> >>> 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 >>> >> > > -- > Mario. >