Open source machine emulator and virtualizer

Technologies
c, python, linux, rust
Topics
systems programming, kernel, compiler, emulator, hypervisor
Open source machine emulator and virtualizer
The QEMU Project includes the QEMU open source machine emulator and virtualizer and also acts as an umbrella organization for the KVM Linux kernel module and rust-vmm community. When used as a machine emulator, QEMU can run operating systems and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance. When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, ARM, server and embedded PowerPC, and S390 guests.

Projects

Contributor
Christopher Acosta
Mentor
Stefano Garzarella, German Maglione
Organization
QEMU
A sandboxing tool for virtiofsd
Virtiofs is a shared file system that lets virtual machines access a directory tree on the host. Unlike existing approaches, it is designed to offer...
Contributor
Hawkins Jiawei
Mentor
Eperezma
Organization
QEMU
Add virtio-net Control Virtqueue state restore support
Virtio-net device uses Control Virtqueue(CVQ) for changing device parameters. For some devices, such as vDPA, its CVQ is passed from Guest’s driver...
Contributor
Kariiem
Mentor
Warner Losh
Organization
QEMU
Improving FreeBSD User Emulation of the Armv7 Architecture
The proposal is about improving the QEMU emulator for the armv7 architecture on FreeBSD OS, it's goal is to get a simple C++ hello-world program to...
Contributor
Mihnea Buzatu
Mentor
Marc-Andre L
Organization
QEMU
Out-of-process RDP server for QEMU
QEMU is able to export its display over D-Bus. We can create a server that uses the provided API to export the display over the network. There is...
Contributor
Tage Johansson
Mentor
Richard Jones
Organization
QEMU
Rust bindings for libnbd
Network Block Device (NBD) is a protocol for exporting block devices, either between processes or across the network. Libnbd is a client library for...
Contributor
techiepriyansh
Mentor
Stefano Garzarella, German Maglione
Organization
QEMU
Sibling VM communication in vhost-user-vsock
The vhost-user-vsock Rust application emulates a virtio-vsock device in an external process and provides the hybrid VSOCK interface over AF_UNIX...