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
Jinhao Fan
Mentor
Klaus Jensen, Keith Busch
Organization
QEMU
NVMe Emulation Performance Optimization
QEMU-NVMe is an important tool for developers to experiment with new features in the NVMe stack. However, its emulation performance has failed to...
Contributor
Ramyak mehra
Mentor
Andreea Florescu, Sergii Glushchenko
Organization
QEMU
Extend aarch64 support in rust-vmm/vmm-reference
This project aims to extend the support for aarch64 on rust-vmm/vmm-reference. rust-vmm enables the community to build custom VMM solutions. It...
Contributor
richyliu
Mentor
alxndr, Bandan
Organization
QEMU
Snapshot/restore for fuzzing with QEMU
Add a new virtual device to QEMU to interface with a custom snapshot/restore functionality. Modified memory is kept track of by instrumenting the TCG...
Contributor
Zhi Guo
Mentor
Stefano Garzarella
Organization
QEMU
VIRTIO_F_IN_ORDER support for virtio devices
VIRTIO_F_IN_ORDER is a new feature presented in VIRTIO 1.1. As mentioned on the project description page, VIRTIO_F_IN_ORDER is a feature that devices...