ChangeLog/2.0: Difference between revisions
(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