ChangeLog/2.12: Difference between revisions

From QEMU
(→‎Monitor: QMP oob processing)
Line 24: Line 24:
* The parameter "handle" of the "-fsdev" and "-virtfs" options is now depecrated. Use "local" instead.
* The parameter "handle" of the "-fsdev" and "-virtfs" options is now depecrated. Use "local" instead.
* The qmp command "query-cpus" is now deprecated. Use the new "query-cpus-fast" qmp command instead, which does not interrupt all running vCPUs.
* The qmp command "query-cpus" is now deprecated. Use the new "query-cpus-fast" qmp command instead, which does not interrupt all running vCPUs.
* While "-net" is not deprecated yet, you are encouraged to use the new option "-nic" instead of "-net", as it provides a simpler and better interface ("-nic user" replaces the old "-net nic -net user").


Consult the [https://qemu.weilnetz.de/doc/qemu-doc.html#Deprecated-features "Deprecated Features"] appendix for the full list of historically deprecated features/options.
Consult the [https://qemu.weilnetz.de/doc/qemu-doc.html#Deprecated-features "Deprecated Features"] appendix for the full list of historically deprecated features/options.

Revision as of 11:11, 21 March 2018

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
  • 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).
  • The parameter "handle" of the "-fsdev" and "-virtfs" options is now depecrated. Use "local" instead.
  • The qmp command "query-cpus" is now deprecated. Use the new "query-cpus-fast" qmp command instead, which does not interrupt all running vCPUs.
  • While "-net" is not deprecated yet, you are encouraged to use the new option "-nic" instead of "-net", as it provides a simpler and better interface ("-nic user" replaces the old "-net nic -net user").

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
  • Support for sclp-based memory hotplug has been removed. It was incompatible with memory hotplug semantics on any other architecture, and has never worked correctly with regard to migration. You can still specify a 'maxmem=' parameter on the command line, but no standby memory will be available to the guest. This feature may be reintroduced with a s390x-specific interface in future releases.
  • support for boot menu via the s390-ccw bios
  • expose s390x guest crash information

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

  • Added variant instructions of JEQ and JNE
  • Added 64 bit MOV instruction
  • Added CORE_ID register

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

  • No longer send spurious EINTR back to the guest on request cancellation (ie, when I/O was interrupted by a signal in the guest)

Character devices

Crypto subsystem

GUI

Host support

Monitor

  • A new qmp command, "query-cpus-fast", has been introduced to obtain information about vCPUs without the need to interrupt running vCPUs. In turn, "query-cpus" has been deprecated.
    • The "info cpus" hmp command has been switched to use "query-cpus-fast" as a backend.
  • The QMP monitor now advertises a new "oob" capability on initial connection; if the client requests this capability during "qmp_capabilities", then the client can request that certain QMP commands be processed out-of-band (where a reply may occur prior to a longer-running previous in-band command).

Migration

Network

Block devices and tools

  • Host NVMe controllers can be directly driven by QEMU via VFIO, with the new nvme:// protocol.
  • The QEMU NBD implementation (both as server and as client) has learned support for more efficient reads of sparse files (via structured reads), and for querying block status to learn which portions of an NBD export read as zeroes (via NBD_CMD_BLOCK_STATUS on the base:allocation namespace).

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