ChangeLog/2.0

From QEMU
Revision as of 17:17, 5 February 2014 by Paolo Bonzini (talk | contribs)

System emulation

ARM

  • Support for "-M virt", a board type that only uses virtio devices
  • Support for "-cpu host" when running under KVM
  • Support for new ARMv8 instructions in TCG
  • Support for AArch64 user-mode emulation
  • Support for AArch64 system-mode emulation using KVM
  • Support for the Canon PowerShot A1100 DIGIC board using "-M canon-a1100"
  • Support for the allwinner-a10-based board "-M cubieboard"
  • Support for flow control in the Cadence UART

Power

  • Support for VSX instructions when running under TCG

x86

  • On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like on real hardware.
  • The Q35 machine now supports CPU hotplug.
  • Two flash chips can be specified using the "-drive if=pflash" or "-pflash" options twice.
  • Memory layout has changed slightly; to improve performance, the PIIX4 machine ("-M pc") now has 3GB of low memory instead of 3.5GB if the guest has more than 3.5GB of memory. Similarly, the Q35 machine ("-M q35") now has 2GB instead of 2.75GB of low memory if the guest has more than 2.75GB of overall memory.
  • Support for migration of Intel MPX registers.
  • The Apple SMC device is now exposed in the ACPI tables.
  • PCI hotplug now supports devices behind a bridge (only for bridges not added by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug Controller).

Xen

  • PCI passthrough of devices with a ROM now works.

Device emulation

SCSI

  • the SCSI layer can offload the WRITE SAME command to the host storage. This is supported on XFS file systems, raw devices, and iSCSI targets.

USB

  • support for suspend-to-RAM in the XHCI controller
  • support for Microsoft descriptors, to make Windows use remote suspend by default.

Block devices

  • when the destination of "qemu-img convert" is a raw device, can ask the host storage to "discard" it instead of writing zeroes
  • "qemu-img convert" can be passed a "-S 0" option to create a fully allocated image
  • "qemu-img convert" can use hints from the host storage to speed up the transfer
  • Live snapshot merge (...-commit) can be used to merge the active layer of an image into one of the snapshots
  • Live and offline snapshot merge ("commit") will resize the destination image if necessary.
  • The iSCSI backends support snapshot merge.
  • The libcurl interface had bitrotted and has been fixed.
  • QEMU is able to operate even if the underlying storage requires the buffer size to be a 4K multiple. This is the case for 4K-native disks (with cache=none or when accessed through iscsi:// URLs) and some raw devices. When this happens, QEMU emulates unaligned accesses using read-modify-write cycles if necessary. On properly configured guests newer than ~2009 there should be no performance penalty.
  • qemu-io supports command editing via readline.
  • Pseudo-protocols like blkdebug and blkverify can be nested arbitrarily.
  • "query-block-stats" provides statistics for all images in the chain of backing files.
  • node-name, query-named-block-nodes: external snapshot, resize, change password

GUI

  • Windows hosts support keyboard translation in the GTK+ interface.

VNC

  • setting the password via monitor command will not enable password auth as side effect any more. Use "qemu -vnc ${display},password" on the command line to enable password authentication.

Monitor

  • New HMP command cpu-add for CPU hotplug.
  • New HMP commands object-add and object-del for generic object hotplug (enables virtio-rng hotplug).
  • New QMP commands object_add and object_del for generic object hotplug.

Migration

  • Reduction (or elimination) of guest stalls during migration.

Network

  • New backend "netmap" on BSD systems

TCG

  • QEMU can use getauxval to detect the host instruction set for PPC64, ARM, s390
  • QEMU supports generating MOVBE instructions in the x86 backend.

User-mode emulation

  • support for several more system calls and parameters