ChangeLog/10.1
Release schedule: Planning/10.1.
System emulation
Removed features and incompatible changes
Consult the 'Removed features' page for details of suggested replacement functionality.
New deprecated options and features
Consult the "Deprecated Features" chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.
68k
Alpha
Arm
AVR
Hexagon
HPPA
LoongArch
Microblaze
MIPS
OpenRISC
PowerPC
Renesas RX
Renesas SH (sh4)
RISC-V
ISA and Extensions
- Use tail pseudoinstruction for calling tail
- Fix some RISC-V vector instruction corner cases
Machines
- Add support for RIMT to virt machine ACPI
- Improve Microchip Polarfire SoC customization
Fixes and Misc
- Don't allow PMP RLB to bypass rule privileges
- Fix checks on writes to pmpcfg in Smepmp MML mode
- Generate strided vector loads/stores with tcg nodes
- Fix endless translation loop on big endian systems
- Fix write_misa vs aligned next_pc
- KVM CSR fixes
s390x
SPARC
Tricore
x86
KVM
Xtensa
Device emulation and assignment
ACPI / SMBIOS
Audio
Block devices
Graphics
Hyper-V
I2C
Input devices
IPMI
Multi-process QEMU
Network devices
NVDIMM
NVMe
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
UFS
USB
VFIO
virtio
vDPA
Xen
fw_cfg
9pfs
- Fixes for file descriptor reclaiming algorithm (i.e. when running towards host's allowed limit of max. open file descriptors).
- Additional fixes on use-after-unlink idiom (i.e. client operations on a file descriptor after file has been removed).
virtiofs
Semihosting
Audio
Character devices
Crypto subsystem
Authorization subsystem
GUI
GDBStub
TCG Plugins
Host support
Memory backends
Migration
- RDMA live migration starts to support ipv6
- Postcopy preempt mode optimization on sequential memory accesses (e.g. video streaming)
- Initial supports of enabling both multifd and postcopy features (multifd is only enabled during precopy so far)
- Fix VFIO multifd live migration when tcp zerocopy send is enabled
Monitor
QMP
- blockdev-mirror gained a new boolean flag target-is-zero that can be used to optimize mirroring of a sparse file to a destination that already reads as zero. Even without use of this flag, mirroring has been optimized to do less work on portions of the source that read as zero.
HMP
Network
Block device backends and tools
Tracing
Semihosting
Miscellaneous
User-mode emulation
signals
runtime
binfmt_misc
alpha
arm/arm64/aarch64
HPPA
LoongArch
PowerPC
s390
x86
TCG
LoongArch
Record/Replay
RISC-V
Guest agent
Documentation
Build Information
Process
Rust usage
The minimum supported version of Rust is now 1.77.
- On Debian bookworm, it is available in the rustc-web package except for the mips64el architecture; Rust support for mips64el requires Debian trixie or newer.
- On Ubuntu 22.04 and 24.04, it is available in the rust-1.77 package; the RUSTC and RUSTDOC environment variables must point to /usr/bin/rustc-1.77 and /usr/bin/rustdoc-1.77 respectively.
Debian bookworm remains a supported platform for QEMU; support for Rust is still considered experimental and not stable, and it is not recommended to be used for anything other than development.
Dependencies
Testing and CI
Host support
- Support for Debian bullseye has been dropped.
- Ninja 1.9 is now required. This version of Ninja was already found on all supported platforms (including Debian bullseye) as of QEMU 10.0.