Stefan Hajnoczi <stefa...@gmail.com> writes: > On Mon, Mar 31, 2025 at 6:39 AM Alex Bennée <alex.ben...@linaro.org> wrote: >> The unikernel utilizes rcore-os's no_std VirtIO drivers to discover and >> initialize a range of VirtIO devices. > > https://github.com/rcore-os/virtio-drivers > > I noticed that VIRTIO_F_VERSION_1, VIRTIO_F_RING_PACKED, and hardware > device support are missing according to the readme. Those are > important features for real-world test coverage.
At the moment most of the testing is around feature negotiation so we don't get to the point that we are need packed virtqs. However it would be useful to upstream such support for their use generally - I know there are some downstream projects that have stuff to upstream in due course. The original idea for the feature bit tests was to utilise the kernels kunit framework. However that was outside the scope of what kunit which is really focused on testing kernel internals rather than the HW interface. We did consider expanding the kvm-unit-test uni-kernels but that would either involve importing kernel bits or a fairly big C re-implementation of it. At least by expanding the rcore-os drivers we will have two different driver stacks in two different languages. > Or is the idea to use the unikernel for low-level device > initialization and the Linux image for tests that do I/O? So far the rootfs images get by far the largest coverage because they can more easily trigger a whole range of conditions. While VirtIO is intended to be OS and hypervisor agnostic Linux remains the system with the widest and most functional coverage of the interfaces. > > Stefan -- Alex Bennée Virtualisation Tech Lead @ Linaro