ChangeLog/8.2
System emulation
Removed features and incompatible changes
Consult the 'Removed features' page for details of suggested replacement functionality.
- The HAX accelerator is not supported anymore; the project has been retired. Use "whpx" or "hvf" respectively on Windows and macOS.
- The old machine types pc-i440fx-1.4 to pc-i440fx-1.7 have been removed; use a newer machine type instead
- QEMU does not create default audio backends anymore if any of the -audiodev, -audio or -nodefaults options are used on the command line. However, audio can now be used to specify the default audio backend in lieu of the (previously deprecated) QEMU_AUDIO_* environment variables.
- If an audio backend is created with ``-audiodev``, each audio client (a sound card or VNC) that wants to use it should specify an audiodev= property. Previously, the first audiodev command line option would be used as a fallback.
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
- Xilinx Versal board now models the CFU/CFI
- New CPU type: cortex-a710
- New architectural features now emulated:
- FEAT_PACQARMA3
- FEAT_EPAC
- FEAT_Pauth2
- FEAT_FPAC
- FEAT_FPACCOMBINE
- FEAT_TIDCP1
- FEAT_MOPS
- FEAT_HBC
AVR
Hexagon
HPPA
- Block-TLB (BTLB) support for 32-bit PA-RISC CPUs
LoongArch
Microblaze
MIPS
Nios2
OpenRISC
PowerPC
Renesas RX
Renesas SH
RISC-V
ISA and Extensions
- Add zmmul isa string
- Add smepmp isa string
- Add RISC-V vector cryptographic instruction set support
- Implement WARL behaviour for mcountinhibit/mcounteren
- Add Zihintntl extension ISA string to DTS
- Fix zfa fleq.d and fltq.d
- Add RISC-V KVM AIA Support
- Fix riscv,pmu DT node path in the virt machine
- Update CSR bits name for svadu extension
- Mark zicond non-experimental
- Align the AIA model to v1.0 ratified spec
Machines
- Remove 'host' CPU from TCG
- riscv_htif Fixup printing on big endian hosts
Fixes and Misc
- Fix page_check_range use in fault-only-first
- Fix upper/lower mtime write calculation
- Make rtc variable names consistent
- Use abi type for linux-user target_ucontext
- Fix satp_mode_finalize() when satp_mode.supported = 0
- Fix non-KVM --enable-debug build
- Add new extensions to hwprobe
- Use accelerated helper for AES64KS1I
- Allocate itrigger timers only once
- Respect mseccfg.RLB for pmpaddrX changes
- Don't read the CSR in riscv_csrrw_do64
s390x
SPARC
Tricore
x86
TCG
Xtensa
Device emulation and assignment
ACPI / SMBIOS
Audio
Block devices
- Parallels Format Driver
- Improved 'qemu-img check' facility
- Recover from broken data_off in the header
- Drop clusters outside of the image file
- De-duplicate clusters located on the same offset in the host file
- Introduced ability to execute check automatically (if disk image is opened in read/write mode) if corruption is detected by open
- Cluster allocation is now based on the cluster used bitmap (clusters could be allocated in holes inside image file)
- Minimal DISCARD & WRITE_ZEROES support
- Improved 'qemu-img check' facility
Graphics
I2C
Input devices
IPMI
Multi-process QEMU
Network devices
NVDIMM
NVMe
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
USB
VFIO
virtio
vDPA
Xen
fw_cfg
9pfs
virtiofs
Semihosting
Audio
Character devices
Crypto subsystem
Authorization subsystem
GUI
GDBStub
- fixes cases where wrong threads were reported to gdb
TCG Plugins
Host support
Memory backends
- memory-backend-file now supports the "rom" parameter. "share=off,readonly=off,rom=on" can be used for VM-templating with R/O files: open the file R/O, but create writable RAM instead of Read Only Memory (ROM).
- "VM templating" documentation was added
Migration
Monitor
QMP
HMP
Network
Block device backends and tools
Tracing
Semihosting
Miscellaneous
User-mode emulation
runtime
binfmt_misc
alpha
- Emulated /proc/cpuinfo output in linux-user
arm/arm64/aarch64
- Emulated /proc/cpuinfo output in linux-user
LoongArch
HPPA
s390
x86
TCG backends
RISC-V
Guest agent
Build Information
- Coding style has been updated to allow loop variables
Build Dependencies
- Building QEMU now requires Python 3.8. As a consequence, building on Debian 10 is not supported anymore (unless a newer version of Python is installed by other means).
- Building QEMU now uses the tomli library if Python is older than version 3.11. However, version 2.0.1 is bundled in case tomli is not installed on the host.
- The libfdt library is no longer bundled with QEMU. However, if QEMU is configured with --enable-download and the library is absent, then it will be downloaded and built together if any emulators need it.
Windows
Testing and CI
- ccache has been enabled for CI builds
Known issues
- See Planning/8.2