ChangeLog/6.2
System emulation
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
- On macOS hosts with Apple Silicon CPUs we now support the 'hvf' accelerator for running AArch64 guests
- M-profile CPUs now emulate trapping on division by zero via CCR.DIV_0_TRP
- The pl011 UART model now supports sending 'break'
- The Fujitsu A64FX processor model is now supported in TCG ('-cpu a64fx')
- The M-profile MVE extension is now supported, and enabled in the Cortex-M55
- The deprecated machine names 'raspi2' and 'raspi3' have been removed; use 'raspi2b' and 'raspi3b' instead
- The 'virt' machine now supports an emulated ITS
- New machine type: kudo-bmc
- The xlnx-zcu102 and xlnx-versal-virt machines now support BBRAM and eFUSE devices
AVR
Hexagon
HPPA
Microblaze
MIPS
Nios2
OpenRISC
PowerPC
- Improved POWER10 support for the 'powernv' machine
- Initial support for POWER10 DD2.0 CPU added
- Added support for FORM2 PAPR NUMA descriptions in the "pseries" machine type
- With a guest kernel that also has support, this allows for asymmetric and other complex NUMA tolopogies which previously couldn't be communicated to the guest
Renesas RX
Renesas SH
RISC-V
- Add Zb[abcs] instruction support
- Remove RVB support
- Fixup virt flash node
- Don't override users supplied ISA version
- Fixup some CSR accesses
- Fix an overflow in the SiFive CLINT (https://gitlab.com/qemu-project/qemu/-/issues/493)
- ePMP CSR address updates
- SiFive PWM support
- Support for RISC-V ACLINT
- Support vhost-user and numa mem options on all boards
- mstatus.SD bug fix for hypervisor extensions
- OpenTitan fix for USB dev address
- OpenTitan update to latest bitstream build
- Remove the Ibex PLIC
- Bug fix of setting mstatus_hs.[SD|FS] bits
- Fixes for sifive PDMA
- Mark shakti_c as not user creatable
s390x
- Improved storage key emulation (e.g. fixed address handling, lazy storage key enablement for TCG, ...)
- New gen16 CPU features are now enabled automatically in the latest machine type
SPARC
- Fix for booting sun4m machines with more than 1 CPU
Tricore
x86
- New Snowridge-v4 CPU model, with split-lock-detect feature disabled
KVM
- Support for SGX in the virtual machine, using the /dev/sgx_vepc device on the host and the "memory-backend-epc" backend in QEMU.
- New "hv-apicv" CPU property (aliased to "hv-avic") sets the HV_DEPRECATING_AEOI_RECOMMENDED bit in CPUID[0x40000004].EAX.
x86_64
Xtensa
Device emulation and assignment
ACPI
Audio
Block devices
Graphics
I2C
Input devices
IPMI
Multi-process QEMU
Network devices
NVDIMM
NVMe
Emulated NVMe Controller
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
USB
VFIO
virtio
Xen
fw_cfg
9pfs
- Fixed an occasional crash when handling 'Twalk' requests; thus bug was introduced in QEMU 6.1.0.
- Fixed sub-optimal I/O performance on guest due to incorrect IOUNIT which happened with certain applications like 'cat' which retrieve stat's st_blksize at runtime to determine their read/write buffer size.
virtiofs
Semihosting
Audio
Character devices
- ESCC reset fixes
Crypto subsystem
Authorization subsystem
GUI
GDBStub
TCG Plugins
Host support
Memory backends
Migration
Monitor
QMP
- New event DEVICE_UNPLUG_GUEST_ERROR, which allows guest-reported failures of hot unplugs to be reported to the user or management layer
- Since this relies on the guest, an event can't be guaranteed and only some hotplug mechanisms can generate it at all
- This will eventually replace MEM_UNPLUG_ERROR which reported the same thing, but only for memory unplug
HMP
Network
Block device backends and tools
- qemu-nbd now defaults to writeback caching, rather than writethrough, to match the defaults of qemu-img. While this has better performance, it may affect correctness if you were previously relying on writethrough semantics without explicit use of the '--cache=' option.
Tracing
Miscellaneous
User-mode emulation
binfmt_misc
Hexagon
TCG
- plugins now have a bool arg parsing helper and cleaned up argument syntax
- the cache plugin is now multi-core aware
Guest agent
Build Information
- the --enable-git-update and --disable-git-update options to configure were removed
- the --disable-blobs option to configure is deprecated and should be replaced with --disable-install-blobs
- the --enable-trace-backend to configure is deprecated and should be replaced with --enable-trace-backends
- the --enable-jemalloc to configure is deprecated and should be replaced with --enable-malloc=jemalloc
- the --enable-tcmalloc to configure is deprecated and should be replaced with --enable-malloc=tcmalloc
Python
GIT submodules
Container Based Builds
VM Based Builds
Build Dependencies
Windows
Testing and CI
Known issues
- see Planning/6.2