ChangeLog/2.12

From QEMU

Warning: unsupported host systems

Unsupported host setups are CPU and operating systems which we do not have access to and are thus unable to test. They will continue to work in this release (though configure will warn you about the unsupported status), but in a future QEMU release we may drop support for those hosts unless somebody volunteers to help us with maintaining them (and can provide build/CI machines).

This affects the OSes:

  • GNU/kFreeBSD
  • DragonFly BSD
  • OpenBSD (we have a build system for OpenBSD but stil need people who want to help us with supporting and improving QEMU on this OS)
  • Solaris
  • Haiku

System emulation

Incompatible changes

  • The deprecated CLI options "-no-kvm-pit" and "-drive boot=on|off" have been removed (they only emitted a warning since QEMU 1.3.0).
  • The deprecated CLI option "-net channel" has been removed. You can use "-netdev user,guestfwd=..." instead.
  • The deprecated CLI option "-hdachs" has been removed. You can specify the disk geometry e.g. via -device ide-hd,cyls=c,heads=h,secs=s instead.
  • The HMP commands "usb_add" and "usb_del" have been removed. Use "device_add" and "device_del" as replacement instead.
  • The deprecated "spapr-pci-vfio-host-bridge" device has been removed (from qemu-system-ppc64). It is not needed for vfio since QEMU v2.6.0 anymore.

Deprecated options and features

  • qemu-system-ppcemb is deprecated. Use qemu-system-ppc instead.
  • The parameters "serial", "trans", "secs", "heads", "cyls" and "addr" of the "-drive" option are now deprecated. Use the corresponding options of "-device" instead.
  • The "-nodefconfig" option is now deprecated. Use "-no-user-config" instead.
  • The "-s390-squash-mcss" parameter for the s390-ccw-virtio machine is now deprecated. It has been made obsolete by allowing to put any device into any channel subsystem image (unrestricted cssids).

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

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".
-readconfig will standardize on the name for the command line option.
  • Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
  • Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
  • For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
  • The read-only block drivers "bochs", "cloop" and "dmg" as well as "rbd" and "vvfat" in certain read-only configurations will no longer enable read-only mode automatically. It will be necessary to specify "read-only=on" explicitly on the command line and in QMP commands for the setup to keep working; the default "read-only=off" setting will result in an error.
  • On s390x, using KVM with a Linux host kernel version < 3.15 has been broken since QEMU version 2.10. This will not be fixed unless a need is communicated (otherwise the code will be removed in the near future, so that you need at least Linux kernel version 3.15 on the host to run KVM on System z)

Alpha

68k

ARM

Microblaze

MIPS

Nios2

OpenRISC

PowerPC

pSeries

s390

  • unrestrict cssids: any device can now live in any channel subsystem image (no more virtual/non-virtual restrictions)
    • this obsoletes the -s390-squash-mcss machine option
  • pci: refactor and improve code, including handling of subregions
    • virtio-pci devices that use MSI-X can now be used on s390x

TCG

  • Rework of interrupt handling
  • Implementation of missing instructions: SCKPF, STCRW, SAL, SCHM,
  • Change qemu cpu model to a stripped down z12
    • Can now boot recent Linux distributions (Fedora 26/27, Ubuntu 18.04,...)
  • SMP support is now considered non-experimental
  • PCI can now be used in tcg as well (add 'zpci=on' to the cpu model)

KVM

  • allow for systems larger than 7.999TB

SH

SPARC

  • Split sun4u APB device into separate Sabre, Simba and IOMMU devices and wire up using QOM/qdev instead of legacy init functions
  • Add trace-events support for sun4u Sabre, IOMMU, and ebus devices (plus shared sparc64 functions)
  • Add sun4u power device (including SUNW,power-off CIF service support)
  • Add "power-off" command to OpenBIOS for sun4m and sun4u
  • Fix leon3 irqmp software ACK
  • Fix sparc_cpu_get_phys_page_debug() accesses to IO addresses

TileGX

Tricore

x86

KVM

Xen

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

Graphics

Input devices

IPMI

Network devices

PCI/PCIe

SCSI

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

Character devices

Crypto subsystem

GUI

Host support

Monitor

Migration

Network

Block devices and tools

  • Host NVMe controllers can be directly driven by QEMU via VFIO, with the new nvme:// protocol.

User-mode emulation

TCG

  • Generic Vectors Support - a new extension to the TCG register types for better handling of SIMD registers

Guest agent

Build Information

GIT submodules

Build Dependencies

  • gtk2 support is deprecated, gtk3 should be used instead.

Known issues