ChangeLog/4.2: Difference between revisions

From QEMU
(→‎Block device backends and tools: Backup’s filter node)
Line 45: Line 45:


=== s390 ===
=== s390 ===
* TCG now implements IEP (Instruction Execution Protection), a CPU feature introduced with the z14. Until the "qemu" CPU model is lifted to a z14, it can be enabled using the "max" CPU model ("-cpu max").


=== SH ===
=== SH ===

Revision as of 15:33, 14 October 2019

System emulation

Incompatible changes

  • The minimum version of the glib library is now 2.48

New deprecated options and features

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Alpha

68k

  • Added new "next-cube" machine for emulating a classic NeXTcube (still incomplete, can only boot to the firmware prompt)

Arm

HPPA

Microblaze

MIPS

  • Fixed bug involving emulation of ST.W instruction in system mode only (there was no bug in Linux user mode).

Nios2

OpenRISC

PowerPC

  • Behavior for unplug of multifunction PCI devices has been changed to match x86. Attempting to unplug any function will cause an unplug of the whole slot.
  • There are now separate machine types for POWER8 based and POWER9 based non-virtualized machines (powernv8 & powernv9).
  • Default RAM size for powernv machines has been increased to 1.75G which should allow more things to work with the default parameters.
  • RTAS (runtime firmware) code is now supplied by SLOF (boot time firmware) instead of by qemu itself. This won't affect users in most cases, but will affect users of -bios which bypasses SLOF, which includes kvm-unit-tests. You'll need a sufficiently recent version of kvm-unit-tests to handle this.
  • mffsce, mffscrn and mffscrni POWER9 instructions now supported in TCG
  • powernv machine now includes models for the Homer and OCC SRAM system devices
  • "info pic" HMP command now reports whether the irq chip is emulated in kernel or in qemu
  • pseries machine type no longer permits NUMA nodes with no CPU and no memory - this was already unlikely to work due to problems expressing this configuration to the guest

RISC-V

  • The `-initrd` argument is now supported.

s390

  • TCG now implements IEP (Instruction Execution Protection), a CPU feature introduced with the z14. Until the "qemu" CPU model is lifted to a z14, it can be enabled using the "max" CPU model ("-cpu max").

SH

SPARC

TileGX

Tricore

x86

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

GPIO

Graphics

Input devices

IPMI

IPMI UUIDs

UUID handling for the built-in IPMI BMC has changed. Before the UUID was set from the qemu UUID, if that was set. However, in a real system, the UUID of a BMC will be independent of the system UUID. So now the UUID must be explicitly set for a BMC if you want one. Otherwise the BMC will not have a UUID.

To set the UUID of a BMC, use the new property guid=11223344-5566-7788-99aa-bbccddeeff00 for the ipmi-bmc-sim device.

IPMI PCI Devices

New PCI interfaces for IPMI KCS and BT devices are available. The devices pci-ipmi-kcs and pci-ipmi-bt are used to choose these devices.

Network devices

NVDIMM

PCI/PCIe

SCSI

SMBIOS

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

  • the "local" backend now has a new 'multidevs' option to deal with cross-device setups (ie. when the shared directory spans over multiple devices on the host)

Semihosting

Audio

Character devices

Crypto subsystem

GUI

Host support

  • Any backend that supports connection as an Inet client (NBD, chardev, network device, monitor...) can now request to use TCP keep-alive with the server.

Memory backends

Monitor

  • bugs in gdbstub handling of F and ! packets have been fixed

Migration

  • The 'validate-uuid' migration compatibility checks the UUID matches on migration, preventing accidental migration of the wrong VM to the wrong destination. (Yury Kotov)

Network

  • The user mode host network backend now allows to set a guest-visible DNS address which is not in the virtual network, unless restrict mode is enabled.

Block device backends and tools

  • Block drivers can now support BDRV_REQ_PREFETCH for more efficient handling of copy-on-read requests; the NBD driver has wired this up to NBD_CMD_CACHE.
  • The LUKS block driver supports falloc/full preallocation.
  • The NBD server now advertises NBD_FLAG_CAN_MULTI_CONN on shared readonly connections.
  • The NBD server and client support the new NBD_CMD_FLAG_FAST_ZERO as an optimization during the copying of sparse images.
  • The backup block job now creates a filter node, just like mirror and commit do. Clients that care about the structure of the block graph need to take this into account.
  • Several assertion failures relating to the use of an NBD server with iothreads have been fixed.

Tracing

Miscellaneous

User-mode emulation

Alpha

Xtensa

  • call0 ABI may be selected for the user emulation with command line option -xtensa-abi-call0 (or with QEMU_XTENSA_ABI_CALL0 environment variable).

TCG

  • The tcg tests have had their configuration and build somewhat dissentagled from the main make file
  • tcg tests are now in $BUILDDIR/tests/tcg/$TARGET/ (rather than $BUILDDIR/$TARGET/tests/)

Guest agent

Build Information

Python

  • The minimum supported version of Python is now 3.5.

GIT submodules

Container Based Builds

  • The docker.py tooling now supports podman containers [1] as an alternative to docker
  • the docker.py now requires python3 to run
  • a number of the cross compiler containers have been updated to Buster

Build Dependencies

  • The minimum version of the glib library is now 2.48

Testing

Windows

Known issues