[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:
>> 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

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