ChangeLog/2.6

From QEMU
Revision as of 09:28, 26 February 2016 by Paolo Bonzini (talk | contribs) (updated as of 0c6940d086f39bbf725d96104abe46da87429cb6 (with some TODOs))
  • secrets (supported by tls-creds):
$QEMU -object secret,id=sec0,data=letmein
$QEMU -object secret,id=sec0,file=mypasswd.txt
$QEMU -object secret,id=sec0,file=mypasswd.txt,format=base64
 + encrypted case
  • nvdimm?

System emulation

Incompatible changes

  • The aio=native option to "-drive" now requires the cache=none option, instead of silently disabling itself for other cache modes. The newly invalid combination had been warning since QEMU 2.3.
  • The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".
  • Machine types [...] have been removed.
  • QEMU does not support Xen 4.1 and older anymore.

Future incompatible changes

Alpha

ARM

  • Support for a separate EL3 address sapce
  • Faster boot thanks to DMA support in fw_cfg
  • The "virt" machine type supports a virtual power button and the "system_powerdown" monitor command
  • The "virt" machine type supports configuring network cards with -nic in addition to -netdev
  • The "xlnz-zynqmp" machine type now includes SPI controllers
  • The "xlnx-ep108" machine type now supports SPI flash
  • New "raspi2" machine type

KVM

  • Support for guest debugging (software and hardware breakpoints, single step) on AArch64

MIPS

PowerPC

  • Improved support for migration of g3beige and mac99 machines
  • The gdb stub supports the VSX instruction set extensions

pSeries

  • pSeries machine types starting at pseries-2.6 use XHCI as the USB host controller instead of OHCI
  • Support for more hypercalls

s390

  • The s390-virtio machine has been removed.
  • Fixes and improvements in s390x PCI support

SH

SPARC

TileGX

Tricore

  • Support for context management, illegal opcode and opd traps

x86

TCG

  • Support for the XSAVE/XSAVEOPT, MPX and FSGSBASE features

KVM

  • Support for "split irqchip". In this mode, QEMU emulates the IOAPIC, PIC (i8259) and PIT (i8254) devices while leaving the local APIC emulation to the kernel. This mode reduces the attack surface of KVM.
  • Support for the new PKU feature found in some Skylake processors
  • Support for migrating the TSC rate

Xen

Device emulation and assignment

  • New IPMI emulation subsystem. QEMU can now emulate an internal BMC or attach to an external BMC simulator such as OpenIPMI's lanserv.

ACPI

Audio

Block devices

  • The floppy disk controller support changes in the disk geometry, for example changing from a 1.44 MB disk or an empty disk to a 2.88 MB disk
  • Improved compatibility of the SD device model with various operating systems and firmwares
  • The NVMe device supports the "bootindex" property.

Character devices

IDE

Mouse/keyboard

Network

SCSI

  • Support for the LSI SAS1068 HBA (also known as "MPT Fusion"). Note that some operating systems will not recognize disks attached to this adapter, unless the disks are assigned a world-wide name (WWN).

Shared memory device

PCI/PCIe

TPM

USB

  • MTP: initial support for events

VFIO

  • Support for AMD XGBE platform passthrough
  • Helpers for extracting host device tree properties

virtio

  • Performance improvements via optimized vring accesses

VGA

Character devices

  • Support for TLS encryption in the TCP backend [...]
  • -chardev logfile [...]

GUI

  • SDL2 and SPICE now support OpenGL and virgl.
  • The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off. Previously, only "ipv4" and "ipv6" were available.


Monitor

  • Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump" (QMP), as well as through the QMP event DUMP_COMPLETED.

Migration

Network

Block devices

  • The NBD client and server now supports TLS [...]
  • Block device throttling now support specifying a burst length as well. While previously the burst could only be specified as a total number of IOPS (e.g. 10000 IOPS), more complex specifications such as "10000 IOPS for 10 seconds" are now possible. Note that, because of the implementation of the algorithm, a guest that is allowed "10000 IOPS for 10 seconds" will also be allowed to perform for example 5000 IOPS for 20 seconds.
  • qemu-io --object [...]
  • qemu-img --object [...]

Command-line options

TCG

Tracing

  • The "stderr" tracing backend was replaced by the "log" tracing backend, which is now the default. This backend prints tracing messages to the destination specified with the "-D" option.
  • In addition to the existing "-trace file=...", tracepoints can be enabled using "-trace [enable=]...". The new option also supports globbing, as in "-trace bdrv_aio_*".
  • In addition to the existing "-trace file=...", tracepoints can be enabling using "-d trace:...". This option also supports globbing, as in "-d trace:bdrv_aio_*".
  • When using "-daemonize", if the "-D" option is in use it will also receive QEMU's stderr output.

Audio

Guest agent

User-mode emulation

  • The default CPU for ppc64 and ppc64le is now POWER8

Build dependencies

Known issues