ChangeLog/2.0: Difference between revisions

From QEMU
No edit summary
(as of 4c0c9bbe78901a706497a8fa1a27935bafc20cf7)
Line 45: Line 45:
* The libcurl interface had bitrotted and has been fixed.
* 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 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.
* qemu-io supports command editing via readline
* Pseudo-protocols like blkdebug and blkverify can be nested arbitrarily.
* Pseudo-protocols like blkdebug and blkverify can be nested arbitrarily
* "query-block-stats" provides statistics for all images in the chain of backing files.
* "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
* node-name, query-named-block-nodes: external snapshot, resize, change password
* Improved error messages for many operations.
* Improved error messages for many operations
* QEMU can access NFSv3 shares directly from userspace using libnfs.  The share must be configured to allow access from high-numbered ports
* QEMU can access NFSv3 shares directly from userspace using libnfs.  The share must be configured to allow access from high-numbered ports


=== GUI ===
=== GUI ===
* Windows hosts support keyboard translation in the GTK+ interface.
* Windows hosts support keyboard translation in the GTK+ interface


==== VNC ====
==== VNC ====
Line 59: Line 59:


=== Monitor ===
=== Monitor ===
* New HMP command cpu-add for CPU hotplug.
* New HMP command cpu-add for CPU hotplug
* New QMP 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 (enables virtio-rng hotplug)
* New HMP commands object_add and object_del for generic object hotplug.
* New HMP commands object_add and object_del for generic object hotplug
* Improved command-line completion for device_add and device_del (as well as the new commands object_add and object_del).
* Improved command-line completion for device_add and device_del (as well as the new commands object_add and object_del)


=== Migration ===
=== Migration ===
* Reduction (or elimination) of guest stalls during migration.
* Reduction (or elimination) of guest stalls during migration


=== Network ===
=== Network ===
Line 72: Line 72:
== TCG ==
== TCG ==
* QEMU can use getauxval to detect the host instruction set for PPC64, ARM, s390
* QEMU can use getauxval to detect the host instruction set for PPC64, ARM, s390
* QEMU supports generating MOVBE instructions in the x86 backend.
* QEMU supports generating MOVBE instructions in the x86 backend


== User-mode emulation ==
== User-mode emulation ==
* support for several more system calls and parameters
* support for several more system calls and parameters

Revision as of 13:35, 20 February 2014

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 disassembling (requires a C++ compiler to be installed on the host)
  • 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
  • Prep is not anymore (incorrectly) included in qemu-system-ppcemb

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).
  • Support for the Hyper-V reference time counter via the "hv-time" suboption of "-cpu". This can improve performance of Windows guests substantially for applications that do many floating-point or SIMD operations. (Requires KVM and Linux 3.14).

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
  • Improved error messages for many operations
  • QEMU can access NFSv3 shares directly from userspace using libnfs. The share must be configured to allow access from high-numbered ports

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 QMP commands object-add and object-del for generic object hotplug (enables virtio-rng hotplug)
  • New HMP commands object_add and object_del for generic object hotplug
  • Improved command-line completion for device_add and device_del (as well as the new commands object_add and object_del)

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