ChangeLog/6.0

From QEMU
Revision as of 19:45, 29 January 2021 by Pm215 (talk | contribs) (→‎PCI/PCIe)

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
  • the 'virt' board now provides a mechanism for secure (EL3) firmware to power down or reset the system

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")
  • The microvm machine type got a second (optional) ioapic for the virtio-mmio irq lines, which in turn allows 24 (instead of 8) virtio-mmio devices.

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

Graphics

Input devices

IPMI

Network devices

NVDIMM

NVMe

PCI/PCIe

  • The 'pvpanic-pci' device is a PCI-device version of the 'pvpanic' ISA device, which can be used on systems with only PCI and no ISA bus as a mechanism for the guest to inform QEMU that it has paniced.

SCSI

SD card

SMBIOS

TPM

USB

  • Support for writing usb traffic to package capture files for inspection with wireshark has been added. Use the new pcap=<file> property added to all usb devices to enable this.

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

  • vnc: support for cursors with alpha channel has been added.
  • vnc: support for extended desktop resize has been added. With virtio-vga the guest display should adapt to vnc client window resizes.

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