ChangeLog/2.2: Difference between revisions

From QEMU
(→‎s390: as of b1d28ec6a7dbdaadda39d29322f0de694aeb0b74)
(update as of 0a2923f8488498000eec54871456aa64a4391da4)
Line 10: Line 10:
=== ARM ===
=== ARM ===
* Initial support for emulation of hypervisor (EL2) and secure (EL3) privilege levels
* Initial support for emulation of hypervisor (EL2) and secure (EL3) privilege levels
* Support for loading a device tree even with no -kenel option or when booting ELF images
* Support for loading a device tree even with no -kernel option or when booting ELF images
* Support for input interrupts in the PL061 GPIO controller
* Support for input interrupts in the PL061 GPIO controller
* TCG can emulate breakpoints and watchpoints.
* TCG can emulate breakpoints and watchpoints.
* The PSCI can be emulated even when running without KVM.
=== LM32 ===
=== LM32 ===
=== Microblaze ===
=== Microblaze ===
=== MIPS ===
=== MIPS ===
* ??? See "target-mips: define ISA_MIPS64R6" and nearby commits ???
=== PowerPC ===
=== PowerPC ===
* Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
* Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
Line 33: Line 35:
* New target.
* New target.
=== x86 ===
=== x86 ===
* Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with "-machine iommu=on"
* Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with "-machine iommu=on".
* Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide)
* Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide)
* Support for AVX512 emulation.


==== KVM ====
==== KVM ====
Line 52: Line 55:
* Support for ARI forwarding on PCIe root ports.
* Support for ARI forwarding on PCIe root ports.
==== USB ====
==== USB ====
* Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, only if there are no companion controllers)
* Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, only if there are no companion controllers).
* Support for USB 2.0 (high speed) mice and keyboards, complementing the existing support for high speed USB tablets.  High speed devices avoid the less efficient UHCI controller, and thus use less CPU on the host.
==== VFIO  ====
==== VFIO  ====
=== Character devices ===
* Support for automatic reconnection of client sockets (e.g. "-chardev socket,host=localhost,port=12345,nowait,reconnect=5").
=== GUI ===
=== GUI ===
=== Monitor ===
=== Monitor ===
* The "info pcmcia" command was removed.  PCMCIA hotplug was never implemented, and thus the command could only return static information.
=== Migration ===
=== Migration ===
=== Network ===
=== Network ===

Revision as of 13:45, 3 November 2014

System emulation

Incompatible changes

Future incompatible changes

  • Three options are using different names on the command line and in configuration file. In particular:
    • The "acpi" configuration file section matches command-line option "acpitable";
    • The "boot-opts" configuration file section matches command-line option "boot";
    • The "smp-opts" configuration file section matches command-line option "smp".
Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the command line option.

ARM

  • Initial support for emulation of hypervisor (EL2) and secure (EL3) privilege levels
  • Support for loading a device tree even with no -kernel option or when booting ELF images
  • Support for input interrupts in the PL061 GPIO controller
  • TCG can emulate breakpoints and watchpoints.
  • The PSCI can be emulated even when running without KVM.

LM32

Microblaze

MIPS

  • ??? See "target-mips: define ISA_MIPS64R6" and nearby commits ???

PowerPC

  • Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
  • Bugfixes and optimization for TCG emulation of PowerPC targets.

IBM (pSeries)

  • Support for the "nmi" monitor command, to enter the kernel debugger.

Freescale (BookE)

  • Breakpoint support on KVM.

s390

  • Enhance support for boot from DASD to handle more formats.
  • Support for memory hotplug.
  • Support for cpu state handling and migration.

SPARC

  • Emulation of TCX hardware acceleration.

TriCore

  • New target.

x86

  • Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with "-machine iommu=on".
  • Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide)
  • Support for AVX512 emulation.

KVM

  • More robust live migration of the kvm pv clock

Xen

  • QEMU can now boot a bzImage or multiboot kernel under Xen, using the command line option -kernel.

Xtensa

Device emulation and assignment

SCSI

  • Passthrough of vendor-specific commands now works (only with the virtio-scsi HBA).
  • Initial support in virtio-scsi for a threaded backend, which is used in the same way as virtio-blk ("-object iothread,id=id" and "-device virtio-scsi-pci,iothread=id"). Note that the code has known thread-safety problems that can lead to QEMU using freed memory. They should not happen in normal use, they can be triggered easily by malicious guests. This option should only be used if you are interested in making relevant parts of QEMU thread safe.
  • virtio-scsi can now execute Abort Task and Abort Task Set task management functions asynchronously.

PCI/PCIe

  • MSIs are now (correctly) disabled until bus master DMA is enabled for the device.
  • Support for ARI forwarding on PCIe root ports.

USB

  • Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, only if there are no companion controllers).
  • Support for USB 2.0 (high speed) mice and keyboards, complementing the existing support for high speed USB tablets. High speed devices avoid the less efficient UHCI controller, and thus use less CPU on the host.

VFIO

Character devices

  • Support for automatic reconnection of client sockets (e.g. "-chardev socket,host=localhost,port=12345,nowait,reconnect=5").

GUI

Monitor

  • The "info pcmcia" command was removed. PCMCIA hotplug was never implemented, and thus the command could only return static information.

Migration

Network

Block devices in system emulation

  • Many fixes to AHCI emulation.
  • The list of functionality now supported in threaded virtio-blk backend is growing: new in 2.2 are resizing of disks, device hot-unplug, and the embedded NBD server.

Various

Block devices and tools

  • Support for Archipelago as a QEMU block backend
  • QEMU is more resistent against failure of large allocations in the block layer
  • Support for Parallels images larger than 2TB.
  • Network-based drivers (NBD, libiscsi, etc.) now work on Win32 hosts too.
  • qemu-img source cache option?
  • qemu-nbd has a new --detect-zeroes option.

TCG

  • In icount mode, it is possible to slow down emulation to match the requested CPU frequency (thus ensuring that the host and guest clocks remain aligned). This is enabled with "-icount N,align=on".
  • A new "victim TLB" provides a 5-10% performance improvement.

Tracing

  • QEMU provides a SystemTap script that outputs binary trace data, for use in flight-recorder mode. The resulting traces can be parsed with QEMU's simpletrace.py script (using the --no-header command-line option).

User-mode emulation

Build dependencies

Known issues