ChangeLog/2.0: Difference between revisions

From QEMU
(add 2.0 changes as of 8cfc114a2f293c40077d1bdb7500b29db359ca22)
No edit summary
Line 14: Line 14:


=== x86 ===
=== x86 ===
* On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like
* On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like on real hardware.
on real hardware.
* The Q35 machine now supports CPU hotplug.
* The Q35 machine now supports CPU hotplug.
* Two flash chips can be specified using the "-drive if=pflash" or "-pflash"
* Two flash chips can be specified using the "-drive if=pflash" or "-pflash" options twice.
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.
* 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.
* Support for migration of Intel MPX registers.
* The Apple SMC device is now exposed in the ACPI tables.
* The Apple SMC device is now exposed in the ACPI tables.
* PCI hotplug now supports devices behind a bridge (only for bridges not added
* 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).
by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug
Controller).


==== Xen ====
==== Xen ====
Line 35: Line 27:
=== Device emulation ===
=== Device emulation ===
==== SCSI ====
==== SCSI ====
* the SCSI layer can offload the WRITE SAME command to the host storage.  This
* 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.
is supported on XFS file systems, raw devices, and iSCSI targets.


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


=== Block devices ===
=== Block devices ===
* when the destination of "qemu-img convert" is a raw device, can ask the host
* when the destination of "qemu-img convert" is a raw device, can ask the host storage to "discard" it instead of writing zeroes
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 be passed a "-S 0" option to create a fully allocated
* "qemu-img convert" can use hints from the host storage to speed up the transfer
image
* Live snapshot merge (...-commit) can be used to merge the active layer of an image into one of the snapshots
* "qemu-img convert" can use hints from the host storage to speed up the
* Live and offline snapshot merge ("commit") will resize the destination image if necessary.
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 <!-- and Gluster --> backends support snapshot merge.
* The iSCSI <!-- and Gluster --> backends support snapshot merge.
* 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
* 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.
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
* "query-block-stats" provides statistics for all images in the chain of backing files.
backing files.
* node-name, query-named-block-nodes: external snapshot, resize, change password
* node-name, query-named-block-nodes: external snapshot, resize, change password


Line 75: Line 55:
=== Monitor ===
=== Monitor ===
* New HMP command cpu-add for CPU hotplug.
* New HMP command cpu-add for CPU hotplug.
* New HMP commands object-add and object-del for generic object hotplug (enables
* New HMP commands object-add and object-del for generic object hotplug (enables virtio-rng hotplug).
virtio-rng hotplug).
* New QMP commands object_add and object_del for generic object hotplug.
* New QMP commands object_add and object_del for generic object hotplug.



Revision as of 17:17, 5 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 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