ChangeLog/2.8: Difference between revisions
(→virtio) |
(updated as of 2.8.0-rc0) |
||
Line 2: | Line 2: | ||
=== Incompatible changes === | === Incompatible changes === | ||
* The number of allow PCI host bridges for pSeries machine was reduced from 256 to 31 (more can be configured by setting up MMIO windows manually). | * The number of allow PCI host bridges for pSeries machine was reduced from 256 to 31 (more can be configured by setting up MMIO windows manually). | ||
* Support for tftp:// has been broken forever for files bigger than 256KB. It was dropped. | |||
=== Future incompatible changes === | === Future incompatible changes === | ||
* Three options are using different names on the command line and in configuration file. In particular: | * Three options are using different names on the command line and in configuration file. In particular: | ||
Line 46: | Line 47: | ||
* QEMU now includes a generic loader pseudo-device that lets you load multiple images or values into memory at startup. This device is documented in {{src|path=docs/generic-loader.txt}}. | * QEMU now includes a generic loader pseudo-device that lets you load multiple images or values into memory at startup. This device is documented in {{src|path=docs/generic-loader.txt}}. | ||
==== ACPI ==== | ==== ACPI ==== | ||
* Support for hotplugging of NVDIMM devices (_FIT) | |||
==== Block devices ==== | ==== Block devices ==== | ||
==== Network devices ==== | ==== Network devices ==== | ||
Line 79: | Line 81: | ||
* drive-backup and blockdev-backup support writing out backups in compressed format. | * drive-backup and blockdev-backup support writing out backups in compressed format. | ||
* The LUKS format now can configure the PBKDF iteration count. | * The LUKS format now can configure the PBKDF iteration count. | ||
* block-stream supports streaming from a backing file to another backing file. | |||
* Support for replication, for coarse-grained lock stepping (COLO) fault tolerance. | * Support for replication, for coarse-grained lock stepping (COLO) fault tolerance. | ||
* New "dd" subcomamand of qemu-img. | * New "dd" subcomamand of qemu-img. | ||
* The DMG driver can be compiled to a separate driver, so as to make QEMU's dependency on libbz2 optional. | * The DMG driver can be compiled to a separate driver, so as to make QEMU's dependency on libbz2 optional. | ||
* Support for iSER in QEMU's iSCSI initiator through a iser:// URI. | * Support for iSER in QEMU's iSCSI initiator through a iser:// URI. | ||
* The NBD client and server support the NBD_CMD_WRITE_ZEROES extension. | |||
* Raw images support "offset" and "size" options to access only a part of the file or device. | |||
=== TCG === | === TCG === | ||
=== Tracing === | === Tracing === | ||
Line 93: | Line 98: | ||
=== New functionality === | === New functionality === | ||
* Added support for more syscalls including preadv, pwritev, syslog. | * Added support for more syscalls including preadv, pwritev, syslog. | ||
* Major scalability improvements for multi-threaded programs. | * Major scalability improvements for multi-threaded programs (ARM, SPARC, x86). | ||
* QEMU can now understand and generate fence and cmpxchg operations. | * QEMU can now understand and generate fence and cmpxchg operations. | ||
Revision as of 20:55, 16 November 2016
System emulation
Incompatible changes
- The number of allow PCI host bridges for pSeries machine was reduced from 256 to 31 (more can be configured by setting up MMIO windows manually).
- Support for tftp:// has been broken forever for files bigger than 256KB. It was dropped.
Future incompatible changes
- Three options are using different names on the command line and in configuration file. In particular:
- The "acpi" configuration file section matches command-line option "acpitable";
- The "boot-opts" configuration file section matches command-line option "boot";
- The "smp-opts" configuration file section matches command-line option "smp".
- -readconfig will standardize on the name for the command line option.
- Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
- Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
- QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.
- For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
ARM
- Improvements to the Aspeed board.
- Support for HLT semihosting traps in AArch32 mode (both ARM and Thumb).
- The ACPI tables for the "virt" machine type support ITS.
- The Cadence GEM device now supports multiple priority queues through the num-priority-queues property.
- The STM32F2xx board (Netduino 2) now includes ADC and SPI devices.
KVM
MIPS
- Support for 24KEc CPUs.
PowerPC
- Support for POWER9 CPUs.
pSeries
- PCI host bridges can be associated to NUMA nodes.
- Support for more than 1 TiB of guest memory.
- Support for more than 64 GiB of MMIO window in a PCI host bridge.
s390
- Support for CPU models.
- Support for virtio-ccw revision 2.
SH
SPARC
TileGX
Tricore
x86
- Support for several new CPUID features related to AVX-512 instruction set extensions.
- The emulated IOAPIC (used by TCG and, with KVM, if the "-machine kernel_irqchip" option has the value "off" or "split") now defaults to version 0x20, which supports directed end-of-interrupt messages.
- Support for Extended Interrupt Mode (EIM) in the intel_iommu device. EIM requires KVM (Linux v4.7 or newer, for x2APIC support) and "-machine kernel-irqchip=split"; it is enabled automatically if interrupt remapping is enabled ("-machine kernel-irqchip=split -device intel_iommu,intremap=on").
- Support for up to 288 CPUs with the Q35 machine types. 256 or more CPUs are only supported if IOMMU and EIM are enabled.
Xen
- Support for unplugging SCSI disk.
- Support for SUSE xenlinux-compatible device unplug.
Device emulation and assignment
- QEMU now includes a generic loader pseudo-device that lets you load multiple images or values into memory at startup. This device is documented in docs/generic-loader.txt.
ACPI
- Support for hotplugging of NVDIMM devices (_FIT)
Block devices
Network devices
- Support for fault tolerance based on coarse-grained lock stepping (COLO).
SCSI
PCI/PCIe
- The sample EDU device now supports MSI.
USB
VFIO
virtio
- New device vhost-vsock.
- Initial support for graceful handling of guest errors (i.e. QEMU should not exit on guest errors).
- Support for new virtio-crypto device.
Xen
- Support for grant copy.
Character devices
Crypto subsystem
- Support for more hash algorithms for PBKDF.
- Support for CTR mode.
GUI
- SPICE can use pure OpenGL rendering if "gl=on" is specified.
Monitor
Migration
- Support for fault tolerance based on coarse-grained lock stepping (COLO).
Network
Block devices and tools
- More QMP commands support node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file, drive-backup, drive-mirror, nbd-server-add).
- The BLOCK_IO_ERROR event now includes the node name.
- More QMP commands accept device model names (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
- The DEVICE_TRAY_MOVED event now includes the device id.
- Throttling now applies to the guest device only, and not to block jobs or the NBD server.
- drive-backup and blockdev-backup support writing out backups in compressed format.
- The LUKS format now can configure the PBKDF iteration count.
- block-stream supports streaming from a backing file to another backing file.
- Support for replication, for coarse-grained lock stepping (COLO) fault tolerance.
- New "dd" subcomamand of qemu-img.
- The DMG driver can be compiled to a separate driver, so as to make QEMU's dependency on libbz2 optional.
- Support for iSER in QEMU's iSCSI initiator through a iser:// URI.
- The NBD client and server support the NBD_CMD_WRITE_ZEROES extension.
- Raw images support "offset" and "size" options to access only a part of the file or device.
TCG
Tracing
- New tracing backend "syslog".
- Support for multiple "-d trace:PATTERN" command-line arguments.
CLI options
User-mode emulation
Removed target support
- The unicore32-linux-user target implemented a different system call ABI from mainline Linux for this architecture. Support for it has been dropped.
New functionality
- Added support for more syscalls including preadv, pwritev, syslog.
- Major scalability improvements for multi-threaded programs (ARM, SPARC, x86).
- QEMU can now understand and generate fence and cmpxchg operations.
Build Information
Documentation
- The qemu-tech manual has been merged with qemu-doc.
Build dependencies
- QEMU does not depend anymore on libuuid.
Docker Build Targets
Known issues
- postcopy migration can't be used with KVM PR on POWER (KVM HV and TCG work well). This is a kernel issue (USERFAULTFD).