ChangeLog/1.4

From QEMU
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.