ChangeLog/8.2: Difference between revisions

From QEMU
Line 7: Line 7:
* The HAX accelerator is not supported anymore; [https://github.com/intel/haxm#status the project has been retired]. Use "whpx" or "hvf" respectively on Windows and macOS.
* The HAX accelerator is not supported anymore; [https://github.com/intel/haxm#status 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
* 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 <tt>-audiodev</tt>, <tt>-audio</tt> or <tt>-nodefaults</tt> options are used on the command line.  However, <tt>audio</tt> can now be used to specify the default audio backend in lieu of the (previously deprecated) <tt>QEMU_AUDIO_*</tt> environment variables.
* In addition to <tt>-audiodev</tt> and <tt>-audio</tt>, QEMU does not create default audio backends anymore if the <tt>-nodefaults</tt> option are used on the command line.
* If an audio backend is created with ``-audiodev``, each audio client (a sound card or VNC) that wants to use it should specify an <tt>audiodev=</tt> property.  Previously, the first audiodev command line option would be used as a fallback.
* If an audio backend is created with <tt>-audiodev</tt>, each audio client (a sound card or VNC) that wants to use it has to specify an <tt>audiodev=</tt> property.  Previously, the first audiodev command line option would be used as a fallback. However <tt>-audio</tt> can now be used to configure one or more default audio backends, in lieu of the (deprecated and now removed) <tt>QEMU_AUDIO_*</tt> environment variables.


=== New deprecated options and features ===
=== New deprecated options and features ===

Revision as of 11:16, 6 October 2023

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
  • In addition to -audiodev and -audio, QEMU does not create default audio backends anymore if the -nodefaults option are used on the command line.
  • If an audio backend is created with -audiodev, each audio client (a sound card or VNC) that wants to use it has to specify an audiodev= property. Previously, the first audiodev command line option would be used as a fallback. However -audio can now be used to configure one or more default audio backends, in lieu of the (deprecated and now removed) QEMU_AUDIO_* environment variables.

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

  • Added TC37x CPU that implements ISA v1.6.2
  • Added CRCN, FTOU, FTOHP, and HPTOF instructions
  • Fixed RCPW/RRPW_INSERT instructions for width=0
  • Fixed RCRR_INSERT using the wrong destination register
  • Fixed FTOUZ being only available from ISA v1.3.1 upwards

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