ChangeLog/1.4: Difference between revisions

From QEMU
(Mention CPU being a device now.)
(added entry for websockets)
 
(3 intermediate revisions by 3 users not shown)
Line 2: Line 2:


=== Device emulation ===
=== Device emulation ===
 
<!--
* New QOM infrastructure was introduced, exposing a boolean "realized" property.
* New QOM infrastructure was introduced, exposing a boolean "realized" property.
* The CPU is now a device. Adding CPUs via -device or HMP/QMP device_add is not supported yet.
* The CPU is now a device. Adding CPUs via -device or HMP/QMP device_add is not supported yet.
 
-->
==== Device assignment ====
==== Device assignment ====
* Improved support for MSI-X on some Mellanox devices.
* VFIO supports PCIe extended configuration space.


==== USB ====
==== USB ====
* Various CPU usage and throughput improvements for USB 2.0.
* usb-tablet can be connected as an USB 2.0 device, also lowering the CPU usage substantially.
* Improved support for pass-through of USB serial devices.
* A new device usb-bot is the same as usb-storage, but is configured like other SCSI adapters and supports multiple LUNs.
==== Network ====
* virtio-net supports multiqueue operation.
==== Other ====
* Added support for IndustryPack emulation.  The TEWS TPCI200 device emulation (device "tpci200") hosts IndustryPack modules, and the GE IP-Octal 232 emulation (device "ipoctal232") implements eight RS-232 serial ports.


=== ARM ===
=== ARM ===
* Various minor bugfixes; no new features in this release.
* Various minor bugfixes; no new features in this release.


=== MIPS ===
=== MIPS ===
* Improved support for DSP instructions.


=== PowerPC ===
=== PowerPC ===
* Pseries: NVRAM support for improved guest installation experience
* pSeries: NVRAM support for improved guest installation experience
* G3/G4: Allow dcbzl (for Mac OS X guests)
* G3/G4: Allow dcbzl (for Mac OS X guests)
* e500: Linux guests don't use use SWTLB anymore, freeing memory for real applications
* e500: Linux guests don't use use SWTLB anymore, freeing memory for real applications
Line 25: Line 37:
* e500: Emulate the EPR facility (e500mc and above)
* e500: Emulate the EPR facility (e500mc and above)
* PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel port. Changing the chipset configuration register at runtime is not yet supported.
* PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel port. Changing the chipset configuration register at runtime is not yet supported.
* g3beige: New openBIOS version can load Mac OS X guests


=== S390 ===
=== S390 ===
* New virtio-ccw machine and transport support
* New virtio-ccw machine and transport support
* Add -cpu ? support
* Add -cpu ? support
* Improved support for S390 emulation.


=== x86 ===
=== x86 ===
* testdev?
* Generation of APIC IDs for NUMA configuration is now compatible with the Intel® 64 Architecture Processor Topology Enumeration
* xlevel argument for -cpu option currently silently fix-ups it's value if it's less than 0x80000000. Fix-up will be removed in future QEMU versions and users are expected to provide valid xlevel value or QEMU will fail to start.
* Many fixes to the Q35 chipset emulation, including experimental AHCI migration support and support for device assignment.
* Resetting the machine with a write to port 0xCF9 now works.
* The xlevel argument for -cpu option currently silently fix-ups the user-provided value if it's less than 0x80000000. This will be removed in future QEMU versions; users are expected to provide valid xlevel value or QEMU will fail to start.


==== KVM ====
==== KVM ====
* New devices isa-debug-exit and pc-testdev can be used to run kvm-unit-tests.


==== Xen ====
==== Xen ====
* persistent grants support implemented in xen_disk (up to 450% speed in improvement with 15 guests!!);
* Persistent grants support implemented in xen_disk, giving substantial performance improvements.
* safer and correcter flush operation (BLKIF_OP_FLUSH_DISKCACHE) introduced in xen_disk;
* xen_disk supports BLKIF_OP_FLUSH_DISKCACHE, making the device safer against power losses.
* multiple secondary PV consoles support in xen_console;
* xen_console supports multiple secondary PV consoles.
* many bug fixes.


=== QMP ===
=== QMP ===
 
* New commands chardev-add and chardev-del add support for hotplugging character devices.
=== Network devices ===
* New ringbuf-read/ringbuf-write to read and write to memory chardevs
 
* Various improvements in error messages
==== SLIRP ====


=== Block devices ===
=== Block devices ===
* Discard operations are now supported on block devices and on filesystems other than XFS.  They are also fully asynchronous now.
* Block device mirroring (also known as storage migration) performance was greatly improved.
* New experimental threaded backend for virtio-block-pci.  This new backend achieves several times the IOPS of the existing virtio-blk implementation; for now it can only be used for raw image files and disables features such as live snapshots and storage migration.


=== Live Migration ===
=== Live Migration ===
* Moved migration from a timer to a thread, improving latency in other parts of QEMU and throughput of migration itself
* Many machine models are now correctly marked as not migratable.
=== Spice ===
* A new spiceport character device can be used to support arbitrary communication between the SPICE server on the host and the client.


Move migration from a timer to a thread.  Migration was blocking the iothread for too long.  Latency of the other threads have improved, and measurements/throughput/latency of migration has also improved.
=== VNC ===
* Added support for the Websocket protocol.


== User-mode emulation ==
== User-mode emulation ==
* Fix ppc guest signal handling
* Fix ppc guest signal handling
* Fix MIPS target
* Fix MIPS target


== Guest agent ==
== Guest agent ==
* qemu-ga supports hooks that are executed when the guest receives the guest-fsfreeze-freeze and guest-fsfreeze-thaw commands


== Host support ==
== Host support ==
* Native asynchronous I/O for Win32 (introduced in 1.3) now actually works.

Latest revision as of 12:24, 19 February 2013

System emulation

Device emulation

Device assignment

  • Improved support for MSI-X on some Mellanox devices.
  • VFIO supports PCIe extended configuration space.

USB

  • Various CPU usage and throughput improvements for USB 2.0.
  • usb-tablet can be connected as an USB 2.0 device, also lowering the CPU usage substantially.
  • Improved support for pass-through of USB serial devices.
  • A new device usb-bot is the same as usb-storage, but is configured like other SCSI adapters and supports multiple LUNs.

Network

  • virtio-net supports multiqueue operation.

Other

  • Added support for IndustryPack emulation. The TEWS TPCI200 device emulation (device "tpci200") hosts IndustryPack modules, and the GE IP-Octal 232 emulation (device "ipoctal232") implements eight RS-232 serial ports.

ARM

  • Various minor bugfixes; no new features in this release.

MIPS

  • Improved support for DSP instructions.

PowerPC

  • pSeries: NVRAM support for improved guest installation experience
  • G3/G4: Allow dcbzl (for Mac OS X guests)
  • e500: Linux guests don't use use SWTLB anymore, freeing memory for real applications
  • e500: MSI support
  • e500: Allow for up to 31 PCI devices with -M ppce500
  • e500: Support idle hcall when running KVM on e500mc or above
  • e500: Emulate the EPR facility (e500mc and above)
  • PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel port. Changing the chipset configuration register at runtime is not yet supported.

S390

  • New virtio-ccw machine and transport support
  • Add -cpu ? support
  • Improved support for S390 emulation.

x86

  • Generation of APIC IDs for NUMA configuration is now compatible with the Intel® 64 Architecture Processor Topology Enumeration
  • Many fixes to the Q35 chipset emulation, including experimental AHCI migration support and support for device assignment.
  • Resetting the machine with a write to port 0xCF9 now works.
  • The xlevel argument for -cpu option currently silently fix-ups the user-provided value if it's less than 0x80000000. This will be removed in future QEMU versions; users are expected to provide valid xlevel value or QEMU will fail to start.

KVM

  • New devices isa-debug-exit and pc-testdev can be used to run kvm-unit-tests.

Xen

  • Persistent grants support implemented in xen_disk, giving substantial performance improvements.
  • xen_disk supports BLKIF_OP_FLUSH_DISKCACHE, making the device safer against power losses.
  • xen_console supports multiple secondary PV consoles.

QMP

  • New commands chardev-add and chardev-del add support for hotplugging character devices.
  • New ringbuf-read/ringbuf-write to read and write to memory chardevs
  • Various improvements in error messages

Block devices

  • Discard operations are now supported on block devices and on filesystems other than XFS. They are also fully asynchronous now.
  • Block device mirroring (also known as storage migration) performance was greatly improved.
  • New experimental threaded backend for virtio-block-pci. This new backend achieves several times the IOPS of the existing virtio-blk implementation; for now it can only be used for raw image files and disables features such as live snapshots and storage migration.

Live Migration

  • Moved migration from a timer to a thread, improving latency in other parts of QEMU and throughput of migration itself
  • Many machine models are now correctly marked as not migratable.

Spice

  • A new spiceport character device can be used to support arbitrary communication between the SPICE server on the host and the client.

VNC

  • Added support for the Websocket protocol.

User-mode emulation

  • Fix ppc guest signal handling
  • Fix MIPS target

Guest agent

  • qemu-ga supports hooks that are executed when the guest receives the guest-fsfreeze-freeze and guest-fsfreeze-thaw commands

Host support

  • Native asynchronous I/O for Win32 (introduced in 1.3) now actually works.