> 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.

Reply via email to