ChangeLog/6.0
System emulation
Incompatible changes
New deprecated options and features
Consult the "Deprecated Features" chapter of the QEMU System Emulation User's Guide for the full list of historically deprecated features/options.
68k
Alpha
Arm
- QEMU now supports emulation of the Arm-v8.1M architecture and the Cortex-M55 CPU
- Emulation of ARMv8.4-TTST extension is now supported
- Emulation of ARMv8.4-SEL2 extension is now supported
- Emulation of the PAuth extension now supports an optional IMPDEF pauth algorithm which is not cryptographically secure but is much faster to compute
- xlnx-zynqmp boards now support the Xilinx ZynqMP CAN controllers
- the sbsa-ref board now supports Cortex-A53/57/72 cpus
- the xlnx-versal board now has USB support
- the sabrelite board emulation has been improved and it can now run U-Boot
- the npcm7xx boards now have ADC and PWM emulation
- the gdbstub's representation of SVE registers allows GDB to properly handle aliasing
AVR
HPPA
Microblaze
MIPS
- Loongson-3 "virt" machine added
Nios2
OpenRISC
PowerPC
- Deprecated 'compat' property of server class POWER cpus removed (use the 'max-cpu-compat' machine option instead)
- You can now explicitly choose 'kvm_type=auto' rather than only being able to do that by not setting it at all.
Renesas RX
Renesas SH
RISC-V
- Improve the sifive_u DTB generation
- Add QSPI NOR flash to Microchip PFSoC
- Fix a bug in the Hypervisor HLVX/HLV/HSV instructions
- Fix some mstatus mask defines
- Ibex PLIC improvements
- OpenTitan memory layout update (Breaking change)
- Initial steps towards support for 32-bit CPUs on 64-bit builds
- Automate GDB XML generation (should fix GDB E14 errors)
- Sifive OTP handle OTP access failures
- Correctly generate a PMP failure when no PMP entry is configured
- Fix 32-bit Linux boot problems with DTB placement
s390
- Linux kernels built with clang-11 and clang-12 now work correctly under tcg
SPARC
TileGX
Tricore
x86
- Intel PT can now be exposed to KVM guests when
CPUID.(EAX=14,ECX=0).ECX[LIP]
(bit 31) is 1. Previous versions only supported Intel PT when LIP=0 - New
sev-inject-launch-secret
QMP command - The WHPX accelerator supports accelerated APIC ("-accel whpx,kernel-irqchip=on")
Xtensa
Device emulation and assignment
ACPI
Audio
Block devices
Graphics
Input devices
IPMI
Network devices
NVDIMM
NVMe
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
USB
VFIO
virtio
Xen
fw_cfg
9pfs
virtiofs
Semihosting
- Added support for RiscV (ARM style semihosting)
- Added support for HEAPINFO, ELAPSED, TICKFREQ, TMPNAM and ISERROR to semihosting
Audio
Character devices
Crypto subsystem
experimental qmp interface
GUI
GDBStub
- the stub now supports the Xfer:auxv:read for Linux user guests
- the GDB stubs now uses the "official" gdb representation for SVE registers
Host support
Memory backends
Migration
Monitor
QMP
- A new command set-action has been introduced. The command generalizes watchdog-set-action and allows changes to all the settings of the (also new) -action command line option.
- New OOB commands yank and query-yank have been introduced. The yank command allows to recover from a hanging QEMU by shutting down sockets for example. See the QMP documentation for more information. The query-yank command lists the available things to yank.
HMP
Network
Block device backends and tools
Tracing
Miscellaneous
- A new command line option -action, with suboptions panic, shutdown, reboot and watchdog. -action subsumes the pre-existing options -no-shutdown (-action panic=pause,shutdown=pause), -no-reboot (-action reboot=shutdown) and -watchdog-action; plus, it allows the user to choose whether guest panic should pause the guest (-action panic=pause), shut it down (-action panic=poweroff, the default) or be ignored (-action panic=none).
User-mode emulation
TCG
- Added support for Apple Silicon hosts (macOS)
Guest agent
Build Information
- New "gtags" build target for developers
- checkpatch now better handles commit ids when checking
Python
GIT submodules
Container Based Builds
Build Dependencies
Windows
Testing and CI
Known issues
- see Planning/6.0