ChangeLog/7.2

From QEMU

System emulation

Incompatible changes

Consult the 'Removed features' page for details of suggested replacement functionality.

Semihosting calls from userspace

For some target architectures (arm, m68k, mips, nios2, riscv, xtensa) QEMU supports a "semihosting" style ABI where guest code can make calls to directly print messages, read and write host files, and so on. Handling of when this is enabled in system emulation has been made consistent across target architectures. By default it is not enabled; if enabled via the commandline "-semihosting" or "-semihosting-config enable=on" then it is only permitted from non-userspace guest code; if the new-in-7.2 "-semihosting-config userspace=on" option is given then it is also permitted from guest userspace. For some target architectures this is a change in behaviour: mips, nios2 and xtensa previously allowed userspace access by default, and riscv allowed all access by default. If you were using semihosting on these targets and relying on that previous default behaviour, you need to update your commandline to explicitly enable semihosting to the desired level.

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_ETS (Enhanced Translation Synchronization)
    • FEAT_PMUv3p5 (PMU Extensions v3.5)
  • New emulated CPU types:
    • Cortex-A35

Machines

AVR

Hexagon

HPPA

LoongArch

Microblaze

MIPS

Nios2

OpenRISC

  • Stability improvements
  • Performance improvements by supporting MTTCG
  • New virt platform is added to assist with CI and device testing

PowerPC

Renesas RX

Renesas SH

RISC-V

ISA and Extensions

  • Update [m|h]tinst CSR in interrupt handling
  • Force disable extensions if priv spec version does not match
  • fix shifts shamt value for rv128c
  • move zmmul out of the experimental
  • Add checks for supported extension combinations
  • Fix typo and restore Pointer Masking functionality for RISC-V
  • Add mask agnostic behaviour (rvv_ma_all_1s) for vector extension
  • Add Zihintpause support
  • Add xicondops in ISA entry
  • Use official extension names for AIA CSRs

Machines

  • virt: pass random seed to fdt
  • opentitan: bump opentitan version
  • virt machine device tree improvements

Fixes and Misc

  • Upgrade OpenSBI to v1.1
  • microchip_pfsoc: fix kernel panics due to missing peripherals
  • Remove additional priv version check for mcountinhibit

s390x

SPARC

Tricore

x86

Xtensa

Device emulation and assignment

ACPI / SMBIOS

Audio

Block devices

Graphics

I2C

Controllers
Devices

Input devices

IPMI

Multi-process QEMU

Network devices

  • Fixed bug that could cause a stack or heap overflow with the emulated "tulip" NIC (CVE-2022-2962)

NVDIMM

NVMe

Emulated NVMe Controller

PCI/PCIe

SCSI

SD card

SMBIOS

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

virtiofs

Semihosting

Audio

Character devices

  • UNIX socket support on Windows has been added

Crypto subsystem

Authorization subsystem

GUI

GDBStub

TCG Plugins

Host support

Memory backends

Migration

Monitor

QMP

HMP

Network

Block device backends and tools

Tracing

Semihosting

Semihosting calls were generally not permitted for userspace guest code in system emulation. This can now be enabled with the "-semihosting-config userspace=on" option. Note that the usual remarks about semihosting apply -- because it permits direct guest access to the host filesystem, it should only be used with trusted guest binaries.

Miscellaneous

User-mode emulation

build

binfmt_misc

Hexagon

LoongArch

Nios2

HPPA

TCG

ARM

Guest agent

  • The "--blacklist" command line option has been renamed to "--block-rpcs".

Build Information

Python

GIT submodules

Container Based Builds

  • All containers are now "flat" containers (often generated by lci-tool)

VM Based Builds

Build Dependencies

  • Python 3.7 or newer is now required.

Windows

Testing and CI

Known issues