QEMU Status Report

Alex Bennée

KVM Forum 2018

Happy Birthday

QEMU is 15 this year

Sorry, your browser does not support SVG.

0.1 Release

From: https://www.winehq.org/pipermail/wine-devel/2003-March/015577.html

Hi,

The first release of the QEMU x86 emulator is available at
http://bellard.org/qemu/. QEMU achieves a fast user space Linux x86
emulation on x86 and PowerPC Linux hosts by using dynamic translation.
Its main goal is to be able to run the Wine project on non-x86
architectures.

Fabrice.

Early Milestones

  • April 2003 Savanah goes live
  • June 2003 0.4 initial system emulation
  • April 2005 0.7 cross-compile with linux-user
  • May 2006 0.8 ARM sysemu, MIPS linux-user

Commit History

qemu-commit-history.png

In that time…

  • 1.3 million lines of code
  • 64k commits
  • 1448 contributors

Effort

  • 400 person-years
  • $54 million

This Cycle

a cycle

Totals

  • 6908 Commits (8% un-reviewed)
  • 635 merges
  • 77 maintainers (of 123)
  • 351 authors

Growth Areas

which areas with most change

Launchpad Bugs

https://www.qemu.org/contribute/report-a-bug/

CVEs

25 CVEs

cves.png

Feature Releases

2.11 13th December 2017
2.12 24th April 2018
3.0 14th August 2018

Stable Releases

2.10.2 18th December 2017
2.11.1 14th February 2018
2.11.2 26th June 2018
2.12.1 2nd August 2018

Word Cloud

qemu-wordcloud.png

Features

Hardware assisted virtualization

  • HVF (MacOS)
  • WHPX (Windows)

Spectre

Sorry, your browser does not support SVG.

New Devices

  • RDMA (Remote RAM)
  • EDID
  • SMMUv3 (arm)

TCG Emulation

  • RISC-V
  • aarch64 BE (linux-user)

TCG Internals

  • MTTCG (hppa, i386/x86_64, s390x, xtensa)
    • multi-threaded translation
  • SoftFloat TNG
  • decodetree.py

System Models

  • RISC-V (SiFive U, Spike, Virt)
  • Raspberry Pi 3
  • i.MX6 UltraLite 14x14 EVK

Micro-controller models

  • BBC Microbit
  • ARM MPS2 & MPS2 TZ (ARM IOT Kit)
  • SiFive E

Outreach

  • BBC Microbit/cortex-m0
    • Julia Suvorova (Outreachy)
    • Steffen Görtz (GSoC)
  • Patchew REST API improvements
    • Shubham Jain
  • Qtest Driver Framework
    • Emanuele Esposito
  • Vulkan-ize VirGL
    • Nathan Gauër

Testing

  • –enable-sanitizers
  • Avocado Acceptance
  • TCG Tests
  • QEMU's Synchronization Profiler (QSP)

Deprecated Features

  • GTK 2/SDL 1
  • Hosts
    • AIX
  • Backends
    • Itanium (ia64), PARisc (hppa)
  • ppcemb

Top Trumps

top trump card

Authors

author breakdown

Author Breakdown

author breakdown

Reviewers

review breakdown

Testers

Top testers

Thanks

Extra Slides

Maintainers

maintainer history

TLD Breakdown

TLDs