> We are mentoring Matteo who is working on his Master thesis at University > of Pisa. His main effort is to provide crates for virtio drivers (e.g. > virtqueue, driver-specific request/reply processing, etc.) that can be > generic enough to be used in different OSes, providing the right > abstraction. > We pointed out to this series and he would like to collaborate. > Matteo and others can add more on this of course :-) > Feel free to continue in-list or off-list for sync.
Hello, As Stefano said, our purpose is to provide generic OS-independent crates for virtio drivers. To begin working on it, I started from the VirtIO framework introduced by this patchset and extended it to support the virtio-rng driver, both to take confidence with the current implementation and also having at disposal a simple driver for tests. This means that I also had to add the HwRandom wrappers. You can find the virtio_rng source code in the following repository: https://github.com/matteogiugni/rust-virtio-rng-driver You can find the HwRandom extension to this patchset in the following repository: https://github.com/matteogiugni/linux/tree/virtio-base at rust/kernel/HwRng.rs I have recently seen that you implemented yourself the HwRandom wrapper, which followed a different approach from mine, but did not have the time yet to study it. I used the same pattern as in miscdevice.rs registration instead. The framework was missing a few bindings for my driver and in particular the scan callback, you can check the modifications in the commits. The driver is a simple baseline that can be optimized and improved. After the driver implementation I moved to the implementation of the generic Virtqueue crate. I am currently working on it and i will be pushing the current work soon in this branch of the repository: https://github.com/matteogiugni/linux/tree/rust-virtqueue The aim is to make it work with Linux at least, with your implementation of the VirtIO framework and then extract the OS-independent logic. This is just a recap of what i am currently doing to get in sync with you, feel free to look at it and ask whatever question you please or problem you see. Kind Regards, Matteo Giugni.

