<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-09-30T08:56:16+00:00</updated><id>/feed.xml</id><title type="html">QEMU</title><subtitle>QEMU is a FAST! processor emulator
</subtitle><entry><title type="html">Bugpocalypse, or reporting bugs in an AI age</title><link href="/2026/09/23/bugs/" rel="alternate" type="text/html" title="Bugpocalypse, or reporting bugs in an AI age" /><published>2026-09-23T12:00:00+00:00</published><updated>2026-09-23T12:00:00+00:00</updated><id>/2026/09/23/bugs</id><content type="html" xml:base="/2026/09/23/bugs/"><![CDATA[<blockquote>
  <p>“…perfect software doesn’t exist. No one in the brief history of
computing has ever written a piece of perfect software.”</p>

  <p><cite>- Andrew Hunt, The Pragmatic Programmer, Chapter 4</cite></p>
</blockquote>

<p>In June this year we updated our <a href="/contribute/security-process">security
process</a> to make the reporting of
security bugs broadly the same procedure as reporting <a href="https://www.qemu.org/contribute/report-a-bug/">other
bugs</a>. The only
difference is asking reporters to set GitLab’s confidential flag to
limit its visibility to project members. The previous email address
routed through a volunteer had become unsustainable as the rate of
reports rose. While more people can see the reports now, there is at
least a chance to distribute the triage work across more of the
projects volunteers.</p>

<h2 id="the-state-of-the-bug-tracker">The state of the bug tracker</h2>

<p>If you look at the project’s bug stats over the last year, you can see
an inflection point around about March. This seems to coincide with
the point where LLMs reached a new level of capability in their
ability to diagnose security issues in code.</p>

<p><img src="/screenshots/2026-09-culm-issues.svg" alt="Issue Tracker over Last Year" /></p>

<p>Dramatic as this graph is, it doesn’t even count the multiple times we
have had to report otherwise inactive GitLab accounts suddenly
spamming the bug tracker with AI slop bugs. The record was one
reporter who raised 120 seemingly valid issues in the space of a few
minutes.</p>

<p>As time has gone on it has become harder to identify slop, and the
reports have become more plausible. We have had to debate how much
effort we should spend analysing those reports out of concern we could
be missing genuine issues in the flood.</p>

<h2 id="verbosity-has-a-cost">Verbosity has a cost</h2>

<p>As a project, we’ve tweaked our <a href="https://gitlab.com/qemu-project/qemu/-/tree/master/.gitlab/issue_templates?ref_type=heads">issue
templates</a>
a number of times to encourage users to include as much relevant
information as possible when reporting bugs. From a developer point of
view we want to know the precise versions and command lines used to
help us replicate the issues. An excellent bug report is one that
comes with a simple reproducer test case that is easily run.</p>

<p>It turns out as LLM agents abilities have improved so has their
ability and willingness to fill out the relevant details. Often they
go much further than the template by including a long-form root-cause
analysis of why we are seeing the failure. The quality of this text
can vary a lot, but we usually get at least a test case and an example
command line to run it.</p>

<p>However, that long text does come at a cost, and it will eventually
need to have a human sit down and read it to understand what’s going
on.</p>

<p>For example consider this <a href="https://gitlab.com/qemu-project/qemu/-/work_items/4174">iommu migration
bug</a> which is
nearly 4000 words long and includes a from scratch test harness to
modify a migration stream and trigger the issue. Once you spend awhile
reading it you can work out that what is at issue is if you mess with a
migration stream you can trigger the receiving end to abort() when it
gets junk. Is this really a critical issue? It’s hard to tell, but the
text does seem persuasive - it will probably need a migration expert
to look at it and give their opinion.</p>

<p>Humans, unlike machines, get tired after spending many hours reading
through walls of plausible text from a seemingly never-ending stream
of incoming reports.</p>

<p>It is with some sense of irony that we’ve been experimenting with
using LLMs to do the initial triage of bugs so we can better
distribute the load by routing bugs to the appropriate developer. But
still eventually a human has to assess and decide what to do about it.</p>

<p>We should also consider another fact which is….</p>

<h2 id="not-all-code-is-created-equal">Not All Code is Created Equal</h2>

<p>QEMU’s git history goes back to 2003 and has grown a lot over the
years as it has gained additional capabilities. Originally intended to
help run Windows applications on other architectures via
<a href="https://www.winehq.org/">Wine</a>, it has grown system emulation
facilities for numerous architectures as well as support for a number
of different hypervisors.</p>

<p>In that time, it has also gained support for numerous architectures,
boards, and features totalling between 5 million to 11.5 million lines
of code (depending on how you count). To keep track of that large
codebase, we rely on our hardworking maintainers. This is all
documented in the top-level
<a href="https://gitlab.com/qemu-project/qemu/-/raw/master/MAINTAINERS?ref_type=heads">MAINTAINERS</a>
file.</p>

<p><img src="/screenshots/qemu-maint-chart-26.svg" alt="Maintainer Coverage" /></p>

<p>Compared to a lot of Free, Libre, and Open Source (FLOSS) projects,
QEMU is quite lucky in that quite a high proportion of maintainers
have jobs that allow them to actively look after the code. Around
two-thirds of the code has maintainers who are able to review and
queue patches for the upstream tree as well as triage bugs and
undertake the architectural clean-up all projects need to go through
as codebases mature.</p>

<p>In general, those paid to look after QEMU worry about the
<a href="https://www.qemu.org/docs/master/system/security.html">virtualisation use
case</a>, as this
is where the risk of untrusted guests trying to exploit the hypervisor
and VMM is the greatest. The whole TCG accelerator is excluded from
this security boundary specifically because it was never written with
security requirements in mind.</p>

<p>Generally, we expect people running images on the
<a href="https://www.qemu.org/docs/master/system/arm/digic.html">numerous</a>
<a href="https://www.qemu.org/docs/master/system/or1k/or1k-sim.html">boutique</a>
<a href="https://www.qemu.org/docs/master/system/ppc/amigang.html">platforms</a>
QEMU can emulate to have a fairly good idea of the provenance of the
code they are running. Those using QEMU for security research are
expected to take extra steps to contain potential exploits of QEMU
itself (for example by using the <a href="https://libvirt.org/drvqemu.html#driver-security-architecture">security features of
libvirt</a>).</p>

<p>Nearly half of the currently open confidential issues are in
undermaintained areas of the codebase. This means that, although they
have been triaged, they are unlikely to be looked at by anyone. It’s
also not particularly surprising that if you go looking around in
dusty areas of the codebase you are likely to find warts that have
been removed from code that is used in real production environment.</p>

<h2 id="we-still-want-help">We still want help</h2>

<p>Ultimately, the QEMU project is still a community of humans
collaborating on a key component of the FLOSS virtualisation stack.
People participate for many reasons, but no developer has signed up to
spend their days wading through reams of generated slop.</p>

<p>The ability to submit drive-by patches to fix that annoying behaviour
in something you use has long been an feature of FLOSS, and we want to
take advantage of that. Some of those passing by end up hanging around
the project and taking on bigger jobs and more responsibilities, and
that is the way we try and sustain QEMU’s developer community.</p>

<p>With that in mind, I thought I would mention some things to keep in
mind if you want to raise a bug in our bug tracker.</p>

<p><em>Focus on areas you use</em></p>

<p>Anyone can aim an LLM at some of the dustier corners of the QEMU code
base and find issues. That’s fine if you’re looking for candidates for
your first patch submission to the project. However, if you’re just
looking to raise bugs for the sake of it, please reconsider what your
motivation is. If you truly want to help the project, maybe consider
looking at some of the existing bugs and helping out there. We have
plenty.</p>

<p><em>Review the output of AI tools</em></p>

<p>We don’t ban the use of LLMs in the bug tracker, because they
obviously have their uses in identifying problems with the code.
However, they are not infallible, so please be upfront about their use
so people reading the report are fully informed of the origin of the
report. Also, please review the text and see if you can edit down some
of the more verbose passages that don’t add useful information or are
engaging in speculation as to the underlying failure reason. If your
agent has written an elaborate harness to exercise the bug, then tell
it to rewrite the test using QEMU’s existing <a href="https://www.qemu.org/docs/master/devel/testing/index.html">testing
framework</a>.</p>

<p><em>Propose a patch</em></p>

<p>If you’ve automated the process of finding bugs, you might as well go
a step further and propose a patch to fix the issue. Often, reading a
patch will give a clearer idea of the issue than wading through all
the descriptive text. And if the patch turns into a massive
rearchitecting of the codebase, then maybe consider that the LLM’s
model of how things might work could be flawed.</p>

<h2 id="we-have-been-here-before">We have been here before</h2>

<p>Modern LLMs are certainly proving to be disruptive, but this is not
the first time a new technology has caused ripple effects throughout
the FLOSS world. The introduction of static analysers, improved
compiler diagnostics, sanitisers, and fuzzers have all been
accompanied by code churn as the issues they find have been addressed.</p>

<p>I expect the same will eventually be true of this wave even though it
feels larger than previous ones. We have to hope that at the end of
this disruptive phase, we will have better, cleaner, and more reliable
software. And to achieve that, we will still need motivated human
engineers who understand the history and architecture of the codebase
and can shepherd it to the next release.</p>]]></content><author><name>Alex Bennée</name></author><category term="bugs" /><category term="ai" /><category term="policy" /><summary type="html"><![CDATA[“…perfect software doesn’t exist. No one in the brief history of computing has ever written a piece of perfect software.” - Andrew Hunt, The Pragmatic Programmer, Chapter 4]]></summary></entry><entry><title type="html">QEMU Google Summer of Code 2026 project report</title><link href="/2026/09/15/gsoc-2026-wrap-up/" rel="alternate" type="text/html" title="QEMU Google Summer of Code 2026 project report" /><published>2026-09-15T07:00:00+00:00</published><updated>2026-09-15T07:00:00+00:00</updated><id>/2026/09/15/gsoc-2026-wrap-up</id><content type="html" xml:base="/2026/09/15/gsoc-2026-wrap-up/"><![CDATA[<p>QEMU participated in <a href="https://summerofcode.withgoogle.com/">Google Summer of
Code</a> 2026 with 4 contributors working on
open source internships from May through August. The contributors gained
experience in open source software development working on 12-week projects.</p>

<p>This post covers the GSoC projects that QEMU had this summer.</p>

<h2 id="fast-snapshot-load-in-qemu-aadeshveer-singh">Fast Snapshot Load in QEMU (Aadeshveer Singh)</h2>
<p>When virtual machine snapshots are loaded by QEMU, the entire contents of RAM
and all device state is loaded before the virtual machine can start executing.
A lazy approach is actually possible where the contents of RAM are loaded
on-demand when accessed by the virtual machine. This can significantly speed up
snapshot load times since virtual machines may have a large amount of RAM and
loading it upfront takes time.</p>

<p>Aadeshveer implemented fast snapshot load by taking advantage of QEMU’s
postcopy migration infrastructure, which monitors RAM accesses using Linux
userfaultfd(2) so that memory pages can be populated on-demand. A thread is
introduced to load RAM in the background while the virtual machine is already
running so that on-demand loading is minimized (it affects virtual machine
performance). Testing showed that fast snapshot load indeed provides a major
speed up.</p>

<p>Aadeshveer has written up a <a href="https://gist.github.com/Aadeshveer/6a16579aed93f5d483bbb9419ecd2211">project
report</a> as
well as a <a href="https://aadeshveer.bearblog.dev/a-summer-with-qemu/">detailed
journal</a> if you would like
to learn more. This project was mentored by Peter Xu.</p>

<h2 id="support-x86-process-context-identifiers-pcid-in-coconut-svsm-tanish-desai">Support x86 Process Context Identifiers (PCID) in COCONUT-SVSM (Tanish Desai)</h2>
<p>Process Context Identifiers are an x86 CPU feature that improves context
switching performance. Without PCID, software has to flush the Translation
Lookaside Buffer (TLB) when context switching so that memory translations that
are no longer relevant in the new context are no longer used. PCID allows
translations from multiple address spaces (contexts) to exist in the TLB and
this can help if they are needed again in the near future.</p>

<p>Tanish implemented PCID support in COCONUT-SVSM, software used by confidential
virtual machines. This involved:</p>
<ol>
  <li>Creating a <a href="https://github.com/coconut-svsm/cpufeature">Rust crate for x86 CPUID feature descriptors</a> so that PCID functionality can be detected.</li>
  <li>Adding a PCID to each address space, including writing a bitmap allocator for the available 4,096 PCIDs.</li>
</ol>

<p>Tanish described this in more detail
<a href="https://tanish111.github.io/tanishd/blog.html">here</a>. This project was
mentored by Luigi Leonardi and Jörg Rödel.</p>

<h2 id="observability-support-for-coconut-svsm-nicola-ramacciotti">Observability Support for COCONUT-SVSM (Nicola Ramacciotti)</h2>
<p>Troubleshooting confidential virtual machines can be challenging because the
host is untrusted and does not have visibility into logs, traces, etc from
inside the virtual machine. Instead, an operating system running inside the
confidential virtual machine could extract logs and the new Observability and
Configuration Protocol (OCP) has been defined for this purpose.</p>

<p>Nicola implemented OCP in COCONUT-SVSM, creating the interface that software
inside the guest can use to read logs. A Linux device driver was also
implemented together with a userspace utility called svsm-tools that exposes
OCP functionality to list, read, and write data.</p>

<p>Nicola published a project report that goes into detail
<a href="https://github.com/n-ramacciotti/GSoC-2026-ocp-svsm">here</a>. This project was
mentored by Stefano Garzarella, Gerd Hoffmann, and Jörg Rödel.</p>

<h2 id="usb-device-redirection-for-qemu-rdp-uchout">USB Device Redirection for qemu-rdp (uchouT)</h2>
<p>qemu-rdp provides Remote Desktop Protocol functionality via QEMU’s
org.qemu.Display1 D-Bus interface so that the display, keyboard, mouse, and
other devices can be forwarded from a client to a virtual machine. USB
redirection is a missing feature that would allow USB devices to be plugged in
on the client and attached remotely to the virtual machine.</p>

<p>uchouT implemented support for QEMU’s <code class="language-plaintext highlighter-rouge">-device usb-redir</code> in qemu-rdp and
integrated with the RDP protocol’s URBDRC feature for tunneling USB traffic. In
the course of doing this, uchouT also contributed to the IronRDP Rust
implementation of RDP (qemu-rdp is built on top of it) and FreeRDP (an RDP
client).</p>

<p>uchouT covered this project in detail
<a href="https://uchout.moe/posts/gsoc-2026-final/">here</a>. This project was mentored by
Marc-André Lureau.</p>

<h2 id="conclusion">Conclusion</h2>
<p>Google Summer of Code brings together talented contributors who would like to
participate in open source with mentors from established open source projects.
Thanks to Google’s funding, our contributors were able to dedicate their time
this summer to implementing these features for QEMU and its ecosystem. We hope
to continue to see Aadeshveer, Tanish, Nicola, and uchouT in the open source
community.</p>

<p>If you are interested in applying to future rounds of Google Summer of Code,
keep an eye on the <a href="https://summerofcode.withgoogle.com/">GSoC website</a> for
announcements and timelines.</p>]]></content><author><name></name></author><category term="internships" /><category term="gsoc" /><summary type="html"><![CDATA[QEMU participated in Google Summer of Code 2026 with 4 contributors working on open source internships from May through August. The contributors gained experience in open source software development working on 12-week projects.]]></summary></entry><entry><title type="html">QEMU version 11.1.0 released</title><link href="/2026/08/11/qemu-11-1-0/" rel="alternate" type="text/html" title="QEMU version 11.1.0 released" /><published>2026-08-11T23:56:00+00:00</published><updated>2026-08-11T23:56:00+00:00</updated><id>/2026/08/11/qemu-11-1-0</id><content type="html" xml:base="/2026/08/11/qemu-11-1-0/"><![CDATA[<p>We’d like to announce the availability of the QEMU 11.1.0 release. This release contains 3200+ commits from 285 authors.</p>

<p>You can grab the tarball from our <a href="https://www.qemu.org/download/#source">download page</a>. The full list of changes are available <a href="https://wiki.qemu.org/ChangeLog/11.1">in the changelog</a>.</p>

<p>Highlights include:</p>

<ul>
  <li>Universal Flash Storage (UFS) emulation support for Write Booster (device-level caching) and Host-Initiated Defragmentation (HID) based on UFS 4.1 specification</li>
  <li>vhost-host-user support for offloading real-time clock handling from the hypervisor when using virtio-rtc</li>
  <li>GUI: improvements to virtual console handling/specifying of different character encoding and GTK/VNC improvements as well</li>
  <li>ARM: support for new architectural CPU features (too many to list here, see full changelog)</li>
  <li>ARM: support for new imx8mp-evk machine type (based on i.MX 8MM Evaluation kit)</li>
  <li>ARM: ‘virt’ board support for specifying cache topology, ‘hvf’ accelerator now supports nested virtualization and vGIC</li>
  <li>HPPA: updated to SeaBIOS-hppa v25 firmware, TLB insert fixes for HP-UX 9</li>
  <li>PowerPC: MPIPL support for PowerNV to preserve memory after an unexpected reset, as well as support for emulating a nest MMU</li>
  <li>RISC-V: ISA exstention support for big-endian, Zbr/xbr0p93, Zvfbfa, fractional LMUL on vector SHA instructions, KVM support for Zicbop and BFloat16 extensions, and more</li>
  <li>RISC-V: new board support for K230, support for Tenstorrent mvendorid, and other misc. fixes/features</li>
  <li>s390x: KVM support for ASTFLE facility 2 (for nested)</li>
  <li>and lots more…</li>
</ul>

<p>Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!</p>]]></content><author><name></name></author><category term="releases" /><category term="qemu 11.1" /><summary type="html"><![CDATA[We’d like to announce the availability of the QEMU 11.1.0 release. This release contains 3200+ commits from 285 authors.]]></summary></entry><entry><title type="html">QEMU version 11.0.0 released</title><link href="/2026/04/22/qemu-11-0-0/" rel="alternate" type="text/html" title="QEMU version 11.0.0 released" /><published>2026-04-22T16:11:00+00:00</published><updated>2026-04-22T16:11:00+00:00</updated><id>/2026/04/22/qemu-11-0-0</id><content type="html" xml:base="/2026/04/22/qemu-11-0-0/"><![CDATA[<p>We’d like to announce the availability of the QEMU 11.0.0 release. This release contains 2500+ commits from 237 authors.</p>

<p>You can grab the tarball from our <a href="https://www.qemu.org/download/#source">download page</a>. The full list of changes are available <a href="https://wiki.qemu.org/ChangeLog/11.0">in the changelog</a>.</p>

<p>Highlights include:</p>

<ul>
  <li>New “nitro” accelerator to run AWS Nitro Enclaves natively, and improved support for MSHV and WHPX accelerators.</li>
  <li>KVM: Support for CET virtualization.</li>
  <li>KVM: Reset support for SEV-SNP and TDX confidential VMs.</li>
  <li>virtio-gpu support for native context drivers and specifying a unique resolution for each output.</li>
  <li>TCG: in-tree support for C++ plugins.</li>
  <li>NFS block driver support for libnfs v6 and various improvements to curl/FUSE block drivers.</li>
  <li>ARM: support for CPU features FEAT_ASID2 and FEAT_E2H0.</li>
  <li>ARM: TCG emulation support for SME (Scalable Matrix Extension), and HVF accelation of SME2 on macos (if the host CPU supports it).</li>
  <li>HPPA: SeaBIOS-hppa v24 now implements the Astro PCI initializaiton (allowing for PCI VGA on 64-bit systems), improves upcoming HP-UX 64-bit support, and has initial support for multicell machines.  Prior versions also have fixes and updates for 64-bit/PAT support and other areas as well.</li>
  <li>HPPA: Emulation support for 64-bit CPUs with 40 and 44 bit address spaces, and 64-bit GDB support.</li>
  <li>LoongArch: KVM PMU migration support.</li>
  <li>LoongArch: TCG emulation support for LA v1.1, sc.q, llacq/screl/ and estimated reciprocal instructions.</li>
  <li>PowerPC: snapshot support for several ppc devices.</li>
  <li>RISC-V: ISA extensions support for Zilsd, Zclsd, ZALASR, and Smpmpmt.</li>
  <li>RISV-V: CPU support for MIPS P8700 CPUs, better reporting of CSR registers in ‘info registers’, and other fixes and improvements.</li>
  <li>s390: emulation support for “DIVIDE TO INTEGER” instruction.</li>
  <li>s390: support for booting from virtio-blk-pci devices.</li>
  <li>x86: CPU support for Diamond Rapids</li>
  <li>x86: support for a new “nitro” accelerator and machine type to run Nitro Enclaves natively under QEMU.</li>
  <li>and lots more…</li>
</ul>

<p>Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!</p>]]></content><author><name></name></author><category term="releases" /><category term="qemu 11.0" /><summary type="html"><![CDATA[We’d like to announce the availability of the QEMU 11.0.0 release. This release contains 2500+ commits from 237 authors.]]></summary></entry><entry><title type="html">Announcing QEMU Google Summer of Code 2026 internships</title><link href="/2026/02/20/gsoc-2026/" rel="alternate" type="text/html" title="Announcing QEMU Google Summer of Code 2026 internships" /><published>2026-02-20T07:00:00+00:00</published><updated>2026-02-20T07:00:00+00:00</updated><id>/2026/02/20/gsoc-2026</id><content type="html" xml:base="/2026/02/20/gsoc-2026/"><![CDATA[<p>QEMU is participating in <a href="https://summerofcode.withgoogle.com/">Google Summer of
Code</a> once again! Google Summer of Code
is an open source internship program with internships running May through
August. Would you like to experience contributing to an open source project?
This paid remote work internship opportunity is a great way to get involved!</p>

<p>Interns work with experienced QEMU developers who mentor them during the
internship. Code is submitted through the same open source process that all
QEMU developers follow. This gives interns experience with contributing to open
source software.</p>

<h2 id="find-out-if-you-are-eligible">Find out if you are eligible</h2>
<p>Information on who can apply for Google Summer of Code is
<a href="https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation">here</a>.</p>

<h2 id="select-a-project-idea">Select a project idea</h2>
<p>Look through the the <a href="https://wiki.qemu.org/Google_Summer_of_Code_2026">list of QEMU project
ideas</a> and see if there is
something you are interested in working on. Once you have found a project idea
you want to apply for, email the mentor for that project idea to ask any
questions you may have and discuss the idea further.</p>

<h2 id="submit-your-application">Submit your application</h2>
<p>You can <a href="https://summerofcode.withgoogle.com/">apply for Google Summer of Code</a>
from March 16th to 31st.</p>

<p>Good luck with your applications!</p>

<p>If you have questions about applying for QEMU GSoC, please email
<a href="mailto:stefanha@gmail.com">Stefan Hajnoczi</a> or ask on the <a href="https://webchat.oftc.net/?channels=qemu-gsoc">#qemu-gsoc IRC
channel</a>.</p>]]></content><author><name></name></author><category term="internships" /><category term="gsoc" /><summary type="html"><![CDATA[QEMU is participating in Google Summer of Code once again! Google Summer of Code is an open source internship program with internships running May through August. Would you like to experience contributing to an open source project? This paid remote work internship opportunity is a great way to get involved!]]></summary></entry><entry><title type="html">QEMU version 10.2.0 released</title><link href="/2025/12/24/qemu-10-2-0/" rel="alternate" type="text/html" title="QEMU version 10.2.0 released" /><published>2025-12-24T23:12:00+00:00</published><updated>2025-12-24T23:12:00+00:00</updated><id>/2025/12/24/qemu-10-2-0</id><content type="html" xml:base="/2025/12/24/qemu-10-2-0/"><![CDATA[<p>We’d like to announce the availability of the QEMU 10.2.0 release. This release contains 2300+ commits from 188 authors.</p>

<p>You can grab the tarball from our <a href="https://www.qemu.org/download/#source">download page</a>. The full list of changes are available <a href="https://wiki.qemu.org/ChangeLog/10.2">in the changelog</a>.</p>

<p>Highlights include:</p>

<ul>
  <li>9pfs shared filesystem support for FreeBSD hosts</li>
  <li>Live update support via new ‘cpr-exec’ migration mode, allowing reduced resource usage when updating VMs, and potential for re-using existing state/connections throughout update</li>
  <li>Performance improvements via switching to io_uring for QEMU’s main loop</li>
  <li>Lots of fixes/improvements for user-mode emulation</li>
  <li>ARM: support for CPU features FEAT_SCTLR2, FEAT_TCR2, FEAT_CSSC, FEAT_LSE128, FEAT_ATS1A, FEAT_RME_GPC2, FEAT_AIE, FEAT_MEC, and FEAT_GCS</li>
  <li>ARM: support for new ‘amd-versal2-virt’ board model, and improvements to existing ‘AST2600’/’AST2700’/’AST1030’ and ‘xlnx-zynqmp’ boards</li>
  <li>HPPA: Emulation support for an HP 715/64 workstation</li>
  <li>HPPA: Emulation support for NCR 53c710 SCSI controller and HP LASI multi-I/O chip (developed by Google Summer of Code contributor Soumyajyotii Ssarkar)</li>
  <li>PowerPC: Support for PowerNV11 and PPE42 CPU/machines</li>
  <li>PowerPC: FADUMP support for pSeries</li>
  <li>RISC-V: Numerous emulation fixes/improvements for various components</li>
  <li>s390x: virtio-pci performance improvements via irqfd</li>
  <li>and lots more…</li>
</ul>

<p>Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!</p>]]></content><author><name></name></author><category term="releases" /><category term="qemu 10.2" /><summary type="html"><![CDATA[We’d like to announce the availability of the QEMU 10.2.0 release. This release contains 2300+ commits from 188 authors.]]></summary></entry><entry><title type="html">QEMU at Google Summer of Code Mentor Summit 2025</title><link href="/2025/11/20/gsoc-2025-mentor-summit/" rel="alternate" type="text/html" title="QEMU at Google Summer of Code Mentor Summit 2025" /><published>2025-11-20T08:00:00+00:00</published><updated>2025-11-20T08:00:00+00:00</updated><id>/2025/11/20/gsoc-2025-mentor-summit</id><content type="html" xml:base="/2025/11/20/gsoc-2025-mentor-summit/"><![CDATA[<p>The Google Summer of Code (GSoC) Mentor Summit 2025 took place from October 23rd
to 25th in Munich, Germany. This event marks the conclusion of the annual
program, bringing together mentors from all over the world. QEMU had another
successful year with several interesting projects (details on our
<a href="https://summerofcode.withgoogle.com/programs/2025/organizations/qemu">organization page</a>),
and it was a pleasure for me to represent the QEMU community at the summit,
joining mentors from over 100 open source organizations to discuss the program,
share experiences, and talk about open source challenges.</p>

<h2 id="the-unconference">The Unconference</h2>

<p>The summit follows an “unconference” format. There is no pre-planned schedule;
instead, attendees propose sessions on the first day based on what they want to
discuss. Since the event moved to Munich this year, it was a great opportunity
for me to join and meet people from other communities face-to-face.</p>

<p><img src="/screenshots/2025-gsoc-mentor-summit.jpg" alt="gsoc mentor summit schedule" /></p>

<h2 id="lightning-talks">Lightning Talks</h2>

<p>During the “Lightning talks” session, mentors had a short slot to introduce
their projects. I presented the project I mentored this summer:
<strong>vhost-user devices in Rust on macOS and *BSD</strong>.</p>

<p>The student, <strong>Wenyu Huang</strong>, worked on extending <code class="language-plaintext highlighter-rouge">rust-vmm</code> crates
(specifically <code class="language-plaintext highlighter-rouge">vhost</code>, <code class="language-plaintext highlighter-rouge">vhost-user-backend</code>, and <code class="language-plaintext highlighter-rouge">vmm-sys-utils</code>) to support
vhost-user devices on non-Linux POSIX systems. This work is important for
portability, allowing <code class="language-plaintext highlighter-rouge">rust-vmm</code> components to run also on macOS and BSD.</p>

<p>You can find the full details and the code in the
<a href="https://github.com/uran0sH/GSoC2025-vhost-user-bsd-macos/blob/main/README.md">final project report</a>.</p>

<p>This project focused primarily on the <code class="language-plaintext highlighter-rouge">rust-vmm</code> ecosystem rather than QEMU
itself. This was possible thanks to QEMU acting as an umbrella organization,
allowing related projects like <code class="language-plaintext highlighter-rouge">rust-vmm</code> to participate in the program.</p>

<h2 id="sessions-and-networking">Sessions and Networking</h2>

<p>Networking with other mentors was a key part of the event. It was nice to see
that QEMU is well-recognized; many mentors I met were familiar with the project,
which made it easy to start conversations. We exchanged views on how to handle
the mentorship lifecycle, from interviewing GSoC applicants (and the impact of
AI on that process) to the coding phase. We shared tips on how to best help
students during the summer, such as setting up regular meetings and maintaining
effective communication.</p>

<p>I also attended several sessions covering different topics. The most interesting
discussions were:</p>

<ul>
  <li><strong>Operating System Summit:</strong> A gathering of maintainers from various kernels
(Linux, BSD, etc.) to connect and share updates.</li>
  <li><strong>Heterogeneous architectures:</strong> A discussion on how AI systems and workloads
are driving the requirement for heterogeneous architectures (GPUs, FPGAs, and
other accelerators).</li>
  <li><strong>Funding your open source project:</strong> A session on sustainability, focusing
on how other open source projects manage funding and resources.</li>
  <li><strong>GSoC feedback session:</strong> A meeting with the Google program admins to share
experiences and suggest improvements for next year.</li>
</ul>

<p>The “sticker table” and “chocolate table” are traditions of the summit.
I enjoyed trying chocolates from different countries. Unfortunately, I didn’t
have any QEMU stickers to share this time. We should definitely plan to bring
a stack for next year!</p>

<h2 id="looking-ahead">Looking Ahead</h2>

<p>We really believe that GSoC is a great and useful program, as it brings new
ideas and contributors to our community. We will definitely apply again for
GSoC 2026, and we hope to have the chance to join the Mentor Summit again next
year!</p>]]></content><author><name>Stefano Garzarella</name></author><category term="internships" /><category term="gsoc" /><category term="conferences" /><summary type="html"><![CDATA[The Google Summer of Code (GSoC) Mentor Summit 2025 took place from October 23rd to 25th in Munich, Germany. This event marks the conclusion of the annual program, bringing together mentors from all over the world. QEMU had another successful year with several interesting projects (details on our organization page), and it was a pleasure for me to represent the QEMU community at the summit, joining mentors from over 100 open source organizations to discuss the program, share experiences, and talk about open source challenges.]]></summary></entry><entry><title type="html">QEMU version 10.1.0 released</title><link href="/2025/08/26/qemu-10-1-0/" rel="alternate" type="text/html" title="QEMU version 10.1.0 released" /><published>2025-08-26T23:25:00+00:00</published><updated>2025-08-26T23:25:00+00:00</updated><id>/2025/08/26/qemu-10-1-0</id><content type="html" xml:base="/2025/08/26/qemu-10-1-0/"><![CDATA[<p>We’d like to announce the availability of the QEMU 10.1.0 release. This release contains 2700+ commits from 226 authors.</p>

<p>You can grab the tarball from our <a href="https://www.qemu.org/download/#source">download page</a>. The full list of changes are available <a href="https://wiki.qemu.org/ChangeLog/10.1">in the changelog</a>.</p>

<p>Highlights include:</p>

<ul>
  <li>VFIO: Initial support for accessing/mapping memory for confidential guests when guest_memfd is being utilized, allowing passthrough support for virtual machines running under SEV-SNP/TDX</li>
  <li>Live migration: support for utilizing multifd to accelerate post-copy migration, optimizations for pre-copy migration, and RDMA migration support for ipv6</li>
  <li>QEMU guest agent: support for querying load of virtual machines running Windows via new ‘guest-get-load’ command</li>
  <li>ARM: support for CPU features FEAT_SME2, FEAT_SME2p1, FEAT_SME_B16B16, FEAT_SME_F16F16, FEAT_SVE_B16B16, and FEAT_SVE2p1</li>
  <li>ARM: support for new board/machine models ‘max78000fthr’, ‘ast2700fc’, ‘catalina-bmc’, ‘gb200-bmc’, and ‘ast2700a0-evb’</li>
  <li>ARM: ‘virt’ board now supports nested virtualization under KVM, CXL, and ACPI-based PCI hotplug</li>
  <li>LoongArch: support for in-kernel irqchip</li>
  <li>Microblaze: support for selecting the endianess of ‘petalogix_s3adsp1800’ machine type</li>
  <li>RISC-V: ISA/extension support for atomic instruction fetch (Ziccif), ‘Svrsw60t59b’, and numerous other improvements/additions/fixes</li>
  <li>RISC-V: support for Kunminghu CPU and platform</li>
  <li>x86: KVM support for running confidential guests via Intel TDX</li>
  <li>x86: Support for initializing AMD SEV/SEV-ES/SEV-SNP virtual machines using the IGVM file format</li>
  <li>and lots more…</li>
</ul>

<p>Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!</p>]]></content><author><name></name></author><category term="releases" /><category term="qemu 10.1" /><summary type="html"><![CDATA[We’d like to announce the availability of the QEMU 10.1.0 release. This release contains 2700+ commits from 226 authors.]]></summary></entry><entry><title type="html">QEMU version 10.0.0 released</title><link href="/2025/04/23/qemu-10-0-0/" rel="alternate" type="text/html" title="QEMU version 10.0.0 released" /><published>2025-04-23T18:14:00+00:00</published><updated>2025-04-23T18:14:00+00:00</updated><id>/2025/04/23/qemu-10-0-0</id><content type="html" xml:base="/2025/04/23/qemu-10-0-0/"><![CDATA[<p>We’d like to announce the availability of the QEMU 10.0.0 release. This release contains 2800+ commits from 211 authors.</p>

<p>You can grab the tarball from our <a href="https://www.qemu.org/download/#source">download page</a>. The full list of changes are available <a href="https://wiki.qemu.org/ChangeLog/10.0">in the changelog</a>.</p>

<p>Highlights include:</p>

<ul>
  <li>block: virtio-scsi multiqueue support for using different I/O threads to process requests for each queue (similar to the virtio-blk multiqueue support that was added in QEMU 9.2)</li>
  <li>VFIO: improved support for IGD passthrough on all Intel Gen 11/12 devices</li>
  <li>Documentation: significant improvement/overhaul of documentation for QEMU Machine Protocol to make it clearer and more organized, including all commands/events/types now being cross-reference-able via click-able links in generated documentation</li>
  <li>ARM: emulation support for Secure EL2 physical and virtual timers</li>
  <li>ARM: emulation support for FEAT_AFP, FEAT_RPRES, and FEAT_XS architecture features</li>
  <li>ARM: new board models for NPCM8445 Evaluation and i.MX 8M Plus EVK boards</li>
  <li>HPPA: new SeaBIOS-hppa version 18 with lots of fixes and enhancements</li>
  <li>HPPA: translation speed and virtual CPU reset improvements</li>
  <li>HPPA: emulation support for Diva GSP BMC boards</li>
  <li>LoongArch: support for CPU hotplug, paravirtual IPIs, KVM steal time accounting, and virtual ‘extioi’ interrupt routing.</li>
  <li>RISC-V: ISA/extension support for riscv-iommu-sys devices, ‘svukte’, ‘ssstateen’, ‘smrnmi’, ‘smdbltrp’/’ssdbltrp’, ‘supm’/’sspm’, and IOMMU translation tags</li>
  <li>RISC-V: emulation support for Ascalon and RV64 Xiangshan Nanhu CPUs, and Microblaze V boards.</li>
  <li>s390x: add CPU model support for the generation 17 mainframe CPU</li>
  <li>s390x: add support for virtio-mem and for bypassing IOMMU to improve PCI device performance</li>
  <li>x86: CPU model support for Clearwater Forest and Sierra Forest v2</li>
  <li>x86: faster emulation of string instructions</li>
  <li>and lots more…</li>
</ul>

<p>Thank you to everybody who contributed to this release, whether that was by writing code, reporting bugs, improving documentation, testing, or providing the project with CI resources. We couldn’t do these without you!</p>]]></content><author><name></name></author><category term="releases" /><category term="qemu 10.0" /><summary type="html"><![CDATA[We’d like to announce the availability of the QEMU 10.0.0 release. This release contains 2800+ commits from 211 authors.]]></summary></entry><entry><title type="html">Announcing QEMU Google Summer of Code 2025 internships</title><link href="/2025/03/06/gsoc-2025/" rel="alternate" type="text/html" title="Announcing QEMU Google Summer of Code 2025 internships" /><published>2025-03-06T07:00:00+00:00</published><updated>2025-03-06T07:00:00+00:00</updated><id>/2025/03/06/gsoc-2025</id><content type="html" xml:base="/2025/03/06/gsoc-2025/"><![CDATA[<p>QEMU is participating in <a href="https://summerofcode.withgoogle.com/">Google Summer of
Code</a> again this year! Google Summer of Code
is an open source internship program that offers paid remote work
opportunities for contributing to open source. Internships run May through
August, so if you have time and want to experience open source development,
read on to find out how you can apply.</p>

<p>Each intern is paired with one or more mentors, experienced QEMU contributors
who support them during the internship. Code developed by the intern is
submitted through the same open source development process that all QEMU
contributions follow. This gives interns experience with contributing to open
source software. Some interns then choose to pursue a career in open source
software after completing their internship.</p>

<h2 id="find-out-if-you-are-eligible">Find out if you are eligible</h2>
<p>Information on who can apply for Google Summer of Code is
<a href="https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation">here</a>.</p>

<h2 id="select-a-project-idea">Select a project idea</h2>
<p>Look through the the <a href="https://wiki.qemu.org/Google_Summer_of_Code_2025">list of QEMU project
ideas</a> and see if there is
something you are interested in working on. Once you have found a project idea
you want to apply for, email the mentor for that project idea to ask any
questions you may have and discuss the idea further.</p>

<h2 id="submit-your-application">Submit your application</h2>
<p>You can <a href="https://summerofcode.withgoogle.com/">apply for Google Summer of Code</a>
from March 24th to April 8th.</p>

<p>Good luck with your applications!</p>

<p>If you have questions about applying for QEMU GSoC, please email
<a href="mailto:stefanha@gmail.com">Stefan Hajnoczi</a> or ask on the <a href="https://webchat.oftc.net/?channels=qemu-gsoc">#qemu-gsoc IRC
channel</a>.</p>]]></content><author><name></name></author><category term="internships" /><category term="gsoc" /><summary type="html"><![CDATA[QEMU is participating in Google Summer of Code again this year! Google Summer of Code is an open source internship program that offers paid remote work opportunities for contributing to open source. Internships run May through August, so if you have time and want to experience open source development, read on to find out how you can apply.]]></summary></entry></feed>