ChangeLog/8.2

From QEMU

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

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