[Rust-VMM] Call for Google Summer of Code 2021 project ideas

Alex Bennée alex.bennee at linaro.org
Fri Feb 12 14:46:09 UTC 2021


Sergio Lopez <slp at redhat.com> writes:

> On Fri, Feb 12, 2021 at 01:22:43PM +0000, Florescu, Andreea wrote:
>> Hey Stefan,
>> 
>> 
>> Thanks for taking care of organizing GSoC, and for allowing rust-vmm to also participate under the QEMU umbrella!
>> 
>> I am a bit unsure of how can we propose projects related to rust-vmm.
>> 
>> We did a bit of brainstorming in our team, and we came up with 3 project ideas.
>> 
>> I'll just paste them below, but please let me know if we were supposed to propose them some other way.
>> 
>> 
>> === Implement the Virtio Console device in Rust ===
>> 
>> '''Summary:''' Implement the basic emulation for the Virtio Console device in Rust
>> 
>> Implement the basic functionality (excluding the optional features:
>> VIRTIO_CONSOLE_F_SIZE, VIRTIO_CONSOLE_F_MULTIPORT, or VIRTIO_CONSOLE_F_EMERG_WRITE)
>> of the Virtio Console Device, using the Virtio building blocks (queue implementations,
>> VirtioDevice traits) defined in rust-vmm/vm-virtio. The virtio console device uses
>> one virtio queue for transmitting data, and one virtio queue for receiving data.
>> The implementation can be extended to also support a subset of the previously
>> mentioned optional features.
>
> FWIW, libkrun already has support for virtio-console with the basic
> functionality and VIRTIO_CONSOLE_F_SIZE, and this code could be easily
> borrowed for implementing it in some rust-vmm crate:
>
> https://github.com/containers/libkrun/blob/main/src/devices/src/virtio/console

Nevertheless we (Project Stratos) are quite interested in seeing
stand-alone VirtIO backends in Rust and experimenting with how easy it
is to plug them into different hypervisors (e.g. via KVM/vhost-user and
Xen/IOREQ).

VirtIO console seems like a simple enough device to experiment with.
Alas my Rust is still very much at the newbie stage but I'll happily
help with patch review and general VirtIO questions. 

>> '''Links:'''
>> * About rust-vmm: https://github.com/rust-vmm/community
>> * rust-vmm/vm-virtio: https://github.com/rust-vmm/vm-virtio
>> * virtio-console spec: https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html#x1-2550003
>> 
>> '''Details:'''
>> * Skill level: intermediate
>> * Language: Rust
>> * Mentor: iul at amazon.com
>> * Suggested by: fandree at amazon.com<mailto:fandree at amazon.com>

I've already done some GSoC mentoring for QEMU and nowadays the program
does suggest having backup mentors to help fill in the gaps when the
primary mentor is unavailable.

-- 
Alex Bennée



More information about the Rust-vmm mailing list