[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