ChangeLog/8.0
System emulation
Incompatible changes
Consult the 'Removed features' page for details of suggested replacement functionality.
Other removed features
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
- The following CPU architecture features are now emulated:
- FEAT_EVT
- FEAT_FGT
- AArch32 ARMv8-R support
- New emulated CPU types:
- Cortex-A55 CPU
- Cortex-R52 CPU
- The GICv3 can now be emulated under hvf acceleration
Machines
- The cubieboard machine is now able to boot directly from an SD card image.
- New machine types:
- ``olimex-stm32-h405`` -- Olimex STM32 H405 board with STM32F405RGT6 microcontroller
AVR
Hexagon
HPPA
- Implemented fid instruction (Floating-Point Identify)
- Create illegal instruction when executing 64-bit load/save on 32-bit emulation
LoongArch
Microblaze
MIPS
Nios2
OpenRISC
PowerPC
Renesas RX
Renesas SH
RISC-V
ISA and Extensions
- Add smstateen support
- Support native debug icount trigger
- Support cache-related PMU events in virtual mode
- Add Zawrs ISA extension support
- Add support for the T-Head vendor extensions
Machines
- Bump the OpenTitan supported version
- Add some missing PolarFire SoC io regions
- riscv_htif: Support console output via proxy syscall
- Update opentitan IRQs
Fixes and Misc
- Fix PMP propagation for tlb
- Remove the redundant ipi-id property in the virt machine
- Fix mret exception cause when no pmp rule is configured
- Fix bug where disabling compressed instructions would crash QEMU
- Cleanup firmware and device tree loading
- Fix elen check when using vector extensions
- Ensure we always follow MISA parsing
- Fix up masking of vsip/vsie accesses
- Trap on writes to stimecmp from VS when hvictl.VTI=1
- Update disas for xnor/orn/andn and slli.uw
- Fix rom code when Zicsr is disabled
- A collection of fixes for virtulisation
- Set tval for triggered watchpoints
- A fix for virtual instr exception
- Fix ctzw behavior
- Fix SBI getchar handler for KVM
s390x
SPARC
Tricore
- Fix OPC1_16_SRO_LD_H translation
- Fix OPC2_32_BO_LD_BU_PREINC translation
- Fix OPC2_32_RRRR_DEXTR/RRPW_DEXTR translation
- Fix OPC2_32_RCRW_INSERT translation
- Fix OPC2_32_RCRW_IMASK translation
x86
Xtensa
Device emulation and assignment
ACPI / SMBIOS
Audio
Block devices
Graphics
I2C
Input devices
IPMI
Multi-process QEMU
Network devices
NVDIMM
NVMe
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
USB
VFIO
- Experimental migration support has been updated to the v2 VFIO migration protocol, v1 has been removed.
virtio
Xen
fw_cfg
9pfs
virtiofs
The old C virtiofsd has been removed, use the new Rust implementation instead.
Semihosting
- semihosting now has some documentation in the manual
- semihosting only supports O_BINARY mode for file operations
Audio
Character devices
Crypto subsystem
A flaw in handling cached data when reading from a TLS channel has been fixed. This could affect TLS when used with character devices in particular where it is common to read less than one TLS packet of data at a time.
Authorization subsystem
GUI
The deprecated 'password' option for SPICE is removed. Applications should use 'password-secret' instead, together with '-object secret'.
GDBStub
TCG Plugins
- some deadlocks cases where fixed when using plugins
Host support
Memory backends
Migration
Monitor
QMP
HMP
Network
Block device backends and tools
- The iscsi driver 'password' option is deprecated, in favour of 'password-secret' which is to be used in combination with '--object secret'
Tracing
Semihosting
Miscellaneous
User-mode emulation
build
binfmt_misc
Hexagon
LoongArch
Nios2
HPPA
x86
TCG backends
ARM
Guest agent
- Add USB but type support for guest-get-fsinfo in Windows
- Add initial OpenBSD and NetBSD support
- Add logging to Windows event log
- Fix build with Glib version > 2.73.2 (Windows)
Build Information
Build Dependencies
- we have dropped perl as a build dependency
Windows
Testing and CI
Known issues
- see Planning/8.0